@c ---content LibInfo---
@comment This file was generated by doc2tex.pl from d2t_singular/gaussman_lib.doc
@comment DO NOT EDIT DIRECTLY, BUT EDIT d2t_singular/gaussman_lib.doc INSTEAD
@c library version: (1.33.2.26,2003/02/10)
@c library file: ../Singular/LIB/gaussman.lib
@cindex gaussman.lib
@cindex gaussman_lib
@table @asis
@item @strong{Library:}
gaussman.lib
@item @strong{Purpose:}
  Algorithmic Gauss-Manin Connection

@item @strong{Author:}
Mathias Schulze, email: mschulze@@mathematik.uni-kl.de

@item @strong{Overview:}
A library to compute Hodge-theoretic invariants
@*of isolated hypersurface singularities

@end table

@strong{Procedures:}
@menu
* gmsring:: Gauss-Manin system of t with variable s
* gmsnf:: Gauss-Manin normal form of p
* gmscoeffs:: Gauss-Manin basis representation of p
* bernstein:: roots of the Bernstein polynomial of t
* monodromy:: Jordan data of complex monodromy of t
* spectrum:: singularity spectrum of t
* sppairs:: spectral pairs of t
* spnf:: spectrum normal form of (a,m,V)
* sppnf:: spectral pairs normal form of (a,w,m,V)
* vfilt:: V-filtration of t on Brieskorn lattice
* vwfilt:: weighted V-filtration of t on Brieskorn lattice
* tmatrix:: C[[s]]-matrix of t on Brieskorn lattice
* endvfilt:: endomorphism V-filtration on Jacobian algebra
* spprint:: print spectrum sp
* sppprint:: print spectral pairs spp
* spadd:: sum of spectra sp1 and sp2
* spsub:: difference of spectra sp1 and sp2
* spmul:: linear combination of spectra sp
* spissemicont:: semicontinuity test of spectrum sp
* spsemicont:: semicontinuous combinations of spectra sp0 in sp
* spmilnor:: Milnor number of spectrum sp
* spgeomgenus:: geometrical genus of spectrum sp
* spgamma:: gamma invariant of spectrum sp
@end menu
@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex monodromy
@cindex spectrum
@cindex spectral pairs
@cindex mixed Hodge structure
@cindex V-filtration
@cindex weight filtration
@c inserted refs from d2t_singular/gaussman_lib.doc:56
@ifinfo
@menu
See also:
* mondromy_lib::
* spectrum_lib::
@end menu
@end ifinfo
@iftex
@strong{See also:}
@ref{mondromy_lib};
@ref{spectrum_lib}.
@end iftex
@c end inserted refs from d2t_singular/gaussman_lib.doc:56

@c ---end content LibInfo---

@c ------------------- gmsring -------------
@node gmsring, gmsnf,, gaussman_lib
@subsubsection gmsring
@cindex gmsring
@c ---content gmsring---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
gmsring(t,s); poly t, string s

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
ring G;  Gauss-Manin system of t with variable s
  poly gmspoly=t;
  ideal gmsjacob;  Jacobian ideal of t
  ideal gmsstd;  standard basis of Jacobian ideal
  matrix gmsmatrix;  matrix(gmsjacob)*gmsmatrix==matrix(gmsstd)
  ideal gmsbasis;  monomial vector space basis of Jacobian algebra
  int gmsmaxdeg;  maximal weight of variables
@end format

@item @strong{Note:}
gmsbasis is a C[[s]]-basis of H'' and [t,s]=s^2

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@end table
@strong{Example:}
@smallexample
@c computed example gmsring d2t_singular/gaussman_lib.doc:97 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
def G=gmsring(t,"s");
setring(G);
gmspoly;
@expansion{} x2y2+x5+y5
print(gmsjacob);
@expansion{} 2xy2+5x4,
@expansion{} 2x2y+5y4
print(gmsstd);
@expansion{} 2x2y+5y4,
@expansion{} 2xy2+5x4,
@expansion{} 5x5-5y5,
@expansion{} 10y6+25x3y4
print(gmsmatrix);
@expansion{} 0,1,x, -2xy,  
@expansion{} 1,0,-y,2y2+5x3
print(gmsbasis);
@expansion{} y5,
@expansion{} y4,
@expansion{} y3,
@expansion{} y2,
@expansion{} xy,
@expansion{} y,
@expansion{} x4,
@expansion{} x3,
@expansion{} x2,
@expansion{} x,
@expansion{} 1
gmsmaxdeg;
@expansion{} 1
@c end example gmsring d2t_singular/gaussman_lib.doc:97
@end smallexample
@c ---end content gmsring---

@c ------------------- gmsnf -------------
@node gmsnf, gmscoeffs, gmsring, gaussman_lib
@subsubsection gmsnf
@cindex gmsnf
@c ---content gmsnf---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
gmsnf(p,K); poly p, int K

@item @strong{Assume:}
basering returned by gmsring

@item @strong{Return:}
@format
list nf;
  ideal nf[1];  projection of p to <gmsbasis>C[[s]] mod s^(K+1)
  ideal nf[2];  p==nf[1]+nf[2]
@end format

@item @strong{Note:}
computation can be continued by setting p=nf[2]

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@end table
@strong{Example:}
@smallexample
@c computed example gmsnf d2t_singular/gaussman_lib.doc:143 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
def G=gmsring(t,"s");
setring(G);
list l0=gmsnf(gmspoly,0);
print(l0[1]);
@expansion{} -1/2y5
list l1=gmsnf(gmspoly,1);
print(l1[1]);
@expansion{} -1/2y5+1/2s
list l=gmsnf(l0[2],1);
print(l[1]);
@expansion{} 1/2s
@c end example gmsnf d2t_singular/gaussman_lib.doc:143
@end smallexample
@c ---end content gmsnf---

@c ------------------- gmscoeffs -------------
@node gmscoeffs, bernstein, gmsnf, gaussman_lib
@subsubsection gmscoeffs
@cindex gmscoeffs
@c ---content gmscoeffs---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
gmscoeffs(p,K); poly p, int K

@item @strong{Assume:}
basering constructed by gmsring

@item @strong{Return:}
@format
list l;
  matrix l[1];  C[[s]]-basis representation of p mod s^(K+1)
  ideal l[2];  p==matrix(gmsbasis)*l[1]+l[2]
@end format

@item @strong{Note:}
computation can be continued by setting p=l[2]

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@end table
@strong{Example:}
@smallexample
@c computed example gmscoeffs d2t_singular/gaussman_lib.doc:189 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
def G=gmsring(t,"s");
setring(G);
list l0=gmscoeffs(gmspoly,0);
print(l0[1]);
@expansion{} -1/2,
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0    
list l1=gmscoeffs(gmspoly,1);
print(l1[1]);
@expansion{} -1/2,
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 0,   
@expansion{} 1/2s 
list l=gmscoeffs(l0[2],1);
print(l[1]);
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 0,  
@expansion{} 1/2s
@c end example gmscoeffs d2t_singular/gaussman_lib.doc:189
@end smallexample
@c ---end content gmscoeffs---

@c ------------------- bernstein -------------
@node bernstein, monodromy, gmscoeffs, gaussman_lib
@subsubsection bernstein
@cindex bernstein
@c ---content bernstein---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
bernstein(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
ideal r; roots of the Bernstein polynomial b excluding the root -1

@item @strong{Note:}
the roots of b are negative rational numbers and -1 is a root of b

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex Bernstein polynomial
@end table
@strong{Example:}
@smallexample
@c computed example bernstein d2t_singular/gaussman_lib.doc:233 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
bernstein(t);
@expansion{} [1]:
@expansion{}    _[1]=-1/2
@expansion{}    _[2]=-7/10
@expansion{}    _[3]=-9/10
@expansion{}    _[4]=-1
@expansion{}    _[5]=-11/10
@expansion{}    _[6]=-13/10
@expansion{} [2]:
@expansion{}    2,1,1,2,1,1
@c end example bernstein d2t_singular/gaussman_lib.doc:233
@end smallexample
@c ---end content bernstein---

@c ------------------- monodromy -------------
@node monodromy, spectrum, bernstein, gaussman_lib
@subsubsection monodromy
@cindex monodromy
@c ---content monodromy---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
monodromy(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
list l;  Jordan data jordan(M) of monodromy matrix exp(-2*pi*i*M)
  ideal l[1]; 
    number l[1][i];  eigenvalue of i-th Jordan block of M
  intvec l[2]; 
    int l[2][i];  size of i-th Jordan block of M
  intvec l[3]; 
    int l[3][i];  multiplicity of i-th Jordan block of M
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex monodromy
@end table
@strong{Example:}
@smallexample
@c computed example monodromy d2t_singular/gaussman_lib.doc:275 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
monodromy(t);
@expansion{} [1]:
@expansion{}    _[1]=1/2
@expansion{}    _[2]=7/10
@expansion{}    _[3]=9/10
@expansion{}    _[4]=1
@expansion{}    _[5]=11/10
@expansion{}    _[6]=13/10
@expansion{} [2]:
@expansion{}    2,1,1,1,1,1
@expansion{} [3]:
@expansion{}    1,2,2,1,2,2
@c end example monodromy d2t_singular/gaussman_lib.doc:275
@end smallexample
@c inserted refs from d2t_singular/gaussman_lib.doc:282
@ifinfo
@menu
See also:
* linalg_lib::
* mondromy_lib::
@end menu
@end ifinfo
@iftex
@strong{See also:}
@ref{linalg_lib};
@ref{mondromy_lib}.
@end iftex
@c end inserted refs from d2t_singular/gaussman_lib.doc:282

@c ---end content monodromy---

@c ------------------- spectrum -------------
@node spectrum, sppairs, monodromy, gaussman_lib
@subsubsection spectrum
@cindex spectrum
@c ---content spectrum---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spectrum(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
list sp;  singularity spectrum of t
  ideal sp[1];
    number sp[1][i];  i-th spectral number
  intvec sp[2];
    int sp[2][i];  multiplicity of i-th spectral number
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex mixed Hodge structure
@cindex V-filtration
@cindex spectrum
@end table
@strong{Example:}
@smallexample
@c computed example spectrum d2t_singular/gaussman_lib.doc:321 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
spprint(spectrum(t));
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
@c end example spectrum d2t_singular/gaussman_lib.doc:321
@end smallexample
@c inserted refs from d2t_singular/gaussman_lib.doc:328
@ifinfo
@menu
See also:
* spectrum_lib::
@end menu
@end ifinfo
@iftex
@strong{See also:}
@ref{spectrum_lib}.
@end iftex
@c end inserted refs from d2t_singular/gaussman_lib.doc:328

@c ---end content spectrum---

@c ------------------- sppairs -------------
@node sppairs, spnf, spectrum, gaussman_lib
@subsubsection sppairs
@cindex sppairs
@c ---content sppairs---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
sppairs(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
list spp;  spectral pairs of t
  ideal spp[1];
    number spp[1][i];  V-filtration index of i-th spectral pair
  intvec spp[2];
    int spp[2][i];  weight filtration index of i-th spectral pair
  intvec spp[3];
    int spp[3][i];  multiplicity of i-th spectral pair
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex mixed Hodge structure
@cindex V-filtration
@cindex weight filtration
@cindex spectrum
@cindex spectral pairs
@end table
@strong{Example:}
@smallexample
@c computed example sppairs d2t_singular/gaussman_lib.doc:371 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
sppprint(sppairs(t));
@expansion{} ((-1/2,2),1),((-3/10,1),2),((-1/10,1),2),((0,1),1),((1/10,1),2),((3/10,1)\
   ,2),((1/2,0),1)
@c end example sppairs d2t_singular/gaussman_lib.doc:371
@end smallexample
@c inserted refs from d2t_singular/gaussman_lib.doc:378
@ifinfo
@menu
See also:
* spectrum_lib::
@end menu
@end ifinfo
@iftex
@strong{See also:}
@ref{spectrum_lib}.
@end iftex
@c end inserted refs from d2t_singular/gaussman_lib.doc:378

@c ---end content sppairs---

@c ------------------- spnf -------------
@node spnf, sppnf, sppairs, gaussman_lib
@subsubsection spnf
@cindex spnf
@c ---content spnf---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Assume:}
ncols(a)==size(m)==size(V); typeof(V[i])=="int"

@item @strong{Return:}
order (a[i][,V[i]]) with multiplicity m[i] lexicographically

@end table
@c ---end content spnf---

@c ------------------- sppnf -------------
@node sppnf, vfilt, spnf, gaussman_lib
@subsubsection sppnf
@cindex sppnf
@c ---content sppnf---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Assume:}
ncols(e)=size(w)=size(m)=size(V); typeof(V[i])=="module"

@item @strong{Return:}
order (a[i][,w[i]][,V[i]]) with multiplicity m[i] lexicographically

@end table
@c ---end content sppnf---

@c ------------------- vfilt -------------
@node vfilt, vwfilt, sppnf, gaussman_lib
@subsubsection vfilt
@cindex vfilt
@c ---content vfilt---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
vfilt(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
list v;  V-filtration on H''/s*H''
  ideal v[1];
    number v[1][i];  V-filtration index of i-th spectral number
  intvec v[2];
    int v[2][i];  multiplicity of i-th spectral number
  list v[3];
    module v[3][i];  vector space of i-th graded part in terms of v[4]
  ideal v[4];  monomial vector space basis of H''/s*H''
  ideal v[5];  standard basis of Jacobian ideal
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex mixed Hodge structure
@cindex V-filtration
@cindex spectrum
@end table
@strong{Example:}
@smallexample
@c computed example vfilt d2t_singular/gaussman_lib.doc:455 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
vfilt(t);
@expansion{} [1]:
@expansion{}    _[1]=-1/2
@expansion{}    _[2]=-3/10
@expansion{}    _[3]=-1/10
@expansion{}    _[4]=0
@expansion{}    _[5]=1/10
@expansion{}    _[6]=3/10
@expansion{}    _[7]=1/2
@expansion{} [2]:
@expansion{}    1,2,2,1,2,2,1
@expansion{} [3]:
@expansion{}    [1]:
@expansion{}       _[1]=gen(11)
@expansion{}    [2]:
@expansion{}       _[1]=gen(10)
@expansion{}       _[2]=gen(6)
@expansion{}    [3]:
@expansion{}       _[1]=gen(9)
@expansion{}       _[2]=gen(4)
@expansion{}    [4]:
@expansion{}       _[1]=gen(5)
@expansion{}    [5]:
@expansion{}       _[1]=gen(3)
@expansion{}       _[2]=gen(8)
@expansion{}    [6]:
@expansion{}       _[1]=gen(2)
@expansion{}       _[2]=gen(7)
@expansion{}    [7]:
@expansion{}       _[1]=gen(1)
@expansion{} [4]:
@expansion{}    _[1]=y5
@expansion{}    _[2]=y4
@expansion{}    _[3]=y3
@expansion{}    _[4]=y2
@expansion{}    _[5]=xy
@expansion{}    _[6]=y
@expansion{}    _[7]=x4
@expansion{}    _[8]=x3
@expansion{}    _[9]=x2
@expansion{}    _[10]=x
@expansion{}    _[11]=1
@expansion{} [5]:
@expansion{}    _[1]=2x2y+5y4
@expansion{}    _[2]=2xy2+5x4
@expansion{}    _[3]=5x5-5y5
@expansion{}    _[4]=10y6+25x3y4
@c end example vfilt d2t_singular/gaussman_lib.doc:455
@end smallexample
@c inserted refs from d2t_singular/gaussman_lib.doc:462
@ifinfo
@menu
See also:
* spectrum_lib::
@end menu
@end ifinfo
@iftex
@strong{See also:}
@ref{spectrum_lib}.
@end iftex
@c end inserted refs from d2t_singular/gaussman_lib.doc:462

@c ---end content vfilt---

@c ------------------- vwfilt -------------
@node vwfilt, tmatrix, vfilt, gaussman_lib
@subsubsection vwfilt
@cindex vwfilt
@c ---content vwfilt---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
vwfilt(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
list vw;  weighted V-filtration on H''/s*H''
  ideal vw[1];
    number vw[1][i];  V-filtration index of i-th spectral pair
  intvec vw[2];
    int vw[2][i];  weight filtration index of i-th spectral pair
  intvec vw[3];
    int vw[3][i];  multiplicity of i-th spectral pair
  list vw[4];
    module vw[4][i];  vector space of i-th graded part in terms of vw[5]
  ideal vw[5];  monomial vector space basis of H''/s*H''
  ideal vw[6];  standard basis of Jacobian ideal
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex mixed Hodge structure
@cindex V-filtration
@cindex weight filtration
@cindex spectrum
@cindex spectral pairs
@end table
@strong{Example:}
@smallexample
@c computed example vwfilt d2t_singular/gaussman_lib.doc:509 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
vwfilt(t);
@expansion{} [1]:
@expansion{}    _[1]=-1/2
@expansion{}    _[2]=-3/10
@expansion{}    _[3]=-1/10
@expansion{}    _[4]=0
@expansion{}    _[5]=1/10
@expansion{}    _[6]=3/10
@expansion{}    _[7]=1/2
@expansion{} [2]:
@expansion{}    2,1,1,1,1,1,0
@expansion{} [3]:
@expansion{}    1,2,2,1,2,2,1
@expansion{} [4]:
@expansion{}    [1]:
@expansion{}       _[1]=gen(11)
@expansion{}    [2]:
@expansion{}       _[1]=gen(10)
@expansion{}       _[2]=gen(6)
@expansion{}    [3]:
@expansion{}       _[1]=gen(9)
@expansion{}       _[2]=gen(4)
@expansion{}    [4]:
@expansion{}       _[1]=gen(5)
@expansion{}    [5]:
@expansion{}       _[1]=gen(3)
@expansion{}       _[2]=gen(8)
@expansion{}    [6]:
@expansion{}       _[1]=gen(2)
@expansion{}       _[2]=gen(7)
@expansion{}    [7]:
@expansion{}       _[1]=gen(1)
@expansion{} [5]:
@expansion{}    _[1]=y5
@expansion{}    _[2]=y4
@expansion{}    _[3]=y3
@expansion{}    _[4]=y2
@expansion{}    _[5]=xy
@expansion{}    _[6]=y
@expansion{}    _[7]=x4
@expansion{}    _[8]=x3
@expansion{}    _[9]=x2
@expansion{}    _[10]=x
@expansion{}    _[11]=1
@expansion{} [6]:
@expansion{}    _[1]=2x2y+5y4
@expansion{}    _[2]=2xy2+5x4
@expansion{}    _[3]=5x5-5y5
@expansion{}    _[4]=10y6+25x3y4
@c end example vwfilt d2t_singular/gaussman_lib.doc:509
@end smallexample
@c inserted refs from d2t_singular/gaussman_lib.doc:516
@ifinfo
@menu
See also:
* spectrum_lib::
@end menu
@end ifinfo
@iftex
@strong{See also:}
@ref{spectrum_lib}.
@end iftex
@c end inserted refs from d2t_singular/gaussman_lib.doc:516

@c ---end content vwfilt---

@c ------------------- tmatrix -------------
@node tmatrix, endvfilt, vwfilt, gaussman_lib
@subsubsection tmatrix
@cindex tmatrix
@c ---content tmatrix---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
tmatrix(t); poly t

@item @strong{Assume:}
characteristic 0; local degree ordering;
@*isolated critical point 0 of t

@item @strong{Return:}
@format
list l=A0,A1,T,M;
  matrix A0,A1;  t=A0+s*A1+s^2*(d/ds) on H'' w.r.t. C[[s]]-basis M*T
  module T;  C-basis of C^mu
  ideal M;  monomial C-basis of H''/sH''
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex mixed Hodge structure
@cindex opposite Hodge filtration
@cindex V-filtration
@end table
@strong{Example:}
@smallexample
@c computed example tmatrix d2t_singular/gaussman_lib.doc:554 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
list A=tmatrix(t);
print(A[1]);
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 0,0,0,0,0,0,0,0,0,0,0,
@expansion{} 1,0,0,0,0,0,0,0,0,0,0 
print(A[2]);
@expansion{} 1/2,0,   0,   0,   0,   0,0,    0,    0,    0,    0, 
@expansion{} 0,  7/10,0,   0,   0,   0,0,    0,    0,    0,    0, 
@expansion{} 0,  0,   7/10,0,   0,   0,0,    0,    0,    0,    0, 
@expansion{} 0,  0,   0,   9/10,0,   0,0,    0,    0,    0,    0, 
@expansion{} 0,  0,   0,   0,   9/10,0,0,    0,    0,    0,    0, 
@expansion{} 0,  0,   0,   0,   0,   1,0,    0,    0,    0,    0, 
@expansion{} 0,  0,   0,   0,   0,   0,11/10,0,    0,    0,    0, 
@expansion{} 0,  0,   0,   0,   0,   0,0,    11/10,0,    0,    0, 
@expansion{} 0,  0,   0,   0,   0,   0,0,    0,    13/10,0,    0, 
@expansion{} 0,  0,   0,   0,   0,   0,0,    0,    0,    13/10,0, 
@expansion{} 0,  0,   0,   0,   0,   0,0,    0,    0,    0,    3/2
print(A[3]);
@expansion{} -1445/64,0,  0,  0,0,85/8,0,0,0,0,1/2,
@expansion{} 0,       125,0,  0,0,0,   0,0,1,0,0,  
@expansion{} 0,       0,  0,  5,0,0,   1,0,0,0,0,  
@expansion{} 0,       0,  0,  0,4,0,   0,0,0,0,0,  
@expansion{} 2,       0,  0,  0,0,1,   0,0,0,0,0,  
@expansion{} 0,       0,  16, 0,0,0,   0,0,0,0,0,  
@expansion{} 0,       0,  125,0,0,0,   0,0,0,1,0,  
@expansion{} 0,       0,  0,  0,5,0,   0,1,0,0,0,  
@expansion{} 0,       0,  0,  4,0,0,   0,0,0,0,0,  
@expansion{} 0,       16, 0,  0,0,0,   0,0,0,0,0,  
@expansion{} -1,      0,  0,  0,0,0,   0,0,0,0,0   
print(A[4]);
@expansion{} y5,
@expansion{} y4,
@expansion{} y3,
@expansion{} y2,
@expansion{} xy,
@expansion{} y,
@expansion{} x4,
@expansion{} x3,
@expansion{} x2,
@expansion{} x,
@expansion{} 1
@c end example tmatrix d2t_singular/gaussman_lib.doc:554
@end smallexample
@c ---end content tmatrix---

@c ------------------- endvfilt -------------
@node endvfilt, spprint, tmatrix, gaussman_lib
@subsubsection endvfilt
@cindex endvfilt
@c ---content endvfilt---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
endvfilt(v); list v

@item @strong{Assume:}
v returned by vfilt

@item @strong{Return:}
@format
list ev;  V-filtration on Jacobian algebra
  ideal ev[1];
    number ev[1][i];  i-th V-filtration index
  intvec ev[2];
    int ev[2][i];  i-th multiplicity
  list ev[3];
    module ev[3][i];  vector space of i-th graded part in terms of ev[4]
  ideal ev[4];  monomial vector space basis of Jacobian algebra
  ideal ev[5];  standard basis of Jacobian ideal
@end format

@cindex singularities
@cindex Gauss-Manin connection
@cindex Brieskorn lattice
@cindex mixed Hodge structure
@cindex V-filtration
@cindex endomorphism filtration
@end table
@strong{Example:}
@smallexample
@c computed example endvfilt d2t_singular/gaussman_lib.doc:603 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
poly t=x5+x2y2+y5;
endvfilt(vfilt(t));
@expansion{} [1]:
@expansion{}    _[1]=0
@expansion{}    _[2]=1/5
@expansion{}    _[3]=2/5
@expansion{}    _[4]=1/2
@expansion{}    _[5]=3/5
@expansion{}    _[6]=4/5
@expansion{}    _[7]=1
@expansion{} [2]:
@expansion{}    1,2,2,1,2,2,1
@expansion{} [3]:
@expansion{}    [1]:
@expansion{}       _[1]=gen(11)
@expansion{}    [2]:
@expansion{}       _[1]=gen(10)
@expansion{}       _[2]=gen(6)
@expansion{}    [3]:
@expansion{}       _[1]=gen(9)
@expansion{}       _[2]=gen(4)
@expansion{}    [4]:
@expansion{}       _[1]=gen(5)
@expansion{}    [5]:
@expansion{}       _[1]=gen(8)
@expansion{}       _[2]=gen(3)
@expansion{}    [6]:
@expansion{}       _[1]=gen(7)
@expansion{}       _[2]=gen(2)
@expansion{}    [7]:
@expansion{}       _[1]=gen(1)
@expansion{} [4]:
@expansion{}    _[1]=y5
@expansion{}    _[2]=y4
@expansion{}    _[3]=y3
@expansion{}    _[4]=y2
@expansion{}    _[5]=xy
@expansion{}    _[6]=y
@expansion{}    _[7]=x4
@expansion{}    _[8]=x3
@expansion{}    _[9]=x2
@expansion{}    _[10]=x
@expansion{}    _[11]=1
@expansion{} [5]:
@expansion{}    _[1]=2x2y+5y4
@expansion{}    _[2]=2xy2+5x4
@expansion{}    _[3]=5x5-5y5
@expansion{}    _[4]=10y6+25x3y4
@c end example endvfilt d2t_singular/gaussman_lib.doc:603
@end smallexample
@c ---end content endvfilt---

@c ------------------- spprint -------------
@node spprint, sppprint, endvfilt, gaussman_lib
@subsubsection spprint
@cindex spprint
@c ---content spprint---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spprint(sp); list sp

@item @strong{Return:}
string s; spectrum sp

@end table
@strong{Example:}
@smallexample
@c computed example spprint d2t_singular/gaussman_lib.doc:629 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
@c end example spprint d2t_singular/gaussman_lib.doc:629
@end smallexample
@c ---end content spprint---

@c ------------------- sppprint -------------
@node sppprint, spadd, spprint, gaussman_lib
@subsubsection sppprint
@cindex sppprint
@c ---content sppprint---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
sppprint(spp); list spp

@item @strong{Return:}
string s; spectral pairs spp

@end table
@strong{Example:}
@smallexample
@c computed example sppprint d2t_singular/gaussman_lib.doc:655 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list spp=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(2,1,1,1,1,1,0),intvec(1,2,2,1,2,2,1));
sppprint(spp);
@expansion{} ((-1/2,2),1),((-3/10,1),2),((-1/10,1),2),((0,1),1),((1/10,1),2),((3/10,1)\
   ,2),((1/2,0),1)
@c end example sppprint d2t_singular/gaussman_lib.doc:655
@end smallexample
@c ---end content sppprint---

@c ------------------- spadd -------------
@node spadd, spsub, sppprint, gaussman_lib
@subsubsection spadd
@cindex spadd
@c ---content spadd---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spadd(sp1,sp2); list sp1, list sp2

@item @strong{Return:}
list sp; sum of spectra sp1 and sp2

@end table
@strong{Example:}
@smallexample
@c computed example spadd d2t_singular/gaussman_lib.doc:681 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp1=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp1);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
list sp2=list(ideal(-1/6,1/6),intvec(1,1));
spprint(sp2);
@expansion{} (-1/6,1),(1/6,1)
spprint(spadd(sp1,sp2));
@expansion{} (-1/2,1),(-3/10,2),(-1/6,1),(-1/10,2),(0,1),(1/10,2),(1/6,1),(3/10,2),(1/\
   2,1)
@c end example spadd d2t_singular/gaussman_lib.doc:681
@end smallexample
@c ---end content spadd---

@c ------------------- spsub -------------
@node spsub, spmul, spadd, gaussman_lib
@subsubsection spsub
@cindex spsub
@c ---content spsub---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spsub(sp1,sp2); list sp1, list sp2

@item @strong{Return:}
list sp; difference of spectra sp1 and sp2

@end table
@strong{Example:}
@smallexample
@c computed example spsub d2t_singular/gaussman_lib.doc:710 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp1=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp1);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
list sp2=list(ideal(-1/6,1/6),intvec(1,1));
spprint(sp2);
@expansion{} (-1/6,1),(1/6,1)
spprint(spsub(sp1,sp2));
@expansion{} (-1/2,1),(-3/10,2),(-1/6,-1),(-1/10,2),(0,1),(1/10,2),(1/6,-1),(3/10,2),(\
   1/2,1)
@c end example spsub d2t_singular/gaussman_lib.doc:710
@end smallexample
@c ---end content spsub---

@c ------------------- spmul -------------
@node spmul, spissemicont, spsub, gaussman_lib
@subsubsection spmul
@cindex spmul
@c ---content spmul---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spmul(sp0,k); list sp0, int[vec] k

@item @strong{Return:}
list sp; linear combination of spectra sp0 with coefficients k

@end table
@strong{Example:}
@smallexample
@c computed example spmul d2t_singular/gaussman_lib.doc:739 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
spprint(spmul(sp,2));
@expansion{} (-1/2,2),(-3/10,4),(-1/10,4),(0,2),(1/10,4),(3/10,4),(1/2,2)
list sp1=list(ideal(-1/6,1/6),intvec(1,1));
spprint(sp1);
@expansion{} (-1/6,1),(1/6,1)
list sp2=list(ideal(-1/3,0,1/3),intvec(1,2,1));
spprint(sp2);
@expansion{} (-1/3,1),(0,2),(1/3,1)
spprint(spmul(list(sp1,sp2),intvec(1,2)));
@expansion{} (-1/3,2),(-1/6,1),(0,4),(1/6,1),(1/3,2)
@c end example spmul d2t_singular/gaussman_lib.doc:739
@end smallexample
@c ---end content spmul---

@c ------------------- spissemicont -------------
@node spissemicont, spsemicont, spmul, gaussman_lib
@subsubsection spissemicont
@cindex spissemicont
@c ---content spissemicont---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spissemicont(sp[,1]); list sp, int opt

@item @strong{Return:}
@format
int k=
  1;  if sum of sp is positive on all intervals [a,a+1) [and (a,a+1)]
  0;  if sum of sp is negative on some interval [a,a+1) [or (a,a+1)]
@end format

@end table
@strong{Example:}
@smallexample
@c computed example spissemicont d2t_singular/gaussman_lib.doc:775 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp1=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp1);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
list sp2=list(ideal(-1/6,1/6),intvec(1,1));
spprint(sp2);
@expansion{} (-1/6,1),(1/6,1)
spissemicont(spsub(sp1,spmul(sp2,3)));
@expansion{} 1
spissemicont(spsub(sp1,spmul(sp2,4)));
@expansion{} 0
@c end example spissemicont d2t_singular/gaussman_lib.doc:775
@end smallexample
@c ---end content spissemicont---

@c ------------------- spsemicont -------------
@node spsemicont, spmilnor, spissemicont, gaussman_lib
@subsubsection spsemicont
@cindex spsemicont
@c ---content spsemicont---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spsemicont(sp0,sp,k[,1]); list sp0, list sp

@item @strong{Return:}
@format
list l;
  intvec l[i];  if the spectra sp0 occur with multiplicities k
                in a deformation of a [quasihomogeneous] singularity
                with spectrum sp then k<=l[i]
@end format

@end table
@strong{Example:}
@smallexample
@c computed example spsemicont d2t_singular/gaussman_lib.doc:810 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp0=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp0);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
list sp1=list(ideal(-1/6,1/6),intvec(1,1));
spprint(sp1);
@expansion{} (-1/6,1),(1/6,1)
list sp2=list(ideal(-1/3,0,1/3),intvec(1,2,1));
spprint(sp2);
@expansion{} (-1/3,1),(0,2),(1/3,1)
list sp=sp1,sp2;
list l=spsemicont(sp0,sp);
l;
@expansion{} [1]:
@expansion{}    3
@expansion{} [2]:
@expansion{}    2,1
spissemicont(spsub(sp0,spmul(sp,l[1])));
@expansion{} 1
spissemicont(spsub(sp0,spmul(sp,l[1]-1)));
@expansion{} 1
spissemicont(spsub(sp0,spmul(sp,l[1]+1)));
@expansion{} 0
@c end example spsemicont d2t_singular/gaussman_lib.doc:810
@end smallexample
@c ---end content spsemicont---

@c ------------------- spmilnor -------------
@node spmilnor, spgeomgenus, spsemicont, gaussman_lib
@subsubsection spmilnor
@cindex spmilnor
@c ---content spmilnor---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spmilnor(sp); list sp

@item @strong{Return:}
int mu; Milnor number of spectrum sp

@end table
@strong{Example:}
@smallexample
@c computed example spmilnor d2t_singular/gaussman_lib.doc:846 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
spmilnor(sp);
@expansion{} 11
@c end example spmilnor d2t_singular/gaussman_lib.doc:846
@end smallexample
@c ---end content spmilnor---

@c ------------------- spgeomgenus -------------
@node spgeomgenus, spgamma, spmilnor, gaussman_lib
@subsubsection spgeomgenus
@cindex spgeomgenus
@c ---content spgeomgenus---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spgeomgenus(sp); list sp

@item @strong{Return:}
int g; geometrical genus of spectrum sp

@end table
@strong{Example:}
@smallexample
@c computed example spgeomgenus d2t_singular/gaussman_lib.doc:873 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
spgeomgenus(sp);
@expansion{} 6
@c end example spgeomgenus d2t_singular/gaussman_lib.doc:873
@end smallexample
@c ---end content spgeomgenus---

@c ------------------- spgamma -------------
@node spgamma,, spgeomgenus, gaussman_lib
@subsubsection spgamma
@cindex spgamma
@c ---content spgamma---
Procedure from library @code{gaussman.lib} (@pxref{gaussman_lib}).

@table @asis
@item @strong{Usage:}
spgamma(sp); list sp

@item @strong{Return:}
number gamma; gamma invariant of spectrum sp

@end table
@strong{Example:}
@smallexample
@c computed example spgamma d2t_singular/gaussman_lib.doc:900 
LIB "gaussman.lib";
ring R=0,(x,y),ds;
list sp=list(ideal(-1/2,-3/10,-1/10,0,1/10,3/10,1/2),intvec(1,2,2,1,2,2,1));
spprint(sp);
@expansion{} (-1/2,1),(-3/10,2),(-1/10,2),(0,1),(1/10,2),(3/10,2),(1/2,1)
spgamma(sp);
@expansion{} 1/240
@c end example spgamma d2t_singular/gaussman_lib.doc:900
@end smallexample
@c ---end content spgamma---
