Lecture 15
Previous Lecture |
Next Lecture |
Contents
Newton-Puiseux algorithm
- It is possible to "solve" the equation:
f(x,y)=0
where f(x,y) is analytic at (0,0) and f(0,0)=0
- The solution takes the form of the Puiseux series
- The Macsyma function taylor_solve will perform
an algorithm (Newton-Puiseux) in order to solve this equation.
- The following sample output illustrates
the solution obtained for the equation
x3+3xy2+y5
- Every power series obtained in the solution has the form
y=g(x1/q)
where g(u) is analytic at 0 and g(0)#0 (not equal to 0, Macsyma style!) , and
q is a certain integer.
Moreover, we may assume that GCD({i: fi#0})=1, so that the
multi-valued mapping
x ----> g(x1/q)
where |x| < epsilon, and epsilon is sufficiently
small, parameterizes a connected component of the set
V(epsilon) = { (x,y)#(0,0): f(x,y)=0, |x| < epsilon 1/q ,
|y| < delta }
for some delta > 0.
- A Puiseux series is simply a shorthand for the pair of parametric
equations
x=uq
y=g(u)
which is supposed to parameterize the solutions of f(x,y)=0 near 0.
Newton-Puiseux algorithm and the resolution of singularities
A definition
The Newton polygon NP(f) of the power series
f(x,y) in C[[x,y]]
is the convex hull of the set of the points of the integer lattice:
{(m,n): there is k<=m and l<=n such that fk,l #
0}
An example
If f(x,y)=x3+3xy2+y5
then the Newton polygon NP(f) is
- Every solid or transparent circle is in NP(f)
- Every solid circle is an extreme point (vertex) of NP(f)
- The point (2,1) is on the boundary of NP(f) but not a vertex of
NP(f); pay attention to such points!
- The slopes of the boundary segments of the Newton polygon (except
for those lying on the axis) are related to the leading powers of the power
series solutions to the equation f(x,y)=0; the slopes are
-1 and -3; the powers are of the form -1/slope, i.e. 1 and 1/3.
A theorem
Let f(x,y) be a power series in C[[x,y]] such that
f(0,y)# 0 (this property is called "regularity" in y)
- there exist excatly N power series solutions of the equation
f(x,y)=0
where N is the order of 0 as a zero of f(0,y), i.e.
f(0,y)=cyN+O(yN+1), c#0.
- Each power series is of the form
y=g(x1/q)
where g(u) is a power series in u and q is an integer. The power series of g(u)
depends on a finite number parameters k0,k1,... which
satisfy algebraic equations of the form
hl(kl)=0
- In general, each power series has to be counted with a certain
multiplicity to add up to N
- The multiplicity is 1 if the power series is square free
i.e. when factored in the ring C[[x,y]] into a product of powers of prime
elements, it will have each prime factor in power 1. However, the algorithm
in general will produce a correct multiplicity of each power series.
- If f(x,y) is convergent in a neghborhood of (0,0) then each of the power
series g(u) is convergent. Moreover, every sufficiently close to (0,0)
solution of the equation (x,y) is obtained from exactly one power series
for exactly one choice of constants kl.
Proof
This is really a sketch of the proof, but it describes the algorithm
for calculating power series solutions with enough detail
to produce the solutions by hand. We are going to illustrate the steps
with the equation x3+3xy2+y5=0.
- First, we divide the series f(x,y) by the maximal monomial xa
yb so that f(0,y) and f(x,0) are non-zero power series. This is
equivalent to saying that there is an edge of NP(f) on each axis. The zero
solution y=0+... is counted with multiplicity b. If after this step
f(0,0)#0 then there are no solutions to f(x,y)=0 and we discard
this case.
- Let (mj,nj) be the vertices of the Newton polygon
NP(f); let us assume that
0=m0 < m1 < ... < mr
n0 > n1 > ... > nr=0
- Let alphaj be the negative slopes of the
edges of the Newton polygon, i.e.
alphaj=
-(mj+1-mj)/(nj+1-nj)=
pj/qj
- We consider the substitution, where p=pj and q=qj:
x=uq
y=upv
The equation f(x,y)=0 can be written as follows:
summ,n fm,numq+np vn =
0
- Let us study the minimum of the linear functional
(m,n) ---> mq + np on the Newton polygon:
L=min{ mq+np: (m,n) in NP(f) };
we note that (p,q) is a vector normal
to the edge of NP(f) containing the edge connecting the vertex
Pj=(mj,nj)
to the next vertex
Pj+1=(mj+1,nj+1)
thus the minimum L is assumed on both vertices Pj and
Pj+1.
- We re-write the equation f(x,y)=0 as follows
sum{(m,n):mq+np=L} fm,n vn =
- sum{(m,n):mq+np>L} fm,n umq+np-L
vn
This equation if of the form
F(v)=G(u,v)=uG1(u,v)
i.e. the right-hand side is small when u is near 0.
- If the polynomial F(v) is linear in v, say, F(v)=cv, c#0 then we
solve the equation F(v)=G(u,v) using the method of undetermined coefficients.
The Implicit Function Theorem guarantees that the solution v=g(u) is
analytic, or it is a formal power series with no fractional powers.
Let us tentatively assign multiplicity 1 to every such power series. Later
on we will propagate the multiplicity up the computation tree.
- If deg(F)>1 then let us factor the polynomial F(v):
F(v)=c product{j:1<=j<=t} (v-kj)rj
Subsequently, for every j we translate the variable v
by kj. Thus, for every j we study the equation
F(v+kj)=G(u,v+kj)
We note that this equation explicitly involves kj which is a
solution of the equation F(kj)=0. This is how new constants
algebraic over the initial coefficients appear in the final power series g. We
call our algorithm recursively on the equation
hj(u,v)=0
where
hj(u,v)=F(v+kj)-G(u,v+kj)
- Let us assume that every power series v=g(u1/nu) obtained in the
previous step as a solution of hj(u,v)=0 has some tentative
multiplicity s. This equation could be re-written as a pair
u=wnu
v=g(w)
This series will be back-substituted into the equations
x=uq, y=upv
to obtain a solution to the equation f(x,y)=0.
The resulting series y=xp/qg(x1/(q nu)) will be assigned
multiplicity rjs. This could be re-written of course as a pair of
equations:
x=wnu q
y=wnu p (kj+g(w))
(Remember that v was shifted!) It is not difficult to see that
if p and q are co-prime, this parameterization yields no point twice,
provided that GCD({j: gj #0 })=1.
- A priori the above algorithm could never terminate. However, as
long as we can split the equation into two with a lower degree of y, we may
proceed. Moreover, the powers of y split between the resulting equations,
and it drops along any branch of the tree of polynomials created by the
algorithm. Thus the resulting process must terminate.
A remark on algebraic constants
The algorithm requires keeping track of a number of constants
k0, k1, k2,... which are
algebraic over the initial coefficients of the equation f(x,y)=0.
Also, in the recursive steps we need to be able to determine whether
various polynomial expressions in this constants are actually equal to 0
in order to find the Newton polygon.
The full generality requires that the information about the constant
kj be kept in the form of its minimal polynomial, i.e. an equation
Pj(kj)=0, where P is a monic polynomial with rational
coefficients and has minimal possible degree. The theory of algebraic
extensions lets us reduce every rational expression in constants kj
to a polynomial
sumJ aJ kJ
where J=(j0,j1,...,) is a multi-index
and the degree of this polynomial in kj is strictly less
than the degree of Pj. This expression is zero iff
all coefficients are zero. All algorithms involved are constructive
and available in computer algebra systems. They are
- division of polynomials in one variable (long division)
- computation of GCD over rationals (Euclid algorithm)
- factorization of polynomials over rationals
- square-free part of a polynomial, which is the same as
f(x)/ GCD(f(x),f'(x))
when the field of coefficients has characteristic 0.
A practical consideration when F(v) factors
In the above algorithm, when F(v) factors, each factor should be considered
separately. Factorization over complex numbers cannot be constructively
performed and thus in the above Newton-Puiseux algorithm we should find all
irreducible factors of F(v) over the rational numbers and proceed separately
with each factor. Thus, let Pj(v), be all rational
irreducible factors of F(v). For each factor we introduce an algebraic
"constant" kj (in practice, it is just another variable)
satisfying the equation Pj(kj)=0. We branch the algorithm
for each j. This modification to the algorithm yields the previous version
if we assume that factorization over the complex numbers can be performed
constructively, i.e. every Pj(v) is linear.
Go to the beginning of this lecture