|  |  7.7.3 Functionality and release notes of LETTERPLACE 
With the present functionality it is possible to compute two-sided Groebner basis
of an arbitrary two-sided ideal in a free associative algebra up to a given degree.
 
The weights of variables are nonnegative and are determined by the current monomial ordering.
 
Restrictions/conventions of the LETTERPLACE subsystem:
 
Since free algebra is not Noetherian, one has to work with explicitly fixed degree (length) bound,
up to which a partial Groebner basis will be computed. The initialization
routine freeAlgebra (letterplace)constructs the ring with this bound. 
For increasing the length bound one needs to define another ring and to useimapfor mapping the objects over.All the computations happen up to the explicitly fixed length bound.
The options redSB, redTailare effective for computations involving Groebner bases,The options prot, memare effective for the whole LETTERPLACE subsystem.For monomial orderings, which are not compatible with the length, the following error
message might appear: 
degree bound of Letterplace ring is 11, but at least 12 is needed for this multiplicationIn such a situation, activatingoption(redSB),option(redTail)and increaing the
length (degree) bound might help. Though there are situations, where nothing leads to a finite
computation. 
Operations for polynomials in Letterplace rings are the usual ones: 
+(addition),-(subtraction),*(multiplication) and^(power). 
The functions  bracket,  maxideal and  std (an alias for  twostd (letterplace)) also work within letterplace rings:
 
 |  | LIB "freegb.lib";
ring r = 0,(x,y,z),dp; // the ordering will be degree right lex
ring R = freeAlgebra(r, 5);  // degree (length) bound is 5
// maxideal in a letterplace ring:
print(matrix(maxideal(2))); // all monomials of length 2
==> x*x,y*x,z*x,x*y,y*y,z*y,x*z,y*z,z*z
// bracket in a letterplace ring:
bracket(x,y);
==> -y*x+x*y
poly f = x*x + x*y - z;
bracket(f,x);
==> x*y*x-x*x*y-z*x+x*z
bracket(f,x,2);
==> -x*y*x*x*x+x*x*y*x*x+x*x*x*y*x+x*y*x*y*x-x*x*x*x*y-2*x*y*x*x*y+x*x*y*x*y+\
   z*x*x*x-x*z*x*x-z*x*y*x-x*x*z*x-x*y*z*x+2*z*x*x*y-x*z*x*y+x*x*x*z+2*x*y*x\
   *z-x*x*y*z+z*z*x-2*z*x*z+x*z*z
 | 
 
Further functionality is provided in the libraries for the LETTERPACE subsystem: 
see  LETTERPLACE libraries for details.
 
In the  freegb_lib one finds e.g. Letterplace initialization together with 
legacy, conversion and convenience tools.
 
The  fpadim_lib contains procedures for computations with vector space basis
of a factor algebra including finiteness check and dimension computation.
 
The  fpaprops_lib contains procedures for determining important ring-theoretic properties
including Gelfand-Kirillov dimension.
 
The  fpalgebras_lib contains procedures for the generation of various algebras, including group algebras of finitely presented groups in the Letterplace ring.
 
The  ncfactor_lib contains the procedure ncfactorfor factorizing polynomials in the Letterplace ring. 
See
 bracket;
 maxideal;
 reduce (letterplace);
 rightstd (letterplace);
 std (letterplace);
 twostd (letterplace).
 
 |