Singular Manual: IsSCA

| ##### 7.5.19.0. IsSCA Procedure from library `nctools.lib` (see nctools_lib). Usage: IsSCA(); Return: int Purpose: returns 1 if basering is a super-commutative algebra and 0 otherwise Example:
    LIB "nctools.lib";
    /////////////////////////////////////////////////////////////////////
    ring R = 0,(x(1..4)),dp; // commutative
    if(IsSCA())
    { "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; }
    else
    { "Not a super-commutative algebra!!!"; }
    ==> Not a super-commutative algebra!!!
    kill R;
    /////////////////////////////////////////////////////////////////////
    ring R = 0,(x(1..4)),dp;
    def S = nc_algebra(1, 0); setring S; S; // still commutative!
    ==> // 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:
    if(IsSCA())
    { "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; }
    else
    { "Not a super-commutative algebra!!!"; }
    ==> Not a super-commutative algebra!!!
    kill R, S;
    /////////////////////////////////////////////////////////////////////
    ring R = 0,(x(1..4)),dp;
    list CurrRing = ringlist(R);
    def ER = ring(CurrRing);
    setring ER; // R;
    matrix E = UpOneMatrix(nvars(R));
    int i, j; int b = 2; int e = 3;
    for ( i = b; i < e; i++ )
    {
    for ( j = i+1; j <= e; j++ )
    {
    E[i, j] = -1;
    }
    }
    def S = nc_algebra(E,0); setring S; S;
    ==> // 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(3)x(2)=-x(2)*x(3)
    if(IsSCA())
    { "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; }
    else
    { "Not a super-commutative algebra!!!"; }
    ==> Not a super-commutative algebra!!!
    kill R, ER, S;
    /////////////////////////////////////////////////////////////////////
    ring R = 0,(x(1..4)),dp;
    def ER = superCommutative(2); // (b = 2, 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(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
    if(IsSCA())
    { "This is a SCA! Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; }
    ==> This is a SCA! Alternating variables: [ 2 , 4 ].
    else
    { "Not a super-commutative algebra!!!"; }
    kill R, ER;

User manual for Singular version 4-1-3, 2020, generated by texi2html.