##### 7.5.20.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;
    ==> // coefficients: QQ(a, b) considered as a field
    ==> // 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.4.1, 2025, generated by texi2html.