|
5.1.58 interpolation
Syntax:
interpolation ( list, intvec )
Type:
- ideal
Purpose:
interpolation(l,v) computes the reduced Groebner basis of the intersection
of ideals l[1]^v[1], ..., l[N]^v[N] by applying linear algebra methods.
Assume:
- Every ideal from the list l must be a maximal ideal of a point and should have
the following form: variable_1-coordinate_1, ..., variable_n-coordinate_n, where n
is the number of variables in the ring.
The ring should be a polynomial ring over Zp or Q with global ordering.
Example:
| ring r=0,(x,y),dp;
ideal p_1=x,y;
ideal p_2=x+1,y+1;
ideal p_3=x+2,y-1;
ideal p_4=x-1,y+2;
ideal p_5=x-1,y-3;
ideal p_6=x,y+3;
ideal p_7=x+2,y;
list l=p_1,p_2,p_3,p_4,p_5,p_6,p_7;
intvec v=2,1,1,1,1,1,1;
ideal j=interpolation(l,v);
// generator of degree 3 gives the equation of the unique
// singular cubic passing
// through p_1,...,p_7 with singularity at p_1
j;
==> j[1]=-4x3-4x2y-2xy2+y3-8x2-4xy+3y2
==> j[2]=-y4+8x2y+6xy2-2y3+10xy+3y2
==> j[3]=-xy3+2x2y+xy2+4xy
==> j[4]=-2x2y2-2x2y-2xy2+y3-4xy+3y2
// computes values of generators of j at p_4, results should be 0
subst(j,x,1,y,-2);
==> _[1]=0
==> _[2]=0
==> _[3]=0
==> _[4]=0
// computes values of derivatives d/dx of generators at (0,0)
subst(diff(j,x),x,0,y,0);
==> _[1]=0
==> _[2]=0
==> _[3]=0
==> _[4]=0
|
See
diff;
fglm;
intersect;
std;
subst.
|