|  |  7.8.2 lift (letterplace) 
See
 ideal;
 liftstd (letterplace);
 syz (letterplace);
 twostd (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
 mis the
module (or ideal),smthe submodule (or ideal),
andTthe transformation matrix returned by
lift, then the substitution of eachncgen(i)inTby them[i]delivers a matrix, sayN.
Thei-th generator ofsmis equal to the sum of
elements in thei-th column ofN.Note:Gives a warning if smis 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
 | 
 |