|
7.7.5.0. deRhamCohomIdeal
Procedure from library dmodapp.lib (see dmodapp_lib).
- Usage:
- deRhamCohomIdeal (I[,w,eng,k,G]);
I ideal, w optional intvec, eng and k optional ints, G optional ideal
- Return:
- ideal
- Assume:
- The basering is the n-th Weyl algebra D over a field of characteristic
zero and for all 1<=i<=n the identity var(i+n)*var(i)=var(i)*var(i+1)+1
holds, i.e. the sequence of variables is given by
x(1),...,x(n),D(1),...,D(n), where D(i) is the differential operator
belonging to x(i).
Further, assume that I is of special kind, namely let f in K[x] and
consider the module K[x,1/f]f^m, where m is smaller than or equal to
the minimal integer root of the Bernstein-Sato polynomial of f.
Since this module is known to be a holonomic D-module, it has a cyclic
presentation D/I.
- Purpose:
- computes a basis of the n-th de Rham cohomology group of the complement
of the hypersurface defined by f
- Note:
- The elements of the basis are of the form f^m*p, where p runs over the
entries of the returned ideal.
If I does not satisfy the assumptions described above, the result might
have no meaning. Note that I can be computed with annfs .
If w is an intvec with exactly n strictly positive entries, w is used
in the computation. Otherwise, and by default, w is set to (1,...,1).
If eng<>0, std is used for Groebner basis computations,
otherwise, and by default, slimgb is used.
Let F(I) denote the Fourier transform of I wrt w.
An integer smaller than or equal to the minimal integer root of the
b-function of F(I) wrt the weight (-w,w) can be specified via the
optional argument k.
The optional argument G is used for specifying a Groebner Basis of F(I)
wrt the weight (-w,w), that is, the initial form of G generates the
initial ideal of F(I) wrt the weight (-w,w).
Further note, that the assumptions on I, k and G (if given) are not
checked.
- Theory:
- (SST) pp. 232-235
- Display:
- If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
Example:
| LIB "dmodapp.lib";
ring r = 0,(x,y,z),dp;
poly F = x^3+y^3+z^3;
bfctAnn(F); // Bernstein-Sato poly of F has minimal integer root -2
==> [1]:
==> _[1]=-1
==> _[2]=-4/3
==> _[3]=-5/3
==> _[4]=-2
==> [2]:
==> 2,1,1,1
def W = annRat(1,F^2); // so we compute the annihilator of 1/F^2
setring W; W; // Weyl algebra, contains LD = Ann(1/F^2)
==> // coefficients: QQ
==> // number of vars : 6
==> // block 1 : ordering dp
==> // : names x y z Dx Dy Dz
==> // block 2 : ordering C
==> // noncommutative relations:
==> // Dxx=x*Dx+1
==> // Dyy=y*Dy+1
==> // Dzz=z*Dz+1
LD; // K[x,y,z,1/F]F^(-2) is isomorphic to W/LD as W-module
==> LD[1]=x*Dx+y*Dy+z*Dz+6
==> LD[2]=z^2*Dy-y^2*Dz
==> LD[3]=z^2*Dx-x^2*Dz
==> LD[4]=y^2*Dx-x^2*Dy
==> LD[5]=x^3*Dz+y^3*Dz+z^3*Dz+6*z^2
==> LD[6]=x^3*Dy+y^3*Dy+y^2*z*Dz+6*y^2
deRhamCohomIdeal(LD); // we see that the K-dim is 2
==> _[1]=-x^3*Dx*Dy*Dz
==> _[2]=-x*y*z*Dx*Dy*Dz
| See also:
deRhamCohom.
|