| ### 7.7.3 Functionality and release notes of LETTERPLACE Over free associative algebras over fields or over a ring 30#30, 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).

User manual for Singular version 4.4.1, 2025, generated by texi2html.