|  |  7.8.1 freeAlgebra (letterplace) 
 
See 
 Monomial orderings on free algebras.Syntax:
 freeAlgebra(ring_expression r, int_expression d)Type:ring
Purpose:Creates a free (letterplace) ring with the variables of the ring rup to
the degree (length) boundd, with the monomial ordering, determined
by those on the ringr.Note:A letterplace ring has an attribute called isLetterplaceRing, which is zero
for non-letterplace rings and contains the number of variables of the free algebra
it encodes, otherwise.Example:|  | LIB "freegb.lib";
ring r = 0,(x,y,z),dp;
ring R = freeAlgebra(r, 7); // this ordering is degree right lex
R;
==> // coefficients: QQ
==> // number of vars : 21
==> //        block   1 : ordering dp
==> //                  : names    x y z x y z x y z x y z x y z x y z x y z
==> //        block   2 : ordering C
==> // letterplace ring (block size 3, ncgen count 0)
attrib(R,"isLetterplaceRing");
==> 3
ring r2 = 0,(x,y,z),lp;
ring R2 = freeAlgebra(r2, 5); // note, that this ordering is NOT left or right lex
R2;
==> // coefficients: QQ
==> // number of vars : 15
==> //        block   1 : ordering a
==> //                  : names    x y z x y z x y z x y z x y z
==> //                  : weights  1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
==> //        block   2 : ordering a
==> //                  : names    x y z x y z x y z x y z x y z
==> //                  : weights  0 1 0 0 1 0 0 1 0 0 1 0 0 1 0
==> //        block   3 : ordering a
==> //                  : names    x y z x y z x y z x y z x y z
==> //                  : weights  0 0 1 0 0 1 0 0 1 0 0 1 0 0 1
==> //        block   4 : ordering lp
==> //                  : names    x y z x y z x y z x y z x y z
==> //        block   5 : ordering C
==> // letterplace ring (block size 3, ncgen count 0)
attrib(R2,"isLetterplaceRing");
==> 3
 | 
 
 |