Top
Back: Characteristic sets
Forward: Toric ideals and integer programming
FastBack: Mathematical background
FastForward: SINGULAR libraries
Up: Mathematical background
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

C.5 Gauss-Manin connection

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 V-fitration 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 i-th 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,
==> 5x5-5y5,
==> 2xy2+5x4,
==> 10y6+25x3y4
Here l[1] contains the spectral numbers, l[2] the corresponding multiplicities, l[3] a -basis of the V-filtration on in terms of the monomial basis of in l[4] (separated by degree).

Let us calculate one specific example, the maximal number of triple points of type 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 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 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.

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:
 
semicont(s1,s2);
==> 18

This tells us that there are at most 18 singularities of type 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).


Top Back: Characteristic sets Forward: Toric ideals and integer programming FastBack: Mathematical background FastForward: SINGULAR libraries Up: Mathematical background Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 4.4.1, 2025, generated by texi2html.