##### 7.5.8.0. findInvoDiag

Procedure from library `involut.lib` (see involut_lib).

Usage:
  findInvoDiag();

Return:
  a ring together with a list of pairs L, where
  L[i][1] = ideal; a Groebner Basis of an i-th associated prime,
  L[i][2] = matrix, defining a linear map, with entries, reduced with respect to L[i][1]

Purpose:
  compute homothetic (diagonal) involutions of the basering

Assume:
  the relations on the algebra are of the form YX = XY + D, that is the current ring is a G-algebra of Lie type.

Note:
  for convenience, the full ideal of relations `idJ` and the initial matrix with indeterminates `matD` are exported in the output ring

Example:

    LIB "involut.lib";
    def a = makeWeyl(1);
    setring a; // this algebra is a first Weyl algebra
    a;
    ==> // coefficients: QQ considered as a field
    ==> // number of vars : 2
    ==> //        block   1 : ordering dp
    ==> //                  : names    x D
    ==> //        block   2 : ordering C
    ==> // noncommutative relations:
    ==> //    Dx=xD+1
    def X = findInvoDiag();
    setring X; // ring with new variables, corresponding to unknown coefficients
    X;
    ==> // coefficients: QQ considered as a field
    ==> // number of vars : 2
    ==> //        block   1 : ordering dp
    ==> //                  : names    a11 a22
    ==> //        block   2 : ordering C
    // print matrices, defining linear involutions
    print(L[1][2]);  // a first matrix: we see it is constant
    ==> -1,0,
    ==> 0, 1
    print(L[2][2]);  // and a second possible matrix; it is constant too
    ==> 1,0,
    ==> 0,-1
    L; // let us take a look on the whole list
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=a22-1
    ==>       _[2]=a11+1
    ==>    [2]:
    ==>       _[1,1]=-1
    ==>       _[1,2]=0
    ==>       _[2,1]=0
    ==>       _[2,2]=1
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=a22+1
    ==>       _[2]=a11-1
    ==>    [2]:
    ==>       _[1,1]=1
    ==>       _[1,2]=0
    ==>       _[2,1]=0
    ==>       _[2,2]=-1
    idJ;
    ==> idJ[1]=a11*a22+1
    ==> idJ[2]=a11^2-1
    ==> idJ[3]=a22^2-1

See also: findInvo; involution.

User manual for Singular version 4.4.1, 2025, generated by texi2html.