Top
Back: References (plural)
Forward: LETTERPLACE
FastBack: Mathematical background (plural)
FastForward: Examples
Up: Non-commutative subsystem
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.5 Super-commutative algebras

This section describes basic mathematical notions, definition, and a little bit the implementation of the experimental non-commutative kernel extension SCA of SINGULAR which improves performance of many algorithms in super-commutative algebras.

In order to improve performance of SINGULAR in specific non-commutative algebras one can extend the internal implementation for them in a virtual-method-overloading-like manner. At the moment super-commutative algebras (SCA) and in particular exterior algebras are implemented this way.

Note that super-commutative algebras require no special user actions apart from defining an appropriate non-commutative GR-algebra in SINGULAR. Upon doing that, the supper-commutative structure will be automatically detected and special multiplication will be used. Moreover, in most SCA-aware (e.g. std) algorithms special internal improvements will be used (otherwise standard generic non-commutative implementations will be used).

All considered algebras are assumed to be associative $K$-algebras for some ground field $K$.

  • Definition

    Super-commutative algebras are factors of tensor products of any commutative algebras and an exterior algebra over $K$. They are also known as $Z_2$-graded algebras since they have natural $Z_2$-grading where anti-commutative algebra generators have degree $1$ and commutative algebra generators (and naturally scalars) have degree $0$.

  • GR-algebra representation

    A super-commutative algebra with $n$ commutative and $m$ anti-commutative algebra generators can be represented as factors of the following GR-algebra by some two-sided ideal:

    \begin{displaymath}K\left\langle x_1, \ldots, x_n; y_1, \ldots, y_m \mid y_j * y...
...right\rangle / \left\langle y_1^2, \ldots, y_m^2 \right\rangle.\end{displaymath}

  • Distinctive features

    Super-commutative algebras have zero divisors if $m > 0$: $y_i * y_i = 0$.

    Unlike other non-commutative algebras one may use any monomial ordering where only the non-commutative variables are required to be global. In particular, commutative variables are allowed to be local. This means that one can work in tensor products of any commutative ring with an exterior algebra.

  • Example of defining super-commutative algebras in SINGULAR
     
    LIB "nctools.lib";
    ring r = 0,(a, b, x,y,z, Q, W),(lp(2), dp(3), Dp(2));
    // Let us make variables x = var(3), ..., z = var(5) to be anti-commutative
    // and add additionally a quotient ideal:
    def S = superCommutative(3, 5, ideal(a*W + b*Q*x + z) ); setring S; S;
    ==> //   characteristic : 0
    ==> //   number of vars : 7
    ==> //        block   1 : ordering lp
    ==> //                  : names    a b 
    ==> //        block   2 : ordering dp
    ==> //                  : names    x y z 
    ==> //        block   3 : ordering Dp
    ==> //                  : names    Q W 
    ==> //        block   4 : ordering C
    ==> //   noncommutative relations:
    ==> //    yx=-xy
    ==> //    zx=-xz
    ==> //    zy=-yz
    ==> // quotient ring from ideal
    ==> _[1]=z2
    ==> _[2]=xz
    ==> _[3]=y2
    ==> _[4]=x2
    ==> _[5]=bxyQ-yz
    ==> _[6]=aW+bxQ+z
    ideal I = a*x*y + z*Q + b, y*Q + a; I;
    ==> I[1]=axy+b+zQ
    ==> I[2]=a+yQ
    std(I); // Groebner basis is used here since > is global
    ==> _[1]=yQW-z
    ==> _[2]=yz
    ==> _[3]=b+zQ
    ==> _[4]=a+yQ
    kill r;
    // Let's do the same but this time with some local commutative variables:
    ring r = 0,(a, b, x,y,z, Q, W),(dp(1), ds(1), lp(3), ds(2));
    def S = superCommutative(3, 5, ideal(a*W + b*Q*x + z) ); setring S; S;
    ==> // ** redefining S **
    ==> //   characteristic : 0
    ==> //   number of vars : 7
    ==> //        block   1 : ordering dp
    ==> //                  : names    a 
    ==> //        block   2 : ordering ds
    ==> //                  : names    b 
    ==> //        block   3 : ordering lp
    ==> //                  : names    x y z 
    ==> //        block   4 : ordering ds
    ==> //                  : names    Q W 
    ==> //        block   5 : ordering C
    ==> //   noncommutative relations:
    ==> //    yx=-xy
    ==> //    zx=-xz
    ==> //    zy=-yz
    ==> // quotient ring from ideal
    ==> _[1]=aW+z+bxQ
    ==> _[2]=x2
    ==> _[3]=xz
    ==> _[4]=y2
    ==> _[5]=yz-bxyQ
    ==> _[6]=z2
    ideal I = a*x*y + z*Q + b, y*Q + a; I;
    ==> I[1]=axy+zQ+b
    ==> I[2]=a+yQ
    std(I);
    ==> _[1]=a+yQ
    ==> _[2]=zQ+b
    ==> _[3]=bx
    ==> _[4]=by
    ==> _[5]=bz
    ==> _[6]=b2
    ==> _[7]=yQW-z-bxQ
    

See example of superCommutative from the library nctools.lib.

Reference: Ph.D thesis by Oleksandr Motsak (2009).


Top Back: References (plural) Forward: LETTERPLACE FastBack: Mathematical background (plural) FastForward: Examples Up: Non-commutative subsystem Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-0, Mar 2009, generated by texi2html.