|
D.6.1.2 totalmultiplicities
Procedure from library alexpoly.lib (see alexpoly_lib).
- Usage:
- totalmultiplicities(INPUT); INPUT poly or list
- Assume:
- INPUT is either a REDUCED bivariate polynomial defining a plane curve singularity,
or the output of
hnexpansion(f[,"ess"]) , or the list hne in
the ring created by hnexpansion(f[,"ess"]) , or the output of
develop(f) resp. of extdevelop(f,n) , or a list containing
the contact matrix and a list of integer vectors with the characteristic exponents
of the branches of a plane curve singularity, or an integer vector containing the
characteristic exponents of an irreducible plane curve singularity.
- Return:
- list
L of three integer matrices. L[1] is the incidence matrix of
the resolution graph of the plane curve defined by INPUT, where the entries on the
diagonal are the weights of the vertices of the graph and a negative entry corresponds
to the strict transform of a branch of the curve. L[2] is an integer matrix,
which has for each vertex in the graph a row and for each branch of the curve a column.
The entry in position [i,j] contains the total multiplicity of the j-th branch (i.e. the
branch with weight -j in L[1] ) along the exceptional divisor corresponding
to the i-th row in L[1] . In particular, the i-th row contains
the total multiplicities of the branches of the plane curve (defined by INPUT) along
the exceptional divisor which corresponds to the i-th row in the incidence matrix
L[1] . L[3] is an integer matrix which contains the (strict) multiplicities
of the branches of the curve along the exceptional divisors in the same way as L[2]
contains the total multiplicities.
- Note:
- The total multiplicity of a branch along an exceptional divisor is the multiplicity
with which this exceptional divisor occurs in the total transform of this branch
under the resolution corresponding to the resolution graph.
In case the Hamburger-Noether expansion of the curve f is needed
for other purposes as well it is better to calculate this first
with the aid of hnexpansion and use it as input instead of
the polynomial itself.
If you are not sure whether the INPUT polynomial is reduced or not, use
squarefree(INPUT) as input instead.
Example:
| LIB "alexpoly.lib";
ring r=0,(x,y),ls;
poly f1=(y2-x3)^2-4x5y-x7;
poly f2=y2-x3;
poly f3=y3-x2;
totalmultiplicities(f1*f2*f3);
==> [1]:
==> 1,0,1,0,0,0,0,0,1,0,
==> 0,2,1,0,0,0,0,0,0,0,
==> 1,1,3,0,1,0,0,0,0,0,
==> 0,0,0,4,1,0,1,0,0,0,
==> 0,0,1,1,5,1,0,0,0,0,
==> 0,0,0,0,1,-1,0,0,0,0,
==> 0,0,0,1,0,0,-2,0,0,0,
==> 0,0,0,0,0,0,0,2,1,0,
==> 1,0,0,0,0,0,0,1,3,1,
==> 0,0,0,0,0,0,0,0,1,-3
==> [2]:
==> 4,2,2,
==> 6,3,2,
==> 12,6,4,
==> 13,7,4,
==> 26,13,8,
==> 0,0,0,
==> 0,0,0,
==> 4,2,3,
==> 8,4,6,
==> 0,0,0
==> [3]:
==> 4,2,2,
==> 2,1,0,
==> 2,1,0,
==> 1,1,0,
==> 1,0,0,
==> 0,0,0,
==> 0,0,0,
==> 0,0,1,
==> 0,0,1,
==> 0,0,0
| See also:
alexanderpolynomial;
develop;
hnexpansion;
resolutiongraph.
|