
C.5 GaussManin connection
Let
be a complex isolated hypersurface singularity given by a polynomial with algebraic coefficients which we also denote by .
Let
be the local ring at the origin and the Jacobian ideal of .
A Milnor representative of defines a differentiable fibre bundle over the punctured disc with fibres of homotopy type of spheres.
The th cohomology bundle is a flat vector bundle of dimension and carries a natural flat connection with covariant derivative .
The monodromy operator is the action of a positively oriented generator of the fundamental group of the punctured disc on the Milnor fibre.
Sections in the cohomology bundle of moderate growth at form a regular
module , the GaussManin connection.
By integrating along flat multivalued families of cycles, one can consider fibrewise global holomorphic differential forms as elements of .
This factors through an inclusion of the Brieskorn lattice
in .
The module structure defines the Vfiltration on by
.
The Brieskorn lattice defines the Hodge filtration on by
which comes from the mixed Hodge structure on the Milnor fibre.
Note that .
The induced Vfiltration on the Brieskorn lattice determines the singularity spectrum by
.
The spectrum consists of rational numbers
such that
are the eigenvalues of the monodromy.
These spectral numbers lie in the open interval , symmetric about the midpoint .
The spectrum is constant under constant deformations and has the following semicontinuity property:
The number of spectral numbers in an interval of all singularities of a small deformation of is greater than or equal to that of f in this interval.
For semiquasihomogeneous singularities, this also holds for intervals of the form .
Two given isolated singularities and determine two spectra and from these spectra we get an integer.
This integer is the maximal positive integer such that the semicontinuity holds for the spectrum of and times the spectrum of .
These numbers give bounds for the maximal number of isolated singularities of a specific type on a hypersurface of degree :
such a hypersurface has a smooth hyperplane section, and the complement is a small deformation of a cone over this hyperplane section.
The cone itself being a constant deformation of
, the singularities are bounded by the spectrum of
.
Using the library gmssing.lib one can compute the monodromy, the Vfitration on , and the spectrum.
Let us consider as an example
.
First, we compute a matrix
such that
is a monodromy matrix of
and the Jordan normal form of
:
 LIB "mondromy.lib";
ring R=0,(x,y),ds;
poly f=x5+x2y2+y5;
matrix M=monodromyB(f);
print(M);
==> 11/10,0, 0, 0, 0, 0,1/4,0, 0, 0, 0,
==> 0, 13/10,0, 0, 0, 0,0, 15/8,0, 0, 0,
==> 0, 0, 13/10,0, 0, 0,0, 0, 15/8,0, 0,
==> 0, 0, 0, 11/10,1/4,0,0, 0, 0, 0, 0,
==> 0, 0, 0, 0, 9/10,0,0, 0, 0, 0, 0,
==> 0, 0, 0, 0, 0, 1,0, 0, 0, 0, 3/5,
==> 0, 0, 0, 0, 0, 0,9/10,0, 0, 0, 0,
==> 0, 0, 0, 0, 0, 0,0, 7/10,0, 0, 0,
==> 0, 0, 0, 0, 0, 0,0, 0, 7/10,0, 0,
==> 0, 0, 0, 0, 0, 0,0, 0, 0, 1, 2/5,
==> 0, 0, 0, 0, 0, 0,0, 0, 0, 5/8,0

Now, we compute the Vfitration on
and the spectrum:
 LIB "gmssing.lib";
ring R=0,(x,y),ds;
poly f=x5+x2y2+y5;
list l=vfilt(f);
print(l[1]); // spectral numbers
==> 1/2,
==> 3/10,
==> 1/10,
==> 0,
==> 1/10,
==> 3/10,
==> 1/2
print(l[2]); // corresponding multiplicities
==> 1,
==> 2,
==> 2,
==> 1,
==> 2,
==> 2,
==> 1
print(l[3]); // vector space of ith graded part
==> [1]:
==> _[1]=gen(11)
==> [2]:
==> _[1]=gen(10)
==> _[2]=gen(6)
==> [3]:
==> _[1]=gen(9)
==> _[2]=gen(4)
==> [4]:
==> _[1]=gen(5)
==> [5]:
==> _[1]=gen(3)
==> _[2]=gen(8)
==> [6]:
==> _[1]=gen(2)
==> _[2]=gen(7)
==> [7]:
==> _[1]=gen(1)
print(l[4]); // monomial vector space basis of H''/s*H''
==> y5,
==> y4,
==> y3,
==> y2,
==> xy,
==> y,
==> x4,
==> x3,
==> x2,
==> x,
==> 1
print(l[5]); // standard basis of Jacobian ideal
==> 2x2y+5y4,
==> 5x55y5,
==> 2xy2+5x4,
==> 10y6+25x3y4
 Here l[1] contains the spectral numbers, l[2] the corresponding multiplicities, l[3] a
basis of the Vfiltration on
in terms of the monomial basis of
in l[4] (seperated by degree).
If the principal part of is nondegenerate, one can compute the spectrum using the library spectrum.lib.
In this case, the Vfiltration on coincides with the Newtonfiltration on which allows to compute the spectrum more efficiently.
Let us calculate one specific example, the maximal number
of triple points of type
on a surface of degree seven.
This calculation can be done over the rationals.
We choose a local ordering on
. Here we take the
negative degree lexicographical ordering, in SINGULAR denoted by ds :
 ring r=0,(x,y,z),ds;
LIB "spectrum.lib";
poly f=x^7+y^7+z^7;
list s1=spectrumnd( f );
s1;
==> [1]:
==> _[1]=4/7
==> _[2]=3/7
==> _[3]=2/7
==> _[4]=1/7
==> _[5]=0
==> _[6]=1/7
==> _[7]=2/7
==> _[8]=3/7
==> _[9]=4/7
==> _[10]=5/7
==> _[11]=6/7
==> _[12]=1
==> _[13]=8/7
==> _[14]=9/7
==> _[15]=10/7
==> _[16]=11/7
==> [2]:
==> 1,3,6,10,15,21,25,27,27,25,21,15,10,6,3,1

The command spectrumnd(f) computes the spectrum of
and
returns a list with six entries:
The Milnor number
, the geometric genus and the number of different spectrum numbers.
The other three entries are of type intvec .
They contain the numerators, denominators and
multiplicities of the spectrum numbers. So
has Milnor number 216 and geometrical
genus 35. Its spectrum consists of the 16 different rationals
appearing with multiplicities
1,3,6,10,15,21,25,27,27,25,21,15,10,6,3,1.
The singularities of type form a
constant one parameter family given by
.Therefore they have all the same spectrum, which we compute
for
.
 poly g=x^3+y^3+z^3;
list s2=spectrumnd(g);
s2;
==> [1]:
==> 8
==> [2]:
==> 1
==> [3]:
==> 4
==> [4]:
==> 1,4,5,2
==> [5]:
==> 1,3,3,1
==> [6]:
==> 1,3,3,1
 Evaluating semicontinuity is very easy:
This tells us that there are at most 18 singularities of type
on a septic in . But is semiquasihomogeneous (sqh), so we can also apply the stronger
form of semicontinuity:
 semicontsqh(s1,s2);
==> 17

So in fact a septic has at most 17 triple points of type
.
Note that spectrumnd(f) works only if
has a nondegenerate
principal part. In fact spectrumnd will detect a degenerate
principal part in many cases and print out an error message.
However if it is known in advance that
has nondegenerate
principal part, then the spectrum may be computed much faster
using spectrumnd(f,1) .
