|
7.8.1 freeAlgebra (letterplace)
Syntax:
freeAlgebra( ring_expression r, int_expression d )
Type:
- ring
Purpose:
- Creates a free (letterplace) ring with the variables of the ring
r up to
the degree (length) bound d , with the monomial ordering, determined
by those on the ring r .
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;
def 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)
attrib(R,"isLetterplaceRing");
==> 3
ring r2 = 0,(x,y,z),lp;
def 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)
attrib(R2,"isLetterplaceRing");
==> 3
|
See
Monomial orderings on free algebras.
|