
5.1.75 lift
Syntax:
lift ( ideal_expression, subideal_expression )
lift ( module_expression, submodule_expression )
lift ( ideal_expression, subideal_expression, matrix_name )
lift ( module_expression, submodule_expression, matrix_name )
Type:
 matrix
Purpose:
 computes the transformation matrix which expresses the generators of a
submodule in terms of the generators of a module. Depending on which algorithm is used,
modules are represented by a standard basis, or not.
More precisely, if m is the
module (or ideal), sm the submodule (or ideal),
and T the transformation matrix returned by
lift, then matrix(sm)*U = matrix(m)*T
and module(sm*U) = module(matrix(m)*T)
(resp. ideal(sm) = ideal(matrix(m)*T) ),
where U is a diagonal matrix of units.
U is always the identity if the basering is a polynomial ring
(not power series ring). U is stored in the optional third argument.
Note:
 Gives a warning if
sm is not a submodule.
Example:
 ring r=32003,(x,y,z),(dp,C);
ideal m=3x2+yz,7y6+2x2y+5xz;
poly f=y7+x3+xyz+z2;
ideal i=jacob(f);
matrix T=lift(i,m);
matrix(m)matrix(i)*T;
==> _[1,1]=0
==> _[1,2]=0

See
division;
ideal;
module.
