|
7.3.10 liftstd (plural)
Syntax:
liftstd ( ideal_expression, matrix_name )
liftstd ( module_expression, matrix_name )
Type:
- ideal or module
Purpose:
- returns a Groebner basis of an ideal or module and the transformation
matrix from the given ideal, resp. module, to the Groebner basis.
That is, if m is the ideal or module, sm is the Groebner
basis of m , returned by liftstd , and T is the transformation matrix,
then transpose(matrix(sm))=transpose(T)*transpose(matrix(m)) and
sm=module(transpose(transpose(T)*transpose(matrix(m)))) .
If m is an ideal, sm=ideal(transpose(T)*transpose(matrix(m))) .
Example:
| LIB "ncalg.lib";
def A = makeUsl2();
setring A; // this algebra is U(sl_2)
ideal i = e2,f;
option(redSB);
option(redTail);
matrix T;
ideal j = liftstd(i,T);
// the Groebner basis in a compact form:
print(matrix(j));
==> 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)));
std(ideal(j-tj)); // test
==> _[1]=0
|
See
ideal (plural);
ring (plural);
std (plural).
|