##### 7.5.20.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 considered as a field
    ==> // 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 considered as a field
    ==> // 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 considered as a field
    ==> // 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 considered as a field
    ==> // 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 ].

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