Home Online Manual
Top
Back: LIB
Forward: liftstd
FastBack: Functions and system variables
FastForward: Control structures
Up: Functions
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

5.1.80 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 )
lift ( ideal_expression, subideal_expression, matrix_name, string_expression )
lift ( module_expression, submodule_expression, matrix_name, string_expression )
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.
An optional 4th argument specifies the Groebner base algorithm to use. Possible values are "std" and "slimgb".
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; liftstd; module; std; syz.