|
A.20 Puiseux pairs
The Puiseux pairs of an irreducible and reduced curve singularity are
its most important invariants. They can be computed from its
Hamburger-Noether expansion. The library hnoether.lib written by
Martin Lamm uses the algorithm of Antonio Campillo "Algebroid curves in
positive characteristic" SLN 813, 1980. This algorithm has the
advantage that it needs least possible field extensions and, moreover,
works in any characteristic. This fact can be used to compute the
invariants over a field of finite characteristic, say 32003, which will
then most probably be the same in characteristic 0.
We compute the Hamburger-Noether expansion of a plane curve
singularity given by a polynomial
in two variables. This is a
matrix which allows to compute the parametrization (up to a given order)
and all numerical invariants like the
-
characteristic exponents,
-
Puiseux pairs (of a complex model),
-
degree of the conductor,
-
delta invariant,
-
generators of the semigroup.
Besides this, the library contains procedures to compute the Newton
polygon of
, the squarefree part of
and a procedure to
convert one set of invariants to another.
| LIB "hnoether.lib";
// ======== The irreducible case ========
ring s = 0,(x,y),ds;
poly f = y4-2x3y2-4x5y+x6-x7;
list hn = develop(f);
show(hn[1]); // Hamburger-Noether matrix
==> // matrix, 3x3
==> 0,x, 0,
==> 0,1, x,
==> 0,1/4,-1/2
displayHNE(hn); // Hamburger-Noether development
==> HNE[1]=-y+z(0)*z(1)
==> HNE[2]=-x+z(1)^2+z(1)^2*z(2)
==> HNE[3]=1/4*z(2)^2-1/2*z(2)^3
setring s;
displayInvariants(hn);
==> characteristic exponents : 4,6,7
==> generators of semigroup : 4,6,13
==> Puiseux pairs : (3,2)(7,2)
==> degree of the conductor : 16
==> delta invariant : 8
==> sequence of multiplicities: 4,2,2,1,1
// invariants(hn); returns the invariants as list
// partial parametrization of f: param takes the first variable
// as infinite except the ring has more than 2 variables. Then
// the 3rd variable is chosen.
param(hn);
==> // ** Warning: result is exact up to order 5 in x and 7 in y !
==> _[1]=1/16x4-3/16x5+1/4x7
==> _[2]=1/64x6-5/64x7+3/32x8+1/16x9-1/8x10
ring extring=0,(x,y,t),ds;
poly f=x3+2xy2+y2;
list hn=develop(f,-1);
param(hn); // partial parametrization of f
==> // ** Warning: result is exact up to order 2 in x and 3 in y !
==> _[1]=-t2
==> _[2]=-t3
list hn1=develop(f,6);
param(hn1); // a better parametrization
==> // ** Warning: result is exact up to order 6 in x and 7 in y !
==> _[1]=-t2+2t4-4t6
==> _[2]=-t3+2t5-4t7
// instead of recomputing you may extend the development:
list hn2=extdevelop(hn,12);
param(hn2); // a still better parametrization
==> // ** Warning: result is exact up to order 12 in x and 13 in y !
==> _[1]=-t2+2t4-4t6+8t8-16t10+32t12
==> _[2]=-t3+2t5-4t7+8t9-16t11+32t13
//
// ======== The reducible case ========
ring r = 0,(x,y),dp;
poly f=x11-2y2x8-y3x7-y2x6+y4x5+2y4x3+y5x2-y6;
// = (x5-1y2) * (x6-2x3y2-1x2y3+y4)
list hn=reddevelop(f);
show(hn[1][1]); // Hamburger-Noether matrix of 1st branch
==> // matrix, 3x3
==> 0,x,0,
==> 0,1,x,
==> 0,1,-1
displayInvariants(hn);
==> --- invariants of branch number 1 : ---
==> characteristic exponents : 4,6,7
==> generators of semigroup : 4,6,13
==> Puiseux pairs : (3,2)(7,2)
==> degree of the conductor : 16
==> delta invariant : 8
==> sequence of multiplicities: 4,2,2,1,1
==>
==> --- invariants of branch number 2 : ---
==> characteristic exponents : 2,5
==> generators of semigroup : 2,5
==> Puiseux pairs : (5,2)
==> degree of the conductor : 4
==> delta invariant : 2
==> sequence of multiplicities: 2,2,1,1
==>
==> -------------- contact numbers : --------------
==>
==> branch | 2
==> -------+-----
==> 1 | 2
==>
==> -------------- intersection multiplicities : --------------
==>
==> branch | 2
==> -------+-----
==> 1 | 12
==>
==> -------------- delta invariant of the curve : 22
param(hn[2]); // parametrization of 2nd branch
==> _[1]=x2
==> _[2]=x5
|
|