|
7.5.6.0. annfsLogIdeal
Procedure from library dmodideal.lib (see dmodideal_lib).
- Usage:
- annfsLogIdeal(F); F an ideal
- Return:
- ring
- Purpose:
- compute the logarithmic annihilator of F[1]^s(1)*...*F[P]^s(P)
- Assume:
- basering is a commutative polynomial ring in characteristic 0
- Note:
- activate the output ring with the
setring command. In this ring,
annfsLog is the logarithmic annihilator of F^s (no Groebner basis).
If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
Example:
| LIB "dmodideal.lib";
ring R = 0,(x,y),dp;
ideal F = x^3+y^4+x*y^3, x;
def S1 = annfsLogIdeal(F);
setring S1;
annfsLog;
==> annfsLog[1]=-9*s(1)*x-12*s(1)*y-3*s(2)*x-4*s(2)*y+3*x^2*Dx+4*x*y*Dx+2*x*y\
*Dy+3*y^2*Dy
==> annfsLog[2]=-36*s(1)*y^2-192*s(1)*y-9*s(2)*y^2-64*s(2)*y+9*x*y^2*Dx+9*y^3\
*Dy+64*x*y*Dx+3*x^2*Dy-4*x*y*Dy+48*y^2*Dy
setring R; // now compare with the full annihilator
def S = annihilatorMultiFs(F);
setring S;
annFs;
==> annFs[1]=-3*x^2*Dx-4*x*y*Dx-2*x*y*Dy-3*y^2*Dy+9*x*s(1)+12*y*s(1)+3*x*s(2)\
+4*y*s(2)
==> annFs[2]=-9*x*y^2*Dx-9*y^3*Dy-64*x*y*Dx-3*x^2*Dy+4*x*y*Dy-48*y^2*Dy+36*y^\
2*s(1)+9*y^2*s(2)+192*y*s(1)+64*y*s(2)
==> annFs[3]=-3*x^2*y^2*Dx-4*x*y^3*Dx+x*y^3*Dy+3*x^3*Dy+3*x*y^2*s(2)+4*y^3*s(\
2)
==> annFs[4]=-144*x^2*y*Dx^2-84*x*y^2*Dx^2-141*x*y^2*Dx*Dy-81*y^3*Dy^2-768*x^\
2*Dx^2-256*x*y*Dx^2+84*x^2*Dx*Dy-1008*x*y*Dx*Dy-192*y^2*Dx*Dy-51*x^2*Dy^2\
+64*x*y*Dy^2-336*y^2*Dy^2+36*x*y*Dx*s(2)+84*y^2*Dx*s(2)-27*y^2*Dy*s(2)-70\
2*x*y*Dx-84*y^2*Dx-555*y^2*Dy+768*y*Dx*s(1)-384*y*Dy*s(1)+1296*y*s(1)^2+2\
56*y*Dx*s(2)-128*y*Dy*s(2)+756*y*s(1)*s(2)+108*y*s(2)^2-3712*x*Dx-256*y*D\
x+244*x*Dy-2528*y*Dy+1980*y*s(1)+6912*s(1)^2+558*y*s(2)+4608*s(1)*s(2)+76\
8*s(2)^2+8832*s(1)+2944*s(2)
lead(groebner(imap(S1,annfsLog)));
==> _[1]=3*x^2*Dx
==> _[2]=9*x*y^2*Dx
==> _[3]=x*y^3*Dy
==> _[4]=27*y^4*Dx*Dy
lead(groebner(annFs)); // and we see the difference
==> _[1]=3*x^2*Dx
==> _[2]=9*x*y^2*Dx
==> _[3]=3*y^3*Dx*Dy
==> _[4]=x*y^3*Dy
|
|