Home Online Manual
Top
Back: lift
Forward: listvar
FastBack: Functions and system variables
FastForward: Control structures
Up: Functions
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

5.1.81 liftstd

Syntax:
liftstd ( ideal_expression, matrix_name[, module_name][, string_expression ][, ideal_expression ])
liftstd ( module_expression, matrix_name[, module_name][, string_expression ][, module_expression ])
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). If working in a quotient ring, then matrix(sm)=reduce(matrix(m)*T,0) and sm=reduce(ideal(matrix(m)*T),0).
If a module name is given as a third argument, the syzygy module will be returned.
An optional string argument specifies the Groebner base algorithm to use. Possible values are "std" and "slimgb".
Given an optional last argument (say n), the algorithm computes a standard bases of (m+n), syzygies of m modulo n, and the transformation matrix only for m. These are relative transformation matrix resp. the syzygy module of n modulo m. (For syzygies, the same can be achieved using modulo.)
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,0,     s[1,3],s[1,4],s[1,5],s[1,6],
==> 0,     -xy-2z,s[2,3],s[2,4],s[2,5],s[2,6],
==> 3x2+yz,7y6+xz,s[3,3],s[3,4],s[3,5],s[3,6] 
See division; ideal; lift; matrix; modulo; option; ring; std; syz.