|
7.3.11 lift (plural)
Syntax:
lift ( ideal_expression, subideal_expression )
lift ( module_expression, submodule_expression )
Type:
- matrix
Purpose:
- computes the (left) transformation matrix which expresses the (left) generators of a
submodule in terms of the (left) generators of a module. Uses different
algorithms for modules which are (resp. are not) represented by a
Groebner basis.
More precisely, if m is the module, sm the submodule, and T the
transformation matrix returned by lift, then transpose(matrix(sm)) = transpose(T)*transpose(matrix(m)) .
If m and sm are ideals, ideal(sm) = ideal(transpose(T)*transpose(matrix(m))) .
Note:
- Gives a warning if
sm is not a submodule.
Example:
| ring r = (0,a),(e,f,h),(c,dp);
matrix D[3][3];
D[1,2]=-h; D[1,3]=2*e; D[2,3]=-2*f;
def R=nc_algebra(1,D); // this algebra is a parametric U(sl_2)
setring R;
ideal i = e,h-a; // consider this parametric ideal
i = std(i);
print(matrix(i)); // print a compact presentation of i
==> h+(-a),e
poly Z = 4*e*f+h^2-2*h; // a central element
Z = Z - NF(Z,i); // a central character
ideal j = std(Z);
j;
==> j[1]=4*ef+h2-2*h+(-a2-2a)
matrix T = lift(i,j);
print(T);
==> h+(a+2),
==> 4*f
ideal tj = ideal(transpose(T)*transpose(matrix(i)));
size(ideal(matrix(j)-matrix(tj))); // test for 0
==> 0
|
See
ideal (plural);
liftstd (plural);
module (plural).
|