|
7.5.14.0. superCommutative
Procedure from library nctools.lib (see nctools_lib).
- Usage:
- superCommutative([b,[e, [Q]]]);
- Return:
- qring
- Purpose:
- create a super-commutative algebra (as a GR-algebra) over a basering,
- Note:
- activate this qring with the "setring" command.
- Note:
- if b==e then the resulting ring is commutative.
By default, b=1, e=nvars(basering), Q=0 .
- Theory:
- given a basering, this procedure introduces the anti-commutative relations
var(j)var(i)=-var(i)var(j) for all e>=j>i>=b and creates the quotient
of the anti-commutative algebra modulo the two-sided ideal, generated by
x(b)^2, ..., x(e)^2[ + Q]
- Display:
- If
printlevel > 1, warning debug messages will be printed
Example:
| LIB "nctools.lib";
ring R = 0,(x(1..4)),dp; // global!
def ER = superCommutative(); // the same as Exterior (b = 1, e = N)
setring ER; ER;
==> // coefficients: QQ
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x(1) x(2) x(3) x(4)
==> // block 2 : ordering C
==> // noncommutative relations:
==> // x(2)x(1)=-x(1)*x(2)
==> // x(3)x(1)=-x(1)*x(3)
==> // x(4)x(1)=-x(1)*x(4)
==> // x(3)x(2)=-x(2)*x(3)
==> // x(4)x(2)=-x(2)*x(4)
==> // x(4)x(3)=-x(3)*x(4)
==> // quotient ring from ideal
==> _[1]=x(4)^2
==> _[2]=x(3)^2
==> _[3]=x(2)^2
==> _[4]=x(1)^2
"Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "].";
==> Alternating variables: [ 1 , 4 ].
kill R; kill ER;
ring R = 0,(x(1..4)),(lp(1), dp(3)); // global!
def ER = superCommutative(2); // b = 2, e = N
setring ER; ER;
==> // coefficients: QQ
==> // number of vars : 4
==> // block 1 : ordering lp
==> // : names x(1)
==> // block 2 : ordering dp
==> // : names x(2) x(3) x(4)
==> // block 3 : ordering C
==> // noncommutative relations:
==> // x(3)x(2)=-x(2)*x(3)
==> // x(4)x(2)=-x(2)*x(4)
==> // x(4)x(3)=-x(3)*x(4)
==> // quotient ring from ideal
==> _[1]=x(4)^2
==> _[2]=x(3)^2
==> _[3]=x(2)^2
"Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "].";
==> Alternating variables: [ 2 , 4 ].
kill R; kill ER;
ring R = 0,(x, y, z),(ds(1), dp(2)); // mixed!
def ER = superCommutative(2,3); // b = 2, e = 3
setring ER; ER;
==> // coefficients: QQ
==> // number of vars : 3
==> // block 1 : ordering ds
==> // : names x
==> // block 2 : ordering dp
==> // : names y z
==> // block 3 : ordering C
==> // noncommutative relations:
==> // zy=-yz
==> // quotient ring from ideal
==> _[1]=y2
==> _[2]=z2
"Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "].";
==> Alternating variables: [ 2 , 3 ].
x + 1 + z + y; // ordering on variables: y > z > 1 > x
==> y+z+1+x
std(x - x*x*x);
==> _[1]=x
std(ideal(x - x*x*x, x*x*z + y, z + y*x*x));
==> _[1]=y+x2z
==> _[2]=z+x2y
==> _[3]=x
kill R; kill ER;
ring R = 0,(x, y, z),(ds(1), dp(2)); // mixed!
def ER = superCommutative(2, 3, ideal(x - x*x, x*x*z + y, z + y*x*x )); // b = 2, e = 3
setring ER; ER;
==> // coefficients: QQ
==> // number of vars : 3
==> // block 1 : ordering ds
==> // : names x
==> // block 2 : ordering dp
==> // : names y z
==> // block 3 : ordering C
==> // noncommutative relations:
==> // zy=-yz
==> // quotient ring from ideal
==> _[1]=y+x2z
==> _[2]=z+x2y
==> _[3]=x
==> _[4]=y2
==> _[5]=z2
"Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "].";
==> Alternating variables: [ 2 , 3 ].
|
|