|  |  7.5.19.0. findimAlgebra Procedure from librarynctools.lib(see  nctools_lib).
 
Example: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.
 |  | 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;
==> // coefficients: QQ(a, b)
==> // 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
 | 
 
 |