### 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.

User manual for Singular version 4.4.1, 2025, generated by texi2html.