Home Online Manual
Top
Back: mod_versal
Forward: lift_rel_kb
FastBack: curvepar_lib
FastForward: equising_lib
Up: deform_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.6.5.3 lift_kbase

Procedure from library deform.lib (see deform_lib).

Usage:
lift_kbase(N,M); N,M=poly/ideal/vector/module

Return:
matrix A, coefficient matrix expressing N as linear combination of k-basis of M. Let the k-basis have k elements and size(N)=c columns. Then A satisfies:
matrix(reduce(N,std(M)),k,c) = matrix(kbase(std(M)))*A

Assume:
dim(M)=0 and the monomial ordering is a well ordering or the last block of the ordering is c or C

Example:
 
LIB "deform.lib";
ring R=0,(x,y),ds;
module M=[x2,xy],[y2,xy],[0,xx],[0,yy];
module N=[x3+xy,x],[x,x+y2];
print(M);
==> x2,y2,0, 0,
==> xy,xy,x2,y2
module kb=kbase(std(M));
print(kb);
==> y2,xy,y,x,1,0,0,0,
==> 0, 0, 0,0,0,y,x,1 
print(N);
==> xy+x3,x,  
==> x,    x+y2
matrix A=lift_kbase(N,M);
print(A);
==> 0,0,
==> 1,0,
==> 0,0,
==> 0,1,
==> 0,0,
==> 0,0,
==> 1,1,
==> 0,0 
matrix(reduce(N,std(M)),nrows(kb),ncols(A)) - matrix(kbase(std(M)))*A;
==> _[1,1]=0
==> _[1,2]=0
==> _[2,1]=0
==> _[2,2]=0