Home Online Manual
Back: lift (plural)
Forward: minres (plural)
FastBack: Data types (plural)
FastForward: Mathematical background (plural)
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.3.12 liftstd (plural)

liftstd ( ideal_expression, matrix_name )
liftstd ( module_expression, matrix_name )
liftstd ( ideal_expression, matrix_name, module_name )
liftstd ( module_expression, matrix_name, module_name )
ideal or module
returns a left Groebner basis of an ideal or module and a left transformation matrix from the given ideal, resp. module, to the Groebner basis.
That is, if m is the ideal or module, sm is the left Groebner basis of m, returned by liftstd, and T is a left transformation matrix, then sm=module(transpose(transpose(T)*transpose(matrix(m)))).
If m is an ideal, sm=ideal(transpose(T)*transpose(matrix(m))).
In an optional third argument the left syzygy module will be returned.
LIB "ncalg.lib";
def A = makeUsl2();
setring A;  // this algebra is U(sl_2)
ideal i = e2,f;
matrix T;
ideal j = liftstd(i,T);
// the Groebner basis in a compact form:
==> f,2h2+2h,2eh+2e,e2
print(T);  // the transformation matrix
==> 0,f2,         -f,1,
==> 1,-e2f+4eh+8e,e2,0 
ideal tj = ideal(transpose(T)*transpose(matrix(i)));
size(ideal(matrix(j)-matrix(tj))); // test for 0
==> 0
module S; ideal k = liftstd(i,T,S); // the third argument
S = std(S); print(S); // the syzygy module
==> -ef-2h+6,-f3,                    
==> e3,      e2f2-6efh-6ef+6h2+18h+12
See ideal (plural); ring (plural); std (plural).