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