|
5.1.76 liftstd
Syntax:
liftstd ( ideal_expression, matrix_name )
liftstd ( module_expression, matrix_name )
liftstd ( ideal_expression, matrix_name, module_name )
liftstd ( module_expression, matrix_name, module_name )
Type:
- ideal or module
Purpose:
- returns a standard basis of an ideal or module and the transformation
matrix from the given ideal, resp. module, to the standard basis.
That is, if m is the ideal or module, sm the standard
basis returned by liftstd , and T the transformation matrix
then matrix(sm)=matrix(m)*T and sm=ideal(matrix(m)*T) ,
resp. sm=module(matrix(m)*T) .
In an optional third argument the syzygy module will be returned.
Example:
| ring R=0,(x,y,z),dp;
poly f=x3+y7+z2+xyz;
ideal i=jacob(f);
matrix T;
ideal sm=liftstd(i,T);
sm;
==> sm[1]=xy+2z
==> sm[2]=3x2+yz
==> sm[3]=yz2+3048192z3
==> sm[4]=3024xz2-yz2
==> sm[5]=y2z-6xz
==> sm[6]=3097158156288z4+2016z3
==> sm[7]=7y6+xz
print(T);
==> 0,1,T[1,3], T[1,4],y, T[1,6],0,
==> 0,0,-3x+3024z,3x, 0, T[2,6],1,
==> 1,0,T[3,3], T[3,4],-3x,T[3,6],0
matrix(sm)-matrix(i)*T;
==> _[1,1]=0
==> _[1,2]=0
==> _[1,3]=0
==> _[1,4]=0
==> _[1,5]=0
==> _[1,6]=0
==> _[1,7]=0
module s;
sm=liftstd(i,T,s);
print(s);
==> -xy-2z,7y6+xz, -7056y6-1008xz,
==> 0, -3x2-yz,3024x2-xy+1008yz-2z,
==> 3x2+yz,0, 7y6+xz
|
See
ideal;
matrix;
option;
ring;
std.
|