|  |  7.5.8.0. findInvo Procedure from libraryinvolut.lib(see  involut_lib).
 
Example:Usage:
findInvo();
Return:
a ring containing a list L of pairs, 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:
computed the ideal of linear 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 idJand the initial matrix with indeterminatesmatDare exported in the output ring
 See also:
 findInvoDiag;
 involution.|  | LIB "involut.lib";
def a = makeWeyl(1);
setring a; // this algebra is a first Weyl algebra
a;
==> // coefficients: QQ
==> // number of vars : 2
==> //        block   1 : ordering dp
==> //                  : names    x D
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    Dx=xD+1
def X = findInvo();
setring X; // ring with new variables, corr. to unknown coefficients
X;
==> // coefficients: QQ
==> // number of vars : 4
==> //        block   1 : ordering dp
==> //                  : names    a11 a12 a21 a22
==> //        block   2 : ordering C
L;
==> [1]:
==>    [1]:
==>       _[1]=a11+a22
==>       _[2]=a12*a21+a22^2-1
==>    [2]:
==>       _[1,1]=-a22
==>       _[1,2]=a12
==>       _[2,1]=a21
==>       _[2,2]=a22
// look at the matrix in the new variables, defining the linear involution
print(L[1][2]);
==> -a22,a12,
==> a21, a22 
L[1][1];  // where new variables obey these relations
==> _[1]=a11+a22
==> _[2]=a12*a21+a22^2-1
idJ;
==> idJ[1]=-a12*a21+a11*a22+1
==> idJ[2]=a11^2+a12*a21-1
==> idJ[3]=a11*a12+a12*a22
==> idJ[4]=a11*a21+a21*a22
==> idJ[5]=a12*a21+a22^2-1
 | 
 
 |