#### D.6.11.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

User manual for Singular version 4.4.1, 2025, generated by texi2html.