          ### 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*y + y*x*I, I*y*x + I*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.3.1, 2022, generated by texi2html.