Home Online Manual
Top
Back: kbase (plural)
Forward: liftstd (plural)
FastBack:
FastForward:
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.3.11 lift (plural)

Syntax:
lift ( ideal_expression, subideal_expression )
lift ( module_expression, submodule_expression )
Type:
matrix
Purpose:
computes the (left) transformation matrix which expresses the (left) generators of a submodule in terms of the (left) generators of a module. Uses different algorithms for modules which are (resp. are not) represented by a Groebner basis.
More precisely, if m is the module, sm the submodule, and T the transformation matrix returned by lift, then transpose(matrix(sm)) = transpose(T)*transpose(matrix(m)). If m and sm are ideals, ideal(sm) = ideal(transpose(T)*transpose(matrix(m))).

Note:
Gives a warning if sm is not a submodule.
Example:
 
ring r = (0,a),(e,f,h),(c,dp);
matrix D[3][3];
D[1,2]=-h;  D[1,3]=2*e;  D[2,3]=-2*f;
def R=nc_algebra(1,D); // this algebra is a parametric U(sl_2)
setring R;
ideal i = e,h-a; // consider this parametric ideal
i = std(i);
print(matrix(i)); // print a compact presentation of i
==> h+(-a),e
poly Z = 4*e*f+h^2-2*h; // a central element
Z = Z - NF(Z,i); // a central character
ideal j = std(Z);
j;
==> j[1]=4*ef+h2-2*h+(-a2-2a)
matrix T = lift(i,j);
print(T);
==> h+(a+2),
==> 4*f     
ideal tj = ideal(transpose(T)*transpose(matrix(i)));
size(ideal(matrix(j)-matrix(tj))); // test for 0
==> 0
See ideal (plural); liftstd (plural); module (plural).