### 7.8.5 lift (letterplace)

`Syntax:`
  `lift (` ideal_expression`,` subideal_expression `)`
  `lift (` module_expression`,` submodule_expression `)`
`Type:`
  matrix
`Purpose:`
  computes the transformation matrix which expresses the generators of a subbimodule in terms of the generators of a bimodule.
  More precisely, if `m` is the module (or ideal), `sm` the submodule (or ideal), and `T` the transformation matrix returned by lift, then the substitution of each `ncgen(i)` in `T` by the `m[i]` delivers a matrix, say `N`. The `i`-th generator of `sm` is equal to the sum of elements in the `i`-th column of `N`.
`Note:`
  Gives a warning if `sm` is not a submodule.
`Note:`
  The procedure testLift can be used for testing the result.
`Example:`

      LIB "freegb.lib";
      ring r = 0,(x,y),(c,Dp);
      ring R = freeAlgebra(r, 7, 2);
      ideal I = std(x*y*x + 1);
      print(matrix(I));
      ==> x*y-y*x,y*x*x+1
      ideal SI = x*I[1]*y + y*x*I[2], I[1]*y*x + I[2]*y;
      matrix T = lift(I, SI);
      print(T);
      ==> y*ncgen(1)*x*x+x*ncgen(1)*y,y*x*ncgen(1)+y*ncgen(1)*x+ncgen(1)*y*x,
      ==> y*ncgen(2)*x,               y*ncgen(2)
      print(matrix(SI)); // the original generators
      ==> y*x*y*x*x+x*x*y*y-x*y*x*y+y*x,x*y*y*x+y*x*x*y-y*x*y*x+y
      print(matrix(testLift(I,T))); // test for the result of lift
      ==> y*x*y*x*x+x*x*y*y-x*y*x*y+y*x,x*y*y*x+y*x*x*y-y*x*y*x+y

See ideal; liftstd (letterplace); syz (letterplace); twostd (letterplace).

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