Home Online Manual
Top
Back: lift (letterplace)
Forward: modulo (letterplace)
FastBack:
FastForward:
Up: Singular Manual
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.8.6 liftstd (letterplace)

Syntax:
liftstd ( ideal_expression, matrix_name )
liftstd ( module_expression, matrix_name )
liftstd ( ideal_expression, matrix_name, module_name )
liftstd ( module_expression, matrix_name, module_name )
Type:
ideal or module
Purpose:
returns a Groebner basis of a two-sided ideal or a bimodule and the transformation matrix from the given ideal, resp. module, to the Groebner basis from the output.
That is, if m is the module (or ideal), sm the submodule (or ideal), and T the transformation matrix returned by lift, then the substitution of each ncgen(i) in T by the m[i] delivers a matrix, say N. The i-th generator of sm is equal to the sum of elements in the i-th column of N.
In an optional third argument the syzygy bimodule will be returned.
Example:
 
LIB "freegb.lib";
ring r = 0,(x,y),(c,Dp);
ring R = freeAlgebra(r, 8, 2);
ideal I = x*y*x + 1;
matrix T; module S;
ideal SI = liftstd(I,T,S);
print(matrix(SI));
==> x*y-y*x,y*x*x+1
print(matrix(testLift(I,T))); // test for the result of lift
==> x*y-y*x,y*x*x+1
S; // the bisyzygy module of I
==> S[1]=[x*y*ncgen(1)*x*y+y*x*x*y*ncgen(1)-y*x*ncgen(1)*y*x-ncgen(1)*y*x*x*y\
   +y*ncgen(1)-ncgen(1)*y]
==> S[2]=[x*x*y*ncgen(1)*x-x*ncgen(1)*y*x*x-x*ncgen(1)+ncgen(1)*x]
==> S[3]=[x*y*ncgen(1)*x*x*y+y*x*x*x*y*ncgen(1)-y*x*x*ncgen(1)*y*x-ncgen(1)*y\
   *x*x*x*y+x*y*ncgen(1)+y*x*ncgen(1)-ncgen(1)*x*y-ncgen(1)*y*x]
==> S[4]=[x*y*x*y*ncgen(1)*x-ncgen(1)*y*x*y*x*x+y*ncgen(1)*x-ncgen(1)*y*x]
testSyz(I,S);
==> _[1]=0
==> _[2]=0
==> _[3]=0
==> _[4]=0
See ideal; lift (letterplace); syz (letterplace); twostd (letterplace).