|
7.7.3 Functionality and release notes of LETTERPLACE
Over free associative algebras over fields or over a ring
,
one can perform many different computations with arbitrary two-sided ideals.
It is possible to define a free bimodule of a fixed finite rank and also
work with subbimodules of such. Groebner bases and related tools are thoroughly
implemented, with respect to a variety of monomial module orderings.
The variables can be weighted by nonnegative weights, which are determined by the 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 use
imap for mapping the objects back and forth.
- All the computations happen up to the length bound, which is
explicitly fixed during the definition of the current ring.
- The options
redSB, redTail are effective for computations involving Groebner bases,
- The options
prot, mem are 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 multiplication
In such a situation, activating option(redSB) , option(redTail) and increasing the
length (degree) bound might help. Though there are situations, where nothing leads to a finite
computation simply while the nature of non-Noetherian rings is so.
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); // left-normed iterated bracket [f,[f,x]]
==> -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 ncfactor for factorizing polynomials in the Letterplace ring.
See
bracket;
maxideal;
reduce (letterplace);
rightstd (letterplace);
std (letterplace);
twostd (letterplace).
|