
7.7.5.0. deRhamCohom
Procedure from library dmodapp.lib (see dmodapp_lib).
 Usage:
 deRhamCohom(f[,w,eng,m]); f poly, w optional intvec,
eng and m optional ints
 Return:
 ring (a Weyl Algebra) containing a list 'DR' of ideal and int
 Assume:
 Basering is commutative and over a field of characteristic 0.
 Purpose:
 computes a basis of the nth de Rham cohomology group of the complement
of the hypersurface defined by f, where n denotes the number of
variables of the basering
 Note:
 The output ring is the nth Weyl algebra. It contains a list 'DR' with
two entries (ideal J and int m) such that {f^m*J[i] : i=1..size(I)} is
a basis of the nth de Rham cohomology group of the complement of the
hypersurface defined by f.
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.
If m is given, it is assumed to be less than or equal to the minimal
integer root of the BernsteinSato polynomial of f. This assumption is
not checked. If not specified, m is set to the minimal integer root of
the BernsteinSato polynomial of f.
 Theory:
 (SST) pp. 232235
 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;
def A = deRhamCohom(f); // we see that the Kdim is 2
setring A;
DR;
==> [1]:
==> _[1]=x^3*Dx*Dy*Dz
==> _[2]=x*y*z*Dx*Dy*Dz
==> [2]:
==> 2
 See also:
deRhamCohomIdeal.
