| ##### 7.7.15.0. findimAlgebra Procedure from library `nctools.lib` (see nctools_lib). Usage: findimAlgebra(M,[r]); M a matrix, r an optional ring Return: ring Purpose: define a finite dimensional algebra structure on a ring Note: the matrix M is used to define the relations x(i)*x(j) = M[i,j] in the basering (by default) or in the optional ring r. The procedure equips the ring with the noncommutative structure. The procedure exports the ideal (not a two-sided Groebner basis!), called `fdQuot`, for further qring definition. Theory: finite dimensional algebra can be represented as a factor algebra of a G-algebra modulo certain two-sided ideal. The relations of a f.d. algebra are thus naturally divided into two groups: firstly, the relations on the variables of the ring, making it into G-algebra and the rest of them, which constitute the ideal which will be factored out. Example:
    LIB "nctools.lib";
    ring r=(0,a,b),(x(1..3)),dp;
    matrix S[3][3];
    S[2,3]=a*x(1); S[3,2]=-b*x(1);
    def A=findimAlgebra(S); setring A;
    fdQuot = twostd(fdQuot);
    qring Qr = fdQuot;
    Qr;
    ==> //   characteristic : 0
    ==> //   2 parameter    : a b
    ==> //   minpoly        : 0
    ==> //   number of vars : 3
    ==> //        block   1 : ordering dp
    ==> //                  : names    x(1) x(2) x(3)
    ==> //        block   2 : ordering C
    ==> //   noncommutative relations:
    ==> //    x(3)x(2)=(-b)/(a)*x(2)*x(3)
    ==> // quotient ring from ideal
    ==> _[1]=x(3)^2
    ==> _[2]=x(2)*x(3)+(-a)*x(1)
    ==> _[3]=x(1)*x(3)
    ==> _[4]=x(2)^2
    ==> _[5]=x(1)*x(2)
    ==> _[6]=x(1)^2

User manual for Singular version 4-0-2, 2015, generated by texi2html.