Next Article in Journal
Chaos and Cellular Automata-Based Substitution Box and Its Application in Cryptography
Next Article in Special Issue
Uniform {Ch,S(Ch)}-Factorizations of KnI for Even h
Previous Article in Journal
Ulam–Hyers Stability and Well-Posedness of Fixed Point Problems in C*-Algebra Valued Bipolar b-Metric Spaces
Previous Article in Special Issue
Recognition and Implementation of Contact Simple Map Germs from (ℂ2, 0) → (ℂ2, 0)
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Newton–Puiseux Algorithm and Triple Points for Plane Curves

1
Dipartimento di Scienze Matematiche, Politecnico di Torino, 10129 Torino, Italy
2
Dipartimento di Matematica, Università di Bologna, 40126 Bologna, Italy
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(10), 2324; https://doi.org/10.3390/math11102324
Submission received: 18 January 2023 / Revised: 2 April 2023 / Accepted: 5 May 2023 / Published: 16 May 2023

Abstract

:
The paper is an introduction to the use of the classical Newton–Puiseux procedure, oriented towards an algorithmic description of it. This procedure allows to obtain polynomial approximations for parameterizations of branches of an algebraic plane curve at a singular point. We look for an approach that can be easily grasped and is almost self-contained. We illustrate the use of the algorithm first in a completely worked out example of a curve with a point of multiplicity 6, and secondly, in the study of triple points on reduced plane curves.

1. Introduction

The study of singular points of algebraic plane curves is a very classical subject in algebraic geometry, and a renewed interest in this subject has come from its connections with applications (e.g., in CAD). Rational curves have been of particular interest from this point of view, since they can be parameterized and so they are particularly suited for plotting a design. Hence, finding ways to describe plane rational curves at their singular points (more specifically, finding algorithms that can do that) has been quite a prominent subject of research; many results have been obtained by attacking this problem from different points of view (e.g., see [1,2,3]).
When the curve is not rational, one cannot rely on the advantage of a parameterized curve, nevertheless, there are local parameterizations of the branches of the curve at one of its points, albeit not given by polynomials, but rather by power series. Namely, if the curve is defined by a polynomial f ( x , y ) C [ x , y ] , with f ( 0 , 0 ) = 0 , one can find parameterizations T ( T m , p ( T ) ) , p ( T ) C { T } , the ring of convergent power series in T, such that f ( T m , p ( T ) ) = 0 , p ( 0 ) = 0 . Every such parameterization (where p ( T ) gives a holomorphic function defined in a neighborhood of the point) describes a branch of f ( x , y ) at ( 0 , 0 ) . For example, the curve C , defined by 2 x y 2 y 3 + x 2 y 2 2 x 6 + x 5 y + x 7 x 6 y + x 8 x 9 = 0 , has two branches at O = ( 0 , 0 ) , given by ( T , 2 T + ) and ( T 2 , T 5 + ) . The first branch is a smooth one, while the second has a double point (a ramphoid cusp).
The way to obtain these parameterizations is via the Puiseux series and the Newton–Puiseux algorithm; these are quite a classical subject of study (the idea goes back to Newton, then was rediscovered by Puiseux, see [4,5,6]), but their knowledge is not so widespread. Hence, we consider it worthwhile to present a concise and self-contained introduction to their use which could be useful, especially for graduate students and young researchers.
We work on C and we consider a Puiseux series as a power series where positive rational exponents also appear; we denote by C { { x } } the ring of such series (for this ring there is not a standard symbol). In some texts, the name Puiseux series is used for series where also a finite number of negative rational exponents is allowed and in this case, Puiseux series would form a field K (namely, the quotient field of our ring C { { x } } ). With this approach, the core result of this theory can be stated as The field K is algebraically closed. This theorem, also called the Newton–Puiseux Theorem, can be found with a concise but not constructive proof in [7] and with a different and somewhat simpler (but again non-constructive) proof in [8]. From this point of view, the branches of an algebraic curve given by f C [ x , y ] are given by the linear factors of f as an element of K [ y ] : f = a i = 1 m ( y y ¯ i ) , where a, and the y ¯ i ’s (not necessarily distinct) are in K, while m is the multiplicity of C at O (e.g., see the exposition in [9]).
Detailed treatises of the theory (apart from the early references of Newton and Puiseux themselves) can be found for example in ([chs. 6, 7], [10]), ([chs. 7, 8 and appx. 4], [11]), ([ch. 1 sec. 3], [12]), ([ch. IV], [9]). A constructive approach, in order to find explicitly the parameterization of the branches, is given by the Newton–Puiseux Algorithm; e.g., this is the way the Newton–Puiseux Theorem is proved in [9] (but also there the algorithm is not completely constructive, see ([Intro], [13])).
For a more constructive approach, which also considers non-algebrically closed fields or finite ones instead of just C , one can consider [13,14,15,16], and the references therein, where also discussions about the search for efficient computational versions of the algorithm can be found.
The first aim of this paper is to expound a handy and compact version of the Newton–Puiseux procedure (over C ), which avoids involving negative exponents and is given by an algorithm “as concise as possible”, together with a self-contained justification of why it actually works (which avoids the proof of the Newton–Puiseux Theorem, although we use [9] as the main reference for some details) and a “Stop criterion” which allows to obtain good polynomial approximations of the series which give the local branches of the curve.
The plan of the paper is as follows: after a section of preliminaries (Section 2), in Section 3, we describe our version of the Newton–Puiseux Algorithm for the branches of a reduced algebraic curve at a singular point. The way we proceed is the following: first, we describe two essential tools for the Algorithm: the ∗-procedure and a graph G f associated to the curve. Such a graph G f will guide the steps of the Algorithm. The next essential tool for the Algorithm is the “Stop criterion”, which we describe immediately after, and we show how it works in making G f a finite graph (so that the procedures can come to an end). After that, we have all the main ingredients for the Algorithm and we have also pointed out what is still missing to obtain a complete justification of why it works; in the following Section 3.3, we present all the necessary lemmata which answer those remaining questions (this subsection is quite technical, so a reader who is less interested in such matter can skip it and still have a good understanding of how the Algorithm works). Eventually, in Section 3.4, we write the formal Algorithm (Algorithm 1) and then an easier version of it (Algorithm 2), which can be used in case one already knows the irreducible decomposition of the curve, also when f is not reduced. In order to fully illustrate the way the given Algorithm works, in Section 3.5, we present an example of its application on a curve which possesses several branches at a point of multiplicity 6.
In Section 4, we present an application of Algorithm 1, which is the second aim of the paper: in Theorem 4.3, we use it in order to obtain the description of all possible structures of a triple point with a triple tangent (of course, one can apply the Algorithm also if the triple point has two or three tangents, but in this case, the possibilities for its structure are well known). Moreover, when C is of cuspidal type, i.e., it has only a 3-branch, we see that its parameterization can be characterized by an invariant which we call its type (see Definition 8). The type is a number s N with s 4 and s 0 (mod 3) and the triple point is of type s if and only if the curve is analytically equivalent to ( T 3 , a s T s + ) and topologically equivalent to ( T 3 , T s ) .

2. Preliminaries

In the following, C is a reduced plane algebraic curve in A 2 ( C ) , of equation f = 0 , where f C [ x , y ] (we write for short C: f = 0 ) and O : = ( 0 , 0 ) is a point of C ; we denote with m O ( C ) the multiplicity of C at O. Given a formal power series s ( T ) C [ [ T ] ] , o ( s ) denotes the order of s ( T ) .
Definition 1. 
A formal parameterization of C at O is a pair ( p ( T ) , q ( T ) ) , with p ( T ) , q ( T ) C [ [ T ] ] , such that f ( p ( T ) , q ( T ) ) = 0 , p ( 0 ) = 0 and q ( 0 ) = 0 . Two formal parameterizations, ( p 1 , q 1 ) and ( p 2 , q 2 ) , are equivalent if there exists an invertible series s C [ [ T ] ] such that ( p 1 , q 1 ) = ( p 2 s , q 2 s ) . Moreover, a formal parameterization is called reduced if it is not equivalent to a formal parameterization of the form ( p ( T m ) , q ( T m ) ) , m > 1 .
Definition 2. 
A branch of C at O is a class of equivalent formal reduced parameterizations of C at O.
Remark 1. 
It can be shown (see, for example, ([ch. IV, Theorem 2.2], [9])) that in a suitable coordinate system any given parameterization is equivalent to one of the type
( T n , p ( T ) )
where p ( T ) C [ [ T ] ] . Moreover, two such parameterizations
( T n , p ( T ) ) , ( T m , q ( T ) )
are equivalent if and only if n = m and there exists an n-th root of the unity ω such that p ( ω T ) = q ( T ) .
Remark 2. 
Sometimes, what we defined as a branch of C at O is called a place of C at O and it can be viewed as the algebraic counterpart of the more usual analytical definition of branch. However, the two definitions are equivalent; more details can be found in (pp. 96–97, [9]).
Definition 3. 
Let R = ( p ( T ) , q ( T ) ) be a branch of C at O. We define the multiplicity of R at O to be the number m = m O ( R ) : = min o ( p ) , o ( q ) and we say that R is an m-branch of C . Moreover, if c and d are the coefficients of T m , respectively, in p and q, the line passing through O with direction ( c , d ) is called the tangent line of R.
Remark 3. 
It can be checked that the equation of the tangent cone to C at O is the product of the tangent lines (possibly repeated) to the different branches of C at O, with each one raised to the multiplicity of the corresponding branch. It follows that:
  • C has in each of its points a finite number of branches;
  • If t is a tangent of C at O with multiplicity m t and R 1 , , R s are the branches of C at O whose tangent is t, then i = 1 s m O ( R i ) = m t
  • If R 1 , , R n are the branches of C at O, then i = 1 n m O ( R i ) = m O ( C ) .
In order to find explicitly the branches of a curve, we will use the Newton–Puiseux Algorithm, which uses the Newton polygon and Puiseux series, which are nothing but power series where positive rational exponents are admitted. More formally, we have
Definition 4. 
A Puiseux series is an element p C x : = r = 1 C [ [ x 1 r ] ] . The minimum r such that p C [ [ x 1 r ] ] is called the lowest common denominator of p C x (it is also called order of polydromy, e.g., see [17]). The order of p is defined analogously to the formal series order.
Notice that a finite sum of Puiseux series is a Puiseux series, since if s 1 C [ [ x 1 r 1 ] ] , , s n C [ [ x 1 r n ] ] , then s 1 + + s n C [ [ x 1 r 1 r n ] ] .
Definition 5. 
A Puiseux y-polynomial is a polynomial f C { { x } } [ y ] of the form
f ( x , y ) = i = 0 n p i ( x ) y i
where each p i ( x ) has a finite number of terms, i.e., p 1 C [ x 1 r 1 ] , , p n C [ x 1 r n ] . Setting r = r 1 r n , we have that p 1 , , p n C [ x 1 r ] , hence, f is polynomial in C [ x 1 r , y ] .
A root of f is a series p ( x 1 q ) such that f ( x , p ( x 1 q ) ) = 0 .
Definition 6. 
A Puiseux y-polynomial f C [ x 1 r , y ] is called Newton convenient if f ( O ) = 0 and both x 1 r and y do not divide f (i.e., there are a , b N such that the monomials x a r and y b appear in f with non-zero coefficients).
We want to define the Newton polygon associated to such an f; the definition can actually be given for polynomials in any number of variables and, in general, is called Newton diagram (e.g., see ([Definition 2.14 pp. 121–122], [12])). We use only the two-dimensional Newton diagram for Newton-convenient Puiseux y-polynomials and we refer to it as Newton polygon (see also [9]).
Definition 7. 
Let f = i + j = 1 d a i j ( x 1 r ) i y j C [ x 1 r , y ] be a Newton-convenient Puiseux y-polynomial and let supp ( f ) : = { ( i r , j ) Q 2 , a i j 0 } be the support of f. The Newton Polygon of f, denoted by Γ ( f ) , is defined as follows:
  • Let P 1 be the leftmost point of supp ( f ) (notice that P 1 is on the y-axis; if there are more points with abscissa 0, we choose the lowest one). From P 1 , we rotate a vertical downward ray counterclockwise and stop rotating it when it meets the first point of supp ( f ) . We call P 2 the rightmost point of supp ( f ) met by this ray;
  • From P 2 , we rotate a vertical downward ray counterclockwise and we stop rotating it when it meets the first point of supp ( f ) . We call P 3 the rightmost point of supp ( f ) met by this ray;
  • We repeat this procedure until we reach a point P k + 1 on the x-axis.
For all P n , P n + 1 , we denote by b n the segment P n P n + 1 ¯ ; we set Γ ( f ) = { b 1 b k } and we say that b 1 , , b k are the edges of Γ ( f ) . The difference between the ordinates of P n and P n + 1 is called height of b n . For each b Γ ( f ) , we define the b-truncation of f as
f b = ( i r , j ) b Q 2 a i j ( x 1 r ) i y j .
Remark 4. 
We would like to point out a few easy properties of the Newton polygon which will be useful in the following: in the notation of the previous definition, consider the unbounded subset N of the first quadrant, x 0 , y 0 , whose border is given by the Newton Polygon, the ray from P 1 on the y-axis and the ray from P k + 1 on the x-axis. Then, by construction, N is convex. Hence, it is clear that there are neither vertical nor horizontal edges in the Newton Polygon and that all the edges have negative slope.
Example 1. 
Let us consider the following polynomial f C [ x 1 2 , y ] :
f = 2 y 6 + x 3 2 y 4 3 x 3 y 3 + x 7 2 y 4 + 3 x 4 y 3 x 9 2 y 2 + x 11 2 y 2 4 x 7 y 2 + x 15 2 y + x 19 2 y 7 x 12 + 4 x 25 2 .
Its Newton Polygon is given in Figure 1:
Figure 1. The Newton Polygon of f.
Figure 1. The Newton Polygon of f.
Mathematics 11 02324 g001
and we write Γ ( f ) = { b 1 , b 2 , b 3 , b 4 } . Moreover, we have:
f b 1 = 2 y 6 + x 3 2 y 4 , f b 2 = x 3 2 y 4 3 x 3 y 3 x 9 2 y 2 , f b 3 = x 9 2 y 2 + x 15 2 y , f b 4 = x 15 2 y 7 x 12 .
The next theorem is well known and it will be very useful in the following (its proof can be found, for example, in ([Theorem 6.4], [10])).
Theorem 1 
(Implicit Function Theorem for Puiseux series). Let
f = i = 0 d p i ( x ) y i C x [ y ] .
If p 0 ( 0 ) = 0 and p 1 ( 0 ) 0 , then ! p C x such that p ( 0 ) = 0 and f ( x , p ( x ) ) = 0 . Moreover, if p i C [ [ x 1 r ] ] for i = 1 , , d , then p C [ [ x 1 r ] ] .

3. The Newton–Puiseux Algorithm

The aim of this section is to present our version of the Newton–Puiseux Algorithm: for a reduced polynomial f = i + j = 1 d a i j x i y j , it yields an approximation of all the branches at O of the algebraic plane curve C : f = 0 . With this in mind, we present some preliminaries needed for the algorithm.

3.1. The ∗-Procedure and the Graph G f

In the following, h denotes a Puiseux y-polynomial with h ( O ) = 0 , h C [ x 1 r , y ] , and such that x 1 r h (recall that r N , r > 0 ). Hence, we consider powers of x with rational exponents, while the powers of y always have an integer exponent.
For the moment, we are just going to describe this procedure, which is the main tool for our Algorithm; later on (Section 3.3), we shall give the needed justifications in detail. In the procedure, we distinguish two cases, according to whether y h or not.
  Case y h : ̲ By assumption, x 1 r h , h ( O ) = 0 and y h , hence, h is Newton-convenient. We consider the Newton Polygon Γ ( h ) = b 1 , , b k of h. We set
h ( i ) : = h b i x u i y v i ; i = 1 , , k
where x u i and y v i are respectively the highest power of x and y such that h ( i ) C [ x 1 r , y ] . Moreover, we have h ( i ) ( O ) = 0 (this will be proved later).
We find all the s i roots q i 1 , q i s i of h ( i ) , considered as a polynomial in y; if 1 r i is the slope of b i , then h ( i ) has all its roots in C [ x r i ] and each q i j is of the form q i j ( x ) = c i j x r i with c i j C (this will be proved later).
We finally set
h ( i j ) : = h ( x , x r i ( c i j + z ) ) x m i , i = 1 , , k , j = 1 , , s i
where m i is the greatest power of x such that h ( i j ) C x [ z ] .
By construction, h ( i j ) is a Puiseux z-polynomial, and if h ( i j ) is in, say, C [ x 1 b , y ] , then x 1 b h . Moreover, we have h ( i j ) ( O ) = 0 (this will be proved later). Therefore, the result of the procedure is:
s i = s i ( h ) , q i j = q i j ( h ) , c i j = c i j ( h ) , r i = r i ( h ) , h ( i j ) , i = 1 , , k , j = 1 , , s i .
Case y h ̲ : Let y e be the greatest power of y such that h ^ : = h ( x , y ) y e C x [ y ] . We have two subcases: h ^ ( O ) 0 and h ^ ( O ) = 0 .
  • If h ^ ( O ) 0 , we ignore h ^ and we take into account uniquely the contribution given by the root y = 0 of h, in the following way: we define a virtual Newton Polygon Γ ( h ) with just one edge and we set, with an abuse of notation:
    Γ ( h ) : = { b 1 } , s 1 : = 1 , q 11 : = 0 , c 11 = 0 , r 1 : = 0 , h ( 11 ) : = 0 .
  • If h ^ ( O ) = 0 , we take into account the contribution given by h ^ as well as the one given by the root y = 0 , in the following way: h ^ being Newton-convenient, we can consider the Newton Polygon Γ ( h ^ ) = b 1 b k of h ^ and apply the procedure defined in Case y h to the Puiseux y-polynomial h ^ ; we rename the results of the procedure as follows:
    s i ( h ) : = s i ( h ^ ) , q i j ( h ) = q i j ( h ^ ) , c i j ( h ) : = c i j ( h ^ ) , r i ( h ) : = r i ( h ^ ) , h ( i j ) : = h ^ ( i j ) , i = 1 , , k , j = 1 , , s i .
    Moreover, we add a further virtual edge b k + 1 and we set, with an abuse of notation:
    Γ ( h ) : = { b 1 , , b k , b k + 1 } , s k + 1 : = 1 , q ( k + 1 ) 1 : = 0 , c ( k + 1 ) 1 = 0 , r k + 1 : = 0 , h ( ( k + 1 ) 1 ) : = 0 .
Summarizing, the input of the ∗-procedure is a Puiseux y-polynomial h C [ x 1 r , y ] such that x 1 r h and h ( O ) = 0 , and the output is made of:
s i = s i ( h ) N , r i = r i ( h ) Q + , c i j = c i j ( h ) C
and some Puiseux z-polynomials h ( i j ) C x [ z ] , for any choice of the edge b i of Γ ( h ) and for any q i j relative to that edge.
Moreover, each polynomial h ( i j ) in the output either satisfies the necessary conditions to apply again the ∗-procedure, or h ( i j ) = 0 .
Example 2. 
Let us apply the ∗-Procedure to the polynomial
h = y 2 ( 2 y 6 + x 3 2 y 4 3 x 3 y 3 + x 7 2 y 4 + 3 x 4 y 3 x 9 2 y 2 + x 11 2 y 2 4 x 7 y 2 + x 15 2 y + x 19 2 y 7 x 12 + 4 x 25 2 ) C [ x 1 2 , y ] .
Following the notation of the ∗-Procedure, we are in case y | h with e = 2 and
h ^ = 2 y 6 + x 3 2 y 4 3 x 3 y 3 + x 7 2 y 4 + 3 x 4 y 3 x 9 2 y 2 + x 11 2 y 2 4 x 7 y 2 + x 15 2 y + x 19 2 y 7 x 12 + 4 x 25 2
so h ^ ( O ) = 0 and we apply the ∗-Procedure to h ^ . By Example 1, we know the Newton Polygon of h ^ and Γ ( h ^ ) = { b 1 , b 2 , b 3 , b 4 } , with
h ^ b 1 = 2 y 6 + x 3 2 y 4 , h ^ b 2 = x 3 2 y 4 3 x 3 y 3 x 9 2 y 2 , h ^ b 3 = x 9 2 y 2 + x 15 2 y , h ^ b 4 = x 15 2 y 7 x 12 .
As a consequence, we have
( u 1 , v 1 ) = ( 0 , 4 ) , ( u 2 , v 2 ) = 3 2 , 2 , ( u 3 , v 3 ) = 9 2 , 1 , ( u 4 , v 4 ) = 15 2 , 0
and thus
h ^ ( 1 ) = 2 y 6 + x 3 2 y 4 y 4 = 2 y 2 + x 3 2 , h ^ ( 2 ) = x 3 2 y 4 3 x 3 y 3 x 9 2 y 2 x 3 2 y 2 = y 2 3 x 3 2 y x 3
h ^ ( 3 ) = x 9 2 y 2 + x 15 2 y x 9 2 y = y + x 3 , h ^ ( 4 ) = x 15 2 y 7 x 12 x 15 2 = y 7 x 9 2 .
By computing the roots of the h ^ ( i ) ’s, considered as polynomials in y, we find:
q 11 ( c h ^ ) = 2 2 i x 3 4 , q 12 ( h ^ ) = 2 2 i x 3 4
q 21 ( h ^ ) = 3 + 13 2 x 3 2 , q 22 ( h ^ ) = 3 13 2 x 3 2
q 31 ( h ^ ) = x 3 , q 41 ( h ^ ) = 7 x 9 2
and we can compute the h ^ ( i j ) ’s just applying the definition but, since they are very long to write, we avoid giving them explicitly. At the end of the procedure, we add the virtual edge b 5 and we have our output:
the s i ( h ) ’s:
s 1 ( h ) = 2 , s 2 ( h ) = 2 , s 3 ( h ) = 1 , s 4 ( h ) = 1 , s 5 ( h ) = 1
the q i j ( h ) ’s:
q 11 ( h ) = 2 2 i x 3 4 , q 12 ( h ) = 2 2 i x 3 4 , q 21 ( h ) = 3 + 13 2 x 3 2 , q 22 ( h ) = 3 13 2 x 3 2
q 31 ( h ) = x 3 , q 41 ( h ) = 7 x 9 2 , q 51 ( h ) = 0
the c i j ( h ) ’s:
c 11 ( h ) = 2 2 i , c 12 ( h ) = 2 2 i , c 21 ( h ) = 3 + 13 2 , c 22 ( h ) = 3 13 2
c 31 ( h ) = 1 , c 41 ( h ) = 7 , c 51 ( h ) = 0
the r i ( h ) ’s:
r 1 ( h ) = 3 4 , r 2 ( h ) = 2 3 , r 3 ( h ) = 1 3 , r 4 ( h ) = 2 9 , r 5 ( h ) = 0
and the h ( i j ) ’s, with h ( i j ) = h ^ ( i j ) for i = 1 , 2 , 3 , 4 and h ( 51 ) = 0 .
Now, let f C [ x , y ] be a given polynomial, with f ( O ) = 0 and x f . We apply the ∗-Procedure successively to all the polynomials f , f ( i j ) , f ( i j ) ( l t ) , obtaining a graph G f , as described in Figure 2.
The 0-level consists only of the vertex f, the 1-level consists of the vertices f ( i j ) and so on, so that the n-level is composed of the vertices marked with 2 n indices.
Since, in general, Puiseux series have infinite terms, the ∗-Procedure, in general, does not end without a stop criterion.
Stop criterion 3.1. 
In order to have that G f is a finite graph, we stop the procedure every time that we meet a polynomial f ¯ such that one of the following conditions occurs:
(i) 
f ¯ = 0 ;
(ii) 
f ¯ satysfies the assumptions of Theorem 1, i.e., the monomial z appears in f ¯ with a non-zero coefficient (graphically, the Newton Polygon Γ ( f ¯ ) has a unique edge of height one).

3.2. The Paths on G f and the Branches of the Curve

We proceed considering every possible descending path γ in G f , starting from f 0 : = f and stopping when we reach an f ( i 1 j 1 ) ( i n j n ) , which satisfies ( i ) or ( i i ) of Section 3.1 above. Notice that, in general, we obtain paths of different lengths.
For each path γ , we call n-th step the passage from the n-level to the ( n + 1 ) -level of γ ; graphically, it is given by 3 vertices and 2 edges: the highest vertex is a polynomial f ( i 1 j 1 ) ( i n j n ) which from now on is denoted by f n ( γ ) and, since the ∗-Procedure introduces a new variable at each step, we consider f n ( γ ) C x [ y n ] . The middle vertex is associated with an edge of Γ ( f n ) which is now called a n ( γ ) and the lowest one is now called f n + 1 ( γ ) . When no confusion is possible, we will just write f n , a n , f n + 1 .
Once a path is fixed, we use the following notation for the ∗-Procedure at the n-th step, assuming that f n C [ x 1 r , y n ] , where r depends on γ and n, and that a n is not a “virtual edge” which sprouts from a zero root:
  • x u n and y n v n are, respectively, the highest power of x and y n such that:
    g n = f n a n ( x , y n ) x u n y n v n C { { x } } [ y n ] ;
  • q n = c n x r n is the chosen root of g n ;
  • m n is the highest power of x such that
    f n + 1 = f n ( x , x r n ( c n + y n + 1 ) ) x m n C { { x } } [ y n + 1 ] .
If, instead, a n is a “virtual edge”, we only have c n = 0 , r n = 0 , f n + 1 = 0 (so the path γ stops here by the stop criterion).

3.2.1. Each Path γ Gives the Approximation of a Branch

Let us consider an algebraic curve C , associated to f ( x , y ) = 0 and passing through the origin. In the notation above, each path γ gives the approximation of a branch of C at O in the following way:
If n ¯ is the lenght of the path γ , we set
p γ ( x ) : = n = 0 n ¯ c n x r 0 + + r n .
If no confusion arises we just write p ( x ) for p γ ( x ) .
Let r be the common lowest denominator of p ( x ) ; Theorem 1 guarantees that p ( x ) is the truncation of a Puiseux series p ˜ ( x ) , with common lowest denominator r. Moreover, the way the algorithm is constructed guarantees that f ( x , p ˜ ( x ) ) = 0 and p ˜ ( 0 ) = 0 , so that ( T r , p ( T r ) ) is the approximation of a branch ( T r , p ˜ ( T r ) ) of C at O. For more details, see (pp. 98–99, [9]).
The above procedure is summarized in the forthcoming Algorithm 1. Notice that in the Algorithm we start with a reduced curve C : f ( x , y ) = 0 , i.e., the polynomial f = f 0 is supposed to be without multiple factors. This, the forthcoming Lemma 6 implies that the case relative to a “virtual edge” (which would occur when f n ¯ 1 has a zero root, forcing the path γ to stop) can never occur, unless C has a branch coming from a component that is a rational curve, i.e., there is an algebraic branch at O. In other words, if ( i ) of the Stop criterion 3.1 occurs, it means that y n ¯ 1 f n ¯ 1 , i.e., 0 C x is a root of f n ¯ 1 : hence, we can stop following the path in question because the corresponding Puiseux series has a finite number of terms and we have found all of them.
Of course, the roots of f have, in general, infinite terms. Every time we apply the ∗-Procedure, we obtain a new polynomial which has a Newton Polygon whose height is ≤the previous one by Lemma 3. The criterion actually yields to a stop on any descending path in G f because f is reduced and this implies that each path on the graph ends with a step of height 1 (see also (p.105, [9])), hence, we end in case ( i i ) of the step, unless we ended in case ( i ) before.
If, once arrived at the n ¯ t h step, we are in case ( i i ) of the Stop criterion 3.1, i.e., f n ¯ ( x , y n ¯ ) satisfies the hypothesis of Theorem 1, we have that for any n n ¯ , there is a unique choice for c n and r n . This means that the root p ( x ) does not split anymore, i.e., if we were to go on along the path, from now on, there would be a unique possible choice at each step. Hence, we have found enough terms of p γ ( x ) to distinguish it from the other branches, therefore, we can stop the algorithm. Clearly, if one wants to calculate more terms of p ( x ) , it is enough to continue the procedure.
In conclusion, the Stop criterion 3.1 is a good one.

3.2.2. Justification of the Procedure

There are several results that are needed in order to show that we can actually perform the ∗-Procedure described in Section 3.1, namely:
(1)
In the ∗-Procedure, we need h ( i ) ( O ) = 0 , and the roots q i 1 , q i s i of h ( i ) need to be in C [ x 1 r ] , with q i j of the form q i j ( x ) = c i j x r i , c i j C ;
(2)
In order to keep applying the ∗-Procedure, we must show that the Puiseux z-polynomial h ( i j ) satisfies h ( i j ) ( O ) = 0 .
Rephrasing ( 1 ) and ( 2 ) in the language used above in this Section 3.2, we must show that:
(1)
g n ( O ) = 0 , and the roots q i 1 , q i s i of g n need to be in C [ x 1 r ] , with q i j of the form q i j ( x ) = c i j x r i , c i j C ;
(2)
f n + 1 ( O ) = 0 .
Finally, notice that we need to distinguish when the parameterizations we obtain in the algorithm are equivalent, in which case they give the same branch. Lemma 1 provides a criterion to do that. The fact that (1) and (2) above hold will be proved by Lemma 3 and Lemma 2 in the next section, respectively.

3.3. The Lemmata

This subsection is of a more technical sort. We present the lemmata which justify why the algorithm actually works.
Lemma 1. 
Let C : f ( x , y ) = 0 be a reduced curve such that x f and let
p ( x 1 r ) = i = 0 c i ( x 1 r ) i , p ( x 1 r ) = i = 0 c i ( x 1 r ) i
be two roots of f. Moreover, let γ and γ be the paths associated to p and p with the respective notation and set n ¯ = min n N | f n ( x , y n ) and f n ( x , y n ) satisfy   Theorem 1 . Then the parameterizations
( T r , p ( T ) ) , ( T r , p ( T ) )
are equivalent if and only if r = r and it exists ω such that ω r = 1 and
i = 0 n ¯ c i ( ω x 1 r ) i = i = 0 n ¯ c i ( x 1 r ) i .
Proof. 
If the parameterizations are equivalent, we conclude by Remark 1. By ([Ch. IV, Theorem 4.1], [9]), it follows that since p ( x 1 r ) is a root of f ( x , y ) , then also p ( ω x 1 r ) is a root of f ( x , y ) , where ω r = 1 . Moreover, since f n ¯ satisfies the assumptions of Theorem 1, there exists a unique root q ( x 1 r ) of f ( x , y ) such that
q ( x 1 r ) = i = 0 n ¯ c i ( x 1 r ) i +
hence, this root has to be p ( x 1 r ) . By assumption, we have
p ( ω x 1 r ) = i = 0 c i ( ω x 1 r ) i = i = 0 n ¯ c i ( ω x 1 r ) i + = i = 0 n ¯ c i ( x 1 r ) i +
so that p ( ω x 1 r ) = q ( x 1 r ) . Hence, we have p ( ω x 1 r ) = p ( x 1 r ) and the result follows by Remark 1.    □
Lemma 2. 
Notation as in Section 3.2. Let a n Γ ( f n ) , let ρ denotes its slope, and let c 1 c t be the distinct roots of g n ( 1 , y n ) , of multiplicity m 1 , , m t . Then, g n ( O ) = 0 , and the roots of g n ( x , y n ) C { { x } } [ y n ] are q n 1 ( x ) = c 1 x r n , , q n t ( x ) = c t x r n , where r n = 1 ρ ; more precisely, there is a constant α such that
g n ( x , y n ) = α s = 1 t ( y n c s x r n ) m s
where i = 1 t m i is equal to the height of a n . We say that m s is the multiplicity of c s as a root of g n .
Proof. 
We can assume that y f n , hence f n is Newton-convenient and we can consider its Newton Polygon Γ ( f n ) ; moreover, all its edges have strictly negative slopes by Remark 4. Hence, if ( i 1 , j 1 ) , , ( i r , j r ) are the points of a n ordered from left to right, we have i 1 < i 2 < < i r and j 1 > j 2 > > j r . Therefore, if we set
f n ( x , y n ) = ( i , j ) supp ( f n ) a i j x i y n j
we have
f n a n = k = 1 r a i k j k x i k y n j k , u i = i 1 , v i = j s
which in turn gives
g n ( x , y n ) = k = 1 r a i k j k x i k i 1 y n j k j r
so we can see that g n ( O ) = 0 . The slope of a n is ρ = j r j 1 i r i 1 ; we consider the possible roots of g n ( x , y n ) C { { x } } [ y n ] of the form y n = u x r n , u C , r n = 1 ρ . We have
g n ( x , y n ) = g n ( x , u x r n ) = k = 1 r a i k j k x i k i 1 + r n ( j k j r ) u j k j r .
Since ( i k , j k ) a n , k = 1 , , r , the following equation holds:
( j 1 j r ) ( i k i 1 ) = ( j k j 1 ) ( i 1 i r ) , k = 1 , , r
and therefore,
i k i 1 + r n ( j k j r ) = ( i k i 1 ) ( j r j 1 ) ( j k j r ) ( i r i 1 ) j r j 1 = i r i 1 , k = 1 , , r .
Hence, we have
g n ( x , y n ) = x i r i 1 k = 1 r a i k j k u j k j r .
Now, we define
h ( y n ) : = g n ( 1 , y n ) = k = 1 r a i k j k y n j k j r .
Since h ( y n ) C [ y n ] and deg ( h ) = j 1 j r , h ( y n ) factorizes as
h ( y n ) = a i 1 j 1 s = 1 t ( y n c s ) m s , w i t h c i c j and s = 1 t m s = j 1 j r .
Thus, we have
g n ( x , y n ) = x i r i 1 h ( u ) = a i 1 j 1 x i r i 1 s = 1 t ( u c s ) m s = a i 1 j 1 x i r i 1 s = 1 t ( y n x r n c s ) m s .
Since
r n s = 1 t m s = r n ( j 1 j r ) = i r i 1 ,
we obtain
g n ( x , y n ) = a i 1 j 1 s = 1 t x r n m s ( y n x r n c s ) m s = a i 1 j 1 s = 1 t ( y n c s x r n ) m s .
Therefore, the roots of g n are
q n 1 = c 1 x r n , , q n t = c t x r n
and we conclude the proof by observing that j 1 j r = s = 1 t m s is exactly the height of a n .    □
Lemma 3. 
Notation as in Section 3.2. If c x r n is a root of g n ( x , y n ) of multiplicity m, then the lowest pure power of y n + 1 in f n + 1 ( x , y n + 1 ) is y n + 1 m . Moreover, f n + 1 ( O ) = 0 .
Proof. 
We use the same notation introduced in the proof of Lemma 2. We can write f n as
f n = f n a n + ( f n f n a n ) f n ˜ = x i 1 y n j r g n + f n ˜ .
Hence, it follows that
f n ( x , x r n ( c + y n + 1 ) ) = x i 1 + r n j r ( c + y n + 1 ) j r g n ( x , x r n ( c + y n + 1 ) ) A + f n ˜ ( x , x r n ( c + y n + 1 ) ) .
By Lemma 2
g n ( x , x r n ( c + y n + 1 ) ) = a i 1 j 1 s = 1 t ( x r n y n + 1 + ( c c s ) x r n ) m s = a i 1 j 1 x r n s = 1 t m s s = 1 t ( c c s + y n + 1 ) m s
and
r n = i 1 i r j r j 1 and s = 1 t m s = j 1 j r .
Without loss of generality, we can suppose that c = c 1 (and, as a consequence, that m = m 1 ). Therefore, we have
g n ( x , x r n ( c + y n + 1 ) ) = a i 1 j 1 x i r i 1 y n + 1 m s = 2 t ( c c s + y n + 1 ) m s
and, by substituting this in A, we obtain
A = a i 1 j 1 x r n j r + i r y n + 1 m ( c + y n + 1 ) j r s = 2 t ( c c s + y n + 1 ) m s .
Now, let a i ¯ j ¯ x i ¯ y n j ¯ be a monomial of f ˜ n . Its evaluation in ( x , x r n ( c + y n + 1 ) ) is
a i ¯ j ¯ x i ¯ + r n j ¯ ( c + y n + 1 ) j ¯ .
Since ( i ¯ , j ¯ ) ( supp ( f n ) \ a n ) , the point ( i ¯ , j ¯ ) does not belong to a n . Let a ˜ n be the line containing the edge a n ; a ˜ n has equation i + r n j = i r + r n j r . Since Γ ( f n ) is part of the border of the convex hull of supp ( f n ) , the point ( i ¯ , j ¯ ) is in the half plane i + r n j > i r + r n j r , hence,
i ¯ + r n j ¯ > i r + r n j r .
This shows that the power of x for which we have to divide f n ( x , x r n ( c + y n + 1 ) ) is x r n j r + i r and that the pure powers of y n + 1 in f n + 1 are uniquely the ones coming from
A x r n j r + i r = a i 1 j 1 y n + 1 m ( c + y n + 1 ) j r s = 2 t ( c c s + y n + 1 ) m s .
Hence, the monomial with the lowest pure power of y n + 1 is
a i 1 j 1 c j r s = 2 t ( c c s ) m s y n + 1 m
so the lowest pure power of y n + 1 in f n + 1 ( x , y n + 1 ) is y n + 1 m . We have
f n + 1 ( x , y n + 1 ) = A x r n j r + i r + f n ˜ ( x , x r n ( c + y n + 1 ) ) x r n j r + i r
and A x r n j r + i r ( O ) = 0 since it is divided by y n + 1 , while f n ˜ ( x , x r n ( c + y n + 1 ) ) x r n j r + i r ( O ) = 0 by ( 1 ) .    □
Lemma 4. 
Notation as in Section 3.2. Let n N be the minimum such that there exists t N , t 1 such that y n + 1 t f n + 1 . Then:
y n + 1 t f n + 1 in C x [ y n + 1 ] ( y i = 0 n c i x r i + r i 1 + + r 0 ) t f in C { x } [ y ]
Proof. 
Let
f n ( x , y n ) = ( i , j ) supp ( f n ) a i j x i y n j ; f n + 1 ( x , y n + 1 ) = ( i , j ) supp ( f n + 1 ) b i j x i y n + 1 j
and recall that the exponents of x are rationals, while those of y are integers.
⇒) Since y n + 1 t f n + 1 ( x , y n + 1 ) it exists h n + 1 C { { x } } [ y n + 1 ] such that f n + 1 ( x , y n + 1 ) = y n + 1 t h n + 1 ( x , y n + 1 ) . Moreover, we have
f n ( x , y n ) = x m n f n + 1 x , y n x r n c n = x m n y n x r n c n t h n + 1 x , y n x r n c n =
= ( y n c n x r n ) t x m n t r n h n + 1 x , y n x r n c n h n ( x , y n ) .
Now, we want to show that h n ( x , y ) C { { x } } [ y n ] . We have
h n + 1 ( x , y n + 1 ) = f n + 1 ( x , y n + 1 ) y n + 1 t = ( i , j ) supp ( f n + 1 ) b i j x i y n + 1 j t
therefore,
h n ( x , y n ) = x m n t r n h n + 1 x , y n x r n c n = x m n t r n ( i , j ) supp ( f n + 1 ) b i j x i y n x r n c n j t =
= ( i , j ) supp ( f n + 1 ) b i j x m n t r n + i r n ( j t ) y n c n x r n j t .
Since j t 0 , it is enough to prove that
m n t r n + i r n ( j t ) 0 , ( i , j ) supp ( f n + 1 ) .
By definition
f n + 1 ( x , y n + 1 ) = f n ( x , x r n ( c n + y n + 1 ) ) x m n = ( i , j ) supp ( f n ) a i j x i + j r n m n ( c n + y n + 1 ) j =
= ( i , j ) supp ( f n ) a i j x i + j r n m n k = 0 j j k y n + 1 k c n j k
hence
( i , j ) supp ( f n + 1 ) ( i , j ) supp ( f n ) , k N , k j such that i = i + j r n m n and j = k .
Thus, in order that ( 2 ) holds, it suffices that
m n t r n + i + j r n m n r n ( k t ) = i + ( j k ) r n 0 ( i , j ) supp ( f n ) , 0 k j
and this inequality holds because i , ( j k ) , r n 0 . Thus, we showed that h n ( x , y n ) C { { x } } [ y ] .
Now, by the same reasoning, we have
f n 1 ( x , y n 1 ) = x m n 1 f n x , y n 1 x r n 1 c n 1 = x m n 1 y n 1 x r n 1 c n 1 c n x r n t h n x , y n 1 x r n 1 c n 1 =
= ( y n 1 c n 1 x r n 1 c n r n + r n 1 ) t x m n 1 t r n 1 h n x , y n 1 x r n 1 c n 1 h n 1 ( x , y n 1 ) C x [ y n 1 ] .
Hence, since f = f 0 , iterating the same procedure, we find h ( x , y ) C x [ y ] such that
f ( x , y ) = y i = 0 n c i x r i + r i 1 + + r 0 t h ( x , y ) .
⇐) The proof is analogous to the previous one.    □
Lemma 5. 
Let us consider f , g C [ u , v ] such that g is irreducible, deg g > 0 , and let t N , t > 0 . Then, g t f if and only if g divides f and all its partial derivatives up to the order of t 1 .
Proof. 
⇒) Is trivial.
⇐) Let us prove the statement for t = 1 . Let f = g h ; since g f u and g f v , there exist h 1 , h 2 C [ u , v ] such that f u = g h 1 and f v = g h 2 . We have
g h 1 = f u = ( g h ) u = g u h + g h u , g h 2 = f v = ( g h ) v = g v h + g h v .
Thus, we have that g ( h 1 h u ) = g u h and g ( h 2 h v ) = g v h so that g g u h and g g v h . Since g is irreducible, it follows that either g g u or g h and either g g v or g h . Since deg g u < deg g , we have that g g u if and only if g u = 0 , and similarly for g v . Now, notice that since deg g > 0 , at least one between g u and g v is not the zero polynomial and hence, g h .
Now, let us suppose that t > 1 and that g divides f and all its derivatives up to the order of t 1 . In particular, g divides all derivatives of order t 2 and their first partial derivatives. Thus, by the previous part of the proof, it follows that g 2 divides all partial derivatives of f of order t 2 . By iterating this argument, we have that g a divides all partial derivatives of f of order t a and hence, g t f .    □
Lemma 6. 
Notation as in Section 3.2. Let t , n N , t 1 , n 0 , and let y n + 1 t f n + 1 . Then, if r is the lowest common denominator of i = 0 n c i x r i + r i 1 + + r 0 , we have that R = ( T r , i = 0 n c i T r r i + r i 1 + + r 0 ) is a branch of C : f = 0 at O. Moreover, if g ( x , y ) = 0 is an equation of the parametric curve R , then g t f in C [ x , y ] .
Proof. 
We use the same notation introduced in the proof of Lemma 4.
By assumption y n + 1 t f n + 1 , hence, by Lemma 4, we have that there exists h C { x } [ y ] such that f = h · ( y i = 0 n c i x r i + r i 1 + + r 0 ) t . In particular,
f ( x , i = 0 n c i x r i + r i 1 + + r 0 ) = 0
and hence, R is a branch of C at O.
Since R has a polynomial parameterization, it is an algebraic rational curve and therefore, there exists g C [ x , y ] , g irreducible, such that R : g = 0 . In order to prove that g t f in C [ x , y ] , we start proving that g t f in C { { x } } [ y ] . Notice that, by the proof of Lemma 4, it follows that there exists m N such that h , ( y i = 0 n c i x r i + r i 1 + + r 0 ) C [ x 1 m , y ] . As a consequence, we can prove that g t f in C [ x 1 m , y ] . To do this, we apply Lemma 5 to f , g C [ x 1 m , y ] . Let
P = ( T ¯ r , i = 0 n c i T ¯ r ( r i + r i 1 + + r 0 ) ) R ,
then
f ( P ) = f ( T ¯ r , i = 0 n c i T ¯ r ( r i + r i 1 + + r 0 ) ) = 0 , P R P C P R g f .
In order to calculate the partial derivatives of f with respect to x 1 m and y, that we denote respectively by f x 1 m and f y , we set a i : = m r i Z and rewrite f as follows
f ( x 1 m , y ) = ( y i = 0 n c i ( x 1 m ) a i + a i 1 + + a 0 ) t · h ( x 1 m , y )
so that the first-order partial derivates of f are
f x 1 m = t ( i = 0 n c i ( a i + a i 1 + + a 0 ) ( x 1 m ) a i + a i 1 + + a 0 1 ) ( y i = 0 n c i ( x 1 m ) a i + a i 1 + + a 0 ) t 1 h ( x 1 m , y ) +
+ ( y i = 0 n c i ( x 1 m ) a i + a i 1 + + a 0 ) t h x 1 m ( x 1 m , y )
and
f y = t ( y i = 0 n c i ( x 1 m ) a i + a i 1 + + a 0 ) t 1 h ( x 1 m , y ) + ( y i = 0 n c i ( x 1 m ) a i + a i 1 + + a 0 ) t h y ( x 1 m , y ) .
Therefore, we have
f x 1 m ( P ) = f y ( P ) = 0 P R g f x 1 m and g f y .
In the same way, each partial derivative up to the order of t 1 is the sum of products that have at least one factor ( y i = 0 n c i ( x 1 m ) a i + a i 1 + + a 0 ) , thus, all of them vanish in each P R . As a consequence, by Lemma 5, we have that g t f in C [ x 1 m , y ] , that is, there exists p C [ x 1 m , y ] such that f = g t p . Since f , g C [ x , y ] C [ x 1 m , y ] , in order to show that g t f in C [ x , y ] it is enough to show that p C [ x , y ] . Let us write p as p = p 1 + p 2 , where each monomial of p 1 is in C [ x , y ] and each monomial of p 2 is in C [ x 1 m , y ] \ C [ x , y ] . We have that
g t p 2 = f g t p 1
so that, since f , g , p 1 C [ x , y ] , also g t p 2 C [ x , y ] . Now, we observe that if x a y b is a monomial of g t p 2 then a is sum of an integer, coming from a monomial of g t , and of a rational that is not an integer, coming from a monomial of p 2 , and thus a is a rational but not an integer. As a consequence, we have that g t p 2 = 0 . Hence, since C [ x 1 m , y ] is a domain and g 0 , we have that p 2 = 0 and p = p 1 C [ x , y ] and this ends the proof.   □

3.4. The Algorithm

The Newton–Puiseux Algorithm

Now, we present the Newton–Puiseux Algorithm based on the procedures described and justified in the above sections. Notice that we suppose x f , since we used this hypothesis in the ∗-Procedure; of course, if one wants to study a curve that has the y-axis as a component, it is sufficient to remove the factor x from f and then to add the vertical branch { x = 0 } (parameterized by ( 0 , T ) ) to the branches at O obtained by the Algorithm.
We gave Algorithm 1 for reduced curves; notice that when f is not irreducible, it can be much easier, computationally, to work separately on its irreducible components (if they are known, to find them is not computationally easy, e.g., see [18], where an algorithm is given) and then consider the union of the branches of any such component.
Algorithm 1: Study of the branches at ( 0 , 0 ) of a reduced plane curve C of equation f = i + j = 1 d a i j x i y j , a i j C , such that x f
Input: C : f = i + j = 1 d a i j x i y j , O = ( 0 , 0 ) .
Output: Integers r 1 , , r s and p 1 C [ x 1 r 1 ] , , p s C [ x 1 r s ] such that C possesses s branches at O, and each branch is approximated by ( T r i , p i ( T r i ) ) .
1:
Apply the ∗-Procedure to f and go on with the f ( i 1 , j 1 ) ( i n , j n ) ’s thus obtained. Form the graph G f , applying the Stop criterion.
2:
For any descending path γ in G f , work as in Section 3.2, until you obtain a p γ ( x ) C [ x 1 r γ ] , which yields an approximation of a branch of C at O.
3:
Consider all p γ ’s obtained at the previous step and find the ones that give equivalent parameterizations. If p γ and p γ are the truncations of Puiseux series p ˜ γ and p ˜ γ , they give equivalent parameterizations if and only if they have the same lowest common denominator r and it exists ω r C with ω r r = 1 , such that p ˜ γ ( x 1 r ) = p ˜ γ ( ω r x 1 r ) up to n ¯ , where n ¯ = min n N | f n ( x , y n ) and f n ( x , y n ) satisfy Theorem .
Keep only one of the p γ ’s for each class of equivalence.
4:
The number s of equivalence classes found at step 3 is the number of branches of C at O. The data r 1 , , r s and p 1 C [ x 1 r 1 ] , , , p s C [ x 1 r s ] obtained before are the required output, and ( T r i , p i ( T r i ) ) , i = 1 , , s give approximations of the s branches of our curve. END
We summarize this (quite obvious) procedure in the next algorithm, where we also drop the “f reduced” hypothesis, by adding that any branch must be counted as “n-ple” if obtained from a factor f i n .
Notice that also in Algorithm 2, we suppose that x = 0 is not a component of C ; obviously, if there is a factor of f which is x n , we just remove it before applying the Algorithm and then we add the branch { x = 0 } counted n times to the output.
Algorithm 2: Study of the branches at ( 0 , 0 ) of a plane curve C of equation f = i + j = 1 d a i j x i y j , a i j C , f = f 1 n 1 f m n m (the irreducible decomposition of f), with f x , = 1 , , m
Input: C : f = i + j = 1 d a i j x i y j = f 1 n 1 f m n m , O = ( 0 , 0 ) .
Output: Integers r , 1 , , r , s and p , 1 C [ x 1 r , 1 ] , , p , s C [ x 1 r , s ] , = 1 , , m m , such that C possesses s = s 1 + + s m branches at O, and each branch is approximated by ( T r , i , p , i ( T r , i ) ) , i { 1 , , s } .
1:
For each f , = 1 , , m , consider f ( O ) ; let (up to reordering the f ’s) f 1 ( O ) = = f m ( O ) = 0 , while f ( O ) 0 for > m .
2:
Apply Algorithm 1 to any f , 1 m , so to get p , 1 C [ x 1 r , 1 ] , , p , s C [ x 1 r , s ] such that ( T r , i , p , i ( T r , i ) ) are the (non-equivalent) approximations of the s branches of C : { f = 0 } at O.
3:
Consider all ( T r , i , p , i ( T r , i ) ) , i { 1 , , s } , { 1 , , m } obtained in the previous step. They give the approximations of all the branches of C at O; each of them must be considered n times.
4:
END

3.5. An Example

The following example illustrates how the Algorithm works.
Example 3. 
Consider the integral curve C : f = 0 , where
f = 2 y 6 + 6 x y 5 8 x 3 y 3 + 2 x 3 y 4 + ( 2 3 + 2 ) x 4 y 3 + ( 4 3 4 ) x 5 y 2 + ( 3 2 ) x 7 y + 3 2 8 x 10 + 2 x 11 .
We have m O ( C ) = 6 . The Newton polygon Γ ( f 0 ) = Γ ( f ) is given in Figure 3:
We start setting f 0 = f . Let us analyze each possible choice individually:
  • a 0 = a
    We have
    f 0 a 0 = f a 0 = 2 y 6 + 6 x y 5 8 x 3 y 3
    g 0 = f 0 a 0 y 3 = 2 ( y 3 + 3 x y 2 4 x 3 ) = 2 ( y + 2 x ) 2 ( y x ) .
    Thus, we have two distinct roots of g 0 , namely, q 01 = 2 x double and q 02 = x simple, and, as a consequence, two possible choice for q 0 :
  • q 0 = q 01
    We have
    f 0 ( x , x ( 2 + y 1 ) ) = x 6 ( 48 y 1 2 88 y 1 3 + 60 y 1 4 18 y 1 5 + 2 y 1 6 + ( 8 3 24 ) x y 1 + ( 8 3 + 32 ) x y 1 2 +
    + ( 2 3 14 ) x y 1 3 + 2 x y 1 4 + ( 2 3 + 4 ) x 2 + ( 3 2 ) x 2 y 1 + ( 3 8 1 4 ) x 4 + 2 x 5 )
    hence,
    f 1 ( x , y 1 ) = f 0 ( x , x ( 2 + y 1 ) ) x 6 = 48 y 1 2 88 y 1 3 + 60 y 1 4 18 y 1 5 + 2 y 1 6 + ( 8 3 24 ) x y 1 + ( 8 3 + 32 ) x y 1 2 +
    + ( 2 3 14 ) x y 1 3 + 2 x y 1 4 + ( 2 3 + 4 ) x 2 + ( 3 2 ) x 2 y 1 + ( 3 8 1 4 ) x 4 + 2 x 5 .
    The Newton polygon Γ ( f 1 ) is given in Figure 4
    Figure 4. Newton Polygon of f 1 .
    Figure 4. Newton Polygon of f 1 .
    Mathematics 11 02324 g004
    We have an unique edge a 1 = d , therefore, we obtain
    g 1 = f 1 a 1 = 48 y 1 2 + ( 8 3 24 ) x y 1 + ( 2 3 + 4 ) x 2 = ( 4 3 y + ( 3 + 1 ) x ) 2 .
    There is an unique root of g 1 , which is
    q 1 = 3 + 1 4 3 x = 3 3 12 x .
    Thus, we have
    f 1 ( x , x ( 3 3 12 + y 2 ) ) = x 2 ( 48 y 2 2 + ( 3 18 + 1 6 ) x + ( 8 3 3 4 ) x y 2 + ( 3 72 1 16 ) x 2 + ( 14 3 34 ) x y 2 2 +
    + ( 23 3 12 + 13 4 ) x 2 y 2 + ( 41 3 1152 + 2233 1152 ) x 3 88 x y 2 3 + ( 10 3 + 18 ) x 2 y 2 2 + ( 35 3 72 27 32 ) x 3 y 2 +
    + ( 5 3 2304 + 13 3456 ) x 4 + ( 18 3 + 46 ) x 2 y 2 3 + ( 21 3 8 37 8 ) x 3 y 2 2 + ( 19 3 576 + 11 192 ) x 4 y 2 + 60 x 2 y 2 4 +
    + ( 41 3 6 13 ) x 3 y 2 3 + ( 5 3 24 + 35 96 ) x 4 y 2 2 + ( 15 3 2 41 2 ) x 3 y 2 4 + ( 25 3 36 + 5 4 ) x 4 y 2 3 18 x 3 y 2 5 +
    + ( 5 3 4 + 5 2 ) x 4 y 2 4 + ( 3 + 3 ) x 4 y 2 5 + 2 x 4 y 2 6 )
    f 2 ( x , y 2 ) = f 1 ( x , x ( 3 3 12 + y 2 ) ) x 2 .
    The Newton polygon Γ ( f 2 ) is given in Figure 5.
    Figure 5. Newton Polygon of f 2 .
    Figure 5. Newton Polygon of f 2 .
    Mathematics 11 02324 g005
    We have an unique edge a 2 = e and we obtain:
    g 2 = f 2 a 2 = 48 y 2 2 + ( 3 18 + 1 6 x )
    whose roots are
    q 21 = i 3 3 864 x 1 2 q 22 = i 3 3 864 x 1 2 .
    By Lemma 3, choosing either q 2 = q 21 or q 2 = q 22 , the polynomial f 3 satisfies the hypothesis of Theorem 1; hence, by 3.1, we can stop. Since
    r 0 = 1 , r 1 = 1 , r 2 = 1 2 ,
    we obtain
    p 1 = 2 x + 3 3 12 x 2 + i 3 3 864 x 5 2 +
    p 2 = 2 x + 3 3 12 x 2 i 3 3 864 x 5 2 + .
    Therefore, we have the following parameterizations
    R 1 = ( T 2 , 2 T 2 + 3 3 12 T 4 + i 3 3 864 T 5 + )
    R 2 = ( T 2 , 2 T 2 + 3 3 12 T 4 i 3 3 864 T 5 + ) .
    We have that p 1 ( x ) = p 2 ( x ) , at O, so by Step 3 of the Algorithm with ω 2 = 1 , we conclude that R 1 and R 2 are equivalent parameterizations of the same 2-branch of C .
  • *
    q 0 = q 02
    We have
    f 0 ( x , x ( 1 + y 1 ) ) = x 6 ( 18 y 1 + 6 3 x + 66 y 1 2 + ( 14 3 + 6 ) x y 1 + ( 3 2 ) x 2 + 92 y 1 3 + ( 10 3 + 14 ) x y 1 2 +
    + ( 3 2 ) x 2 y 1 + 60 y 1 4 + ( 2 3 + 10 ) x y 1 3 + ( 3 8 1 4 ) x 4 + 18 y 1 5 + 2 x y 1 4 + 2 x 5 + 2 y 1 6 )
    and hence,
    f 1 ( x , y 1 ) = f 0 ( x , x ( 1 + y 1 ) ) x 6 = 18 y 1 + 6 3 x + 66 y 1 2 + ( 14 3 + 6 ) x y 1 + ( 3 2 ) x 2 + 92 y 1 3 +
    + ( 10 3 + 14 ) x y 1 2 + ( 3 2 ) x 2 y 1 + 60 y 1 4 + ( 2 3 + 10 ) x y 1 3 + ( 3 8 1 4 ) x 4 + 18 y 1 5 + 2 x y 1 4 + 2 x 5 + 2 y 1 6 ) .
    The Newton polygon Γ ( f 1 ) is given in Figure 6.
    Figure 6. Newton Polygon of f 1 (Case q 0 = q 02 ).
    Figure 6. Newton Polygon of f 1 (Case q 0 = q 02 ).
    Mathematics 11 02324 g006
    We can just choose a 1 = f obtaining
    g 1 = f 1 f = 18 y 1 + 6 3 x
    whose unique root is
    q 1 = 3 3 x .
    Moreover, f 1 satisfies the hypothesis of Theorem 1, therefore, by Remark 3.1, we can stop by obtaining the following root of f
    p 3 ( x ) = x 3 3 x 2 + .
    Hence, we have the parameterization
    R 3 = ( T , T 3 3 T 2 + )
    which is a 1-branch of C at O.
  • a 0 = b
    We have
    f 0 a 0 = f a 0 = 8 x 3 y 3 + ( 4 3 4 ) x 5 y 2 + ( 3 2 ) x 7 y
    g 0 = f 0 a 0 x 3 y = 8 y 2 + ( 4 3 4 ) x 2 y 2 + ( 3 2 ) x 4 = ( 2 2 y + 2 6 2 x 2 ) 2 .
    Hence, we have only one choice for q 0 , that is,
    q 0 = 2 6 4 2 x 2 = 3 1 4 x 2 .
    Proceeding, we obtain
    f 0 ( x , x 2 ( 3 1 4 + y 1 ) ) = x 9 ( ( 2 3 + 2 ) y 1 2 + ( 3 3 4 3 4 ) x y 1 + ( 17 3 128 + 227 128 ) x 2 8 y 1 3 + 3 x y 1 2 +
    + ( 9 3 8 + 65 32 ) x 2 y 1 + ( 15 3 256 + 13 128 ) x 3 + ( 2 3 + 2 ) x y 1 3 + ( 33 3 8 51 8 ) x 2 y 1 2 + ( 33 3 64 57 64 ) x 3 y 1 +
    + ( 11 3 2 + 13 ) x 2 y 1 3 + ( 15 3 8 + 105 32 ) x 3 y 1 2 + ( 15 3 2 11 2 ) x 2 y 1 4 + ( 15 3 4 25 4 ) x 3 y 1 3 + 6 x 2 y 1 5 +
    + ( 15 3 4 + 15 2 ) x 3 y 1 4 + ( 3 3 3 ) x 3 y 1 5 + 2 x 3 y 1 6 )
    f 1 ( x , y 1 ) = f 0 ( x , x 2 ( 3 1 4 + y 1 ) ) x 9 .
    The Newton Polygon Γ ( f 1 ) is given in Figure 7:
    Figure 7. The Newton Polynomial of f 0 ( x , x 2 ( 3 1 4 + y 1 ) ) x 9 .
    Figure 7. The Newton Polynomial of f 0 ( x , x 2 ( 3 1 4 + y 1 ) ) x 9 .
    Mathematics 11 02324 g007
    We can only choose a 1 = g , obtaining
    g 1 = f 1 g = ( 2 3 + 2 ) y 1 2 + ( 3 3 4 3 4 ) x y 1 + ( 17 3 128 + 227 128 ) x 2
    whose roots are
    q 11 = 3 3 3 + 2 35 + 48 3 16 ( 3 + 1 ) x
    q 12 = 3 3 3 2 35 + 48 3 16 ( 3 + 1 ) x .
    By Lemma 3, choosing either q 1 = q 11 or q 1 = q 12 , the polynomial f 2 satisfies the hypothesis of Theorem 1. Hence, by Remark 3.1, we can stop obtaining the following roots of f
    p 4 = 3 1 4 x 2 + 3 3 3 + 2 35 + 48 3 16 ( 3 + 1 ) x 3 +
    p 5 = 3 1 4 x 2 + 3 3 3 2 35 + 48 3 16 ( 3 + 1 ) x 3 + .
    Hence we have the parameterizations
    R 4 = ( T , 3 1 4 T 2 + 3 3 3 + 2 35 + 48 3 16 ( 3 + 1 ) T 3 + )
    R 5 = ( T , 3 1 4 T 2 + 3 3 3 2 35 + 48 3 16 ( 3 + 1 ) T 3 + )
    that give two distinct 1-branches of C at O.
  • a 0 = c
    We have
    f 0 c = f c = ( 3 2 ) x 7 y + 3 2 8 x 10
    g 0 = f 0 c x 7 = ( 3 2 ) y + 3 2 8 x 3 .
    We have just a choice for q 0 , that is,
    q 0 = 1 8 x 3 .
    Proceeding, we obtain
    f 0 ( x , x 3 ( 1 8 + y 1 ) ) = x 10 ( ( 3 2 ) y 1 + ( 3 16 + 31 16 ) ) x + ( 3 + 1 ) x y 1 + 1 64 x 2 + ( 4 3 4 ) x y 1 2 3 8 x 2 y 1 +
    + ( 3 256 1 256 ) x 3 + 3 x 2 y 1 2 + ( 3 3 32 + 3 32 ) x 3 y 1 8 x 2 y 1 3 + ( 3 3 4 3 4 ) x 3 y 1 2 + 1 2048 x 5 + ( 2 3 + 2 ) x 3 y 1 3 +
    1 64 x 5 y 1 3 16384 x 6 + 3 16 x 5 y 1 2 + 15 2048 x 6 y 1 x 5 y 1 3 15 128 x 6 y 1 2 + 1 131072 x 8 + 2 x 5 y 1 4 + 15 16 x 6 y 1 3 3 8192 x 8 y 1 +
    15 4 x 6 y 1 4 + 15 2048 x 8 y 1 2 + 6 x 6 y 1 5 5 64 x 8 y 1 3 + 15 32 x 8 y 1 4 3 2 x 8 y 1 5 + 2 x 8 y 1 6
    f 1 ( x , y 1 ) = f 0 ( x , x 3 ( 1 8 + y 1 ) ) x 10 .
    The Newton polygon Γ ( f 1 ) is given in Figure 8.
    We can only choose a 1 = h , obtaining
    g 1 = f 1 h = ( 3 2 ) y 1 + ( 3 16 + 31 16 ) x
    whose unique root is
    q 1 = 33 3 + 65 16 x .
    Moreover, f 1 satisfies the hypothesis of Theorem 1, therefore, by Remark 3.1, we can stop obtaining the following root of f
    p 6 = 1 8 x 3 33 3 + 65 16 x 4 +
    which gives the parameterization
    R 6 ( T , 1 8 T 3 33 3 + 65 16 T 4 + )
    which is a 1-branch of C at O.
We have studied all possible choices so we can stop the analysis.
Since we saw that R 1 and R 2 are equivalent parameterizations of the same 2-branch of C , we have found five branches of C , see Figure 9.

4. Triple Points

4.1. Output of the Newton–Puiseux Algorithm for Triple Points

In this section, we use the Newton–Puiseux algorithm to study triple points for a reduced algebraic plane curve. Let C : f = 0 be a plane curve of degree d and let P be a triple point for C (i.e., m P ( C ) = 3 ).
We recall that, by Remark 3, the curve C can have three 1-branches, or one 2-branch and one 1-branch, or a 3-branch at P. Anyway, if the tangent cone is made up of three distinct tangent lines, P is an ordinary singularity, and it is analytically equivalent to y ( y 2 x 2 ) , while if there are two distinct tangents, the singularity is analytically equivalent to y ( y 2 x n ) , n 3 , see [12].
Hence, we focus on the most interesting case, i.e., when C has a unique triple tangent r at P (for an analysis modulo analytic equivalence of the branches at a triple point, see [HH]). It is not restrictive to assume that P = O and that r is given by y = 0 , hence,
f = y 3 + i + j = 4 d a i j x i y j .
The cases where f is divisible by y are trivial, so we can assume that y f , that is, f is Newton-convenient. Notice that if C has one 3-branch at O, then its parameterization will be of type ( T 3 , n 4 a n T n ) (this follows by Definition 3, since the unique tangent to the branch is y = 0 ).
We use the notation of Section 3.2, with the unique exception that the g n associated to f n a n will be denoted by g n a n , in order to specify which edge we refer to. Notice that if a n is an edge of the Newton polygon, the height of a n is denoted by h ( a n ) , while the height of the Newton polygon, denoted by h ( Γ ( f n ) ) , is defined to be the sum of the heights of its edges.
We indicate with n a i j the x i y n j coefficient in f n . We also denote by A c n , r n the sub-algorithm of Algorithm 1 starting inside step n with the choice of the root q n = c n x r n for g n .
In order to describe the output of the algorithm, we have to answer the following questions:
1.
Which are the possible choices of c n and r n in each case?
2.
When, for each choice of ( c n , r n ) , does the algorithm A c n , r n stop?
The Stop Criterion 3.1 is an answer to question 2, but we can improve on it:
Remark 5. 
By Lemma 3, if c n has multiciplity 1 as a root of g n , then f n + 1 satisfies the hypothesis of Theorem 1, because in f n + 1 , there is the monomial c n y n + 1 . Hence, if c n has multiplicity 1 as a root of g n , A c n , r n stops at the step n 1 , i.e., without calculating f n + 1 . From now on, we use this new Stop criterion because it is more efficient.
To answer question 1, we observe that the following statements hold:
(i)
Since the height of the Newton Polygon decreases at each step, i.e., h ( Γ ( f n + 1 ) ) h ( Γ ( f n ) ) , and h ( Γ ( f ) ) = 3 , we have to consider Newton Polygons of height 3 only;
(ii)
In general, f n C x [ y ] . However, since f C [ x , y ] , there exists n ¯ N such that f n C [ x , y ] n n ¯ . Hence, for n n ¯ , the vertices of Γ ( f n ) are in N 2 .
We start answering question 1 just for n n ¯ ; we shall see later (see Remark 7) that this is enough.
Remark 6. 
The possible shapes of the Newton Polygons arising when applying our algorithm in the case of a triple point with a triple tangent and for n n ¯ are described in the Figure 10, and each of the corresponding cases is discussed below. Namely, in each case, we write explicitly the g n associated with each edge and its roots c n x r n with their relative multiplicities, so that we have a complete answer to question 1 first; after that, we examine the algorithms A c n , r n for each ( c n , r n ) .
Case 1: 
Γ ( f n ) = { a } , h ( a ) = 1 , and we have
g n a = n a 01 y n + n a i 1 0 x i 1
g n a has a unique root of multiplicity 1, c 1 x i 1 with c 1 = n a i 1 0 n a 01 , which by Remark 5, gives a 1-branch of C , and the algorithm A c 1 , i 1 stops here.
Case 2.1: 
Γ ( f n ) = { a } , h ( a ) = 2 , and i 1 0 ( mod 2 ) , so we have
g n a = n a 02 y n 2 + n a i 1 0 x i 1 ;
g n a has two distinct roots of multiplicity 1 each:
c 1 x i 1 2 , c 2 x i 1 2 where c 1 2 = n a i 1 0 n a 02 , c 2 = c 1 .
By Remark 5, the algorithms A c 1 , i 1 2 and A c 1 , i 1 2 stop here; moreover, they give equivalent parameterizations of the same 2-branch of C , since, if that were not true, the sum of the multiplicities of the branches at O would be 4 . The parameterization ( T 2 , + c 1 T i 1 + ) , composed with the biolomorphic function T T , is equal to ( T 2 , + c 2 T i 1 + ) ; in fact, since they are equivalent, by Remark 1, there is an ω , ω 2 = 1 , such that R 2 is obtained from R 1 by substituting T ω T ; since c 1 ( T ) i 1 = c 2 T i 1 , we obtain ω = 1 .
Case 2.2: 
Γ ( f n ) = { a } , h ( a ) = 2 , and i 1 0 ( mod 2 ) , so we have
g n a = n a 02 y n 2 + n a i 1 2 1 x i 1 2 y n + n a i 1 0 x i 1 .
Let c 1 x i 1 2 , c 2 x i 1 2 denote the roots of g n a ; we distinguish two cases:
Case 2.2.1: 
If c 1 c 2 , i.e., if g n a has two roots of multiplicity 1, they give two distinct 1-branches of C and the algorithms A c 1 , i 1 2 and A c 2 , i 1 2 stop here.
Notice that if n a i 1 2 1 = 0 , we apparently are in the same situation as Case 2.1, but here k : = i 1 2 is a positive integer, so the two simple roots are
c 1 x k , c 1 x k
and the biolomorphic function T T used in 2.1 does not work here: it does not give the equivalence of ( T , + c 1 T k + ) and ( T , c 1 T k + ) . In fact, the two simple roots correspond to two non-equivalent parameterizations, each one for a different 1-branch.
Case 2.2.2: 
If c 1 = c 2 , i.e., if g n a has one double root, the algorithm A c 1 , i 1 2 goes on: it can yield either two 1-branches or one 2-branch of C , hence, globally, we may find either three 1-branches or one 2-branch and one 1-branch. Notice that f n + 1 is still in C [ x , y ] , since i 1 0 ( mod 2 ) .
Case 3.: 
Γ ( f n ) = { a , b } , h ( a ) = 1 , h ( b ) = 1 ; we have
g n a = n a 02 y n + n a i 1 1 x i 1 , g n b = n a i 1 1 y n + n a i 2 0 x i 2 i 1 .
Both g n a and g n b have a unique root of multiplicity 1, n a i 1 1 n a 02 x i 1 and n a i 2 0 n a i 1 1 x i 2 i 1 ; each of them gives a different 1-branch of C , and the algorithms stops here.
Case 4.1: 
Γ ( f n ) = { a } , h ( a ) = 3 , and i 1 ¬ 0 ( mod 3 ) , so we have
g n a = n a 03 y n 3 + n a i 1 0 x i 1
g n a has three distinct roots of multiplicity 1, namely:
c 1 x i 1 3 , c 2 x i 1 3 , c 3 x i 1 3 , where c 1 3 = n a i 1 0 n a 03 , c 2 = e i 2 π 3 c 1 , c 3 = e i 4 π 3 c 1
and, as in Case 2.1, all of them give equivalent parameterizations of the same 3-branch of C , since otherwise, the sum of the multiplicities of the branches at O would be 6 ; for example the parameterization ( T 3 , + c 1 T i 1 + ) composed with the biolomorphic function T e i 2 π 3 T is equal to ( T 3 , + c 2 T i 1 + ) . Since the three roots have multiplicity 1, the algorithms stop.
Case 4.2: 
Γ ( f n ) = { a } , h ( a ) = 3 , and i 1 0 ( mod 3 ) , so we have
g n a = n a 03 y n 3 + n a i 1 3 2 x i 1 3 y n 2 + n a 2 i 1 3 1 x 2 i 1 3 y n + n a i 1 0 x i 1 .
Let c 1 x i 1 3 , c 2 x i 1 3 , c 3 x i 1 3 denote the roots of g n a ; we distinguish three cases:
Case 4.2.1: 
If c 1 c 2 c 3 c 1 , i.e., if g n a has three roots of multiplicity 1, they give three distinct 1-branches of C so the algorithms stop here.
Notice that if n a i 1 3 2 = n a 2 i 1 3 1 = 0 , we apparently are in the same situation as Case 4.1, but here k : = i 1 3 is a positive integer, the three simple roots are
c 1 x k , e i 2 π 3 c 1 x k , e i 2 π 3 c 1 x k
and the biolomorphic function T e i 2 π 3 T used in 4.1 does not work here: it does not give the equivalence of ( T , + c 1 T k + ) and ( T , + c 2 T k + ) . In fact, the three simple roots correspond to three non-equivalent parameterizations (each of a different 1-branch).
Case 4.2.2: 
If c 1 c 2 = c 3 , i.e., if g n a has two roots, one double and one simple; the algorithm A c 1 , i 1 3 stops and gives a 1-branch of C . On the other hand, A c 2 , i 1 3 does not stop because the relative root has multiplicity 2; continuing, it can give two 1-branches or one 2-branch of C . Notice that in this case f n + 1 is still in C [ x , y ] , since i 1 0 ( mod 3 ) .
Case 4.2.3: 
If c 1 = c 2 = c 3 , i.e., if g n a has one triple root, the algorithm A c 1 , i 1 3 goes on. Notice that in this case, f n + 1 is still in C [ x , y ] , since i 1 0 ( mod 3 ) .
Case 5.1: 
Γ ( f n ) = { a , b } , h ( a ) = 2 , h ( b ) = 1 and i 1 ¬ 0 ( mod 2 ) , so we have
g n a = n a 03 y n 2 + n a i 1 1 x i 1 , g n b = n a i 1 1 y n + n a i 2 0 x i 2 i 1
g n a has two distinct roots of multiplicity 1: c 1 x i 1 2 , c 2 x i 1 2 , with c 1 2 = n a i 1 1 n a 03 , c 2 = c 1 , which give equivalent parameterizations of the same 2-branch of C , while g n b has one root of multiplicity 1: n a i 2 0 n a i 1 1 x i 2 i 1 , giving one 1-branch. The algorithms stop here.
Case 5.2: 
Γ ( f n ) = { a , b } , h ( a ) = 2 , h ( b ) = 1 and i 1 0 ( mod 2 ) , so we have
g n a = n a 03 y n 2 + n a i 1 2 2 x i 1 2 y n + n a i 1 1 x i 1 , g n b = n a i 1 1 y n + n a i 2 0 x i 2 i 1
g n b has one root of multiplicity 1, which gives a 1-branch of C and the relative algorithm stops here, while, if c 1 x i 1 2 , c 2 x i 1 2 denote the roots of g n a , we distinguish two cases (notice that n a i 1 2 2 may be 0, in which case, we are apparently in the same situation as Case 5.1):
Case 5.2.1: 
If c 1 c 2 , i.e., if g n a has two roots of multiplicity 1, each of them gives a 1-branch of C , so we have three 1-branches of C and the algorithms stop here.
Case 5.2.2: 
If c 1 = c 2 , i.e., if g n a has the double root c 1 x i 1 2 , the algorithm A c 1 , i 1 2 does not stop; continuing, it can give two 1-branches or one 2-branch of C , hence, we may find three 1-branches or one 2-branch and one 1-branch, in all. Notice that in this case, f n + 1 is still in C [ x , y ] , since i 1 0 ( mod 2 ) .
Case 6.1: 
Case 6.1: Γ ( f n ) = { a , b } , h ( a ) = 1 , h ( b ) = 2 and i 1 + i 2 ¬ 0 ( mod 2 ) , so we have
g n a = n a 03 y n + n a i 1 2 x i 1 , g n b = n a i 1 2 y n 2 + n a i 2 0 x i 2 i 1 .
Since i 2 i 1 ¬ 0 ( mod 2 ) , the discussion is analogous to Case 5.1: C has one 1-branch and one 2-branch, and the algorithms stop here.
Case 6.2: 
Γ ( f n ) = { a , b } , h ( a ) = 1 , h ( b ) = 2 and i 1 + i 2 0 ( mod 2 ) , so we have
g n a = n a 03 y n + n a i 1 2 x i 1 , g n b = n a i 1 2 y n 2 + n a i 1 + i 2 2 1 x i 2 i 1 2 y n + n a i 2 0 x i 2 i 1 .
Notice that the assumption i 1 + i 2 0 ( mod 2 ) gives i 2 i 1 0 ( mod 2 ) , hence, the discussion is analogous to Case 5.2, namely, we distinguish two cases:
Case 6.2.1: 
if g n b has two roots of multiplicity 1, each of them gives a 1-branch of C , so we have globally three 1-branches of C and the algorithms stop here. Notice that n a i 1 + i 2 2 1 may be 0, in which case, we are apparently in the same situation as Case 6.1, but here i 2 i 1 0 ( mod 2 ) .
Case 6.2.2: 
if g n b has one double root c 1 x i 1 2 , the relative algorithm does not stop; continuing, it can give two 1-branches or one 2-branch of C , hence, globally, we may find three 1-branches or one 2-branch and one 1-branch. Notice that in this case, f n + 1 is still in C [ x , y ] , since i 1 + i 2 0 ( mod 2 ) .
Case 7: 
Γ ( f n ) = { a , b , c } , h ( a ) = h ( b ) = h ( c ) = 1 and we have
g n a = n a 03 y n + n a i 1 2 x i 1 , g n b = n a i 1 2 y n + n a i 2 1 x i 2 i 1 , g n c = n a i 2 1 y n + n a i 3 0 x i 3 i 2
g n a , g n b and g n c have one simple root each and the three roots give a 1-branch of C each: the algorithms stop here.
Remark 7. 
Notice that, in all the cases we have just considered, we obtain a polynomial f n + 1 (for the following step of the Algorithm) which is always in C [ x , y ] , i.e., we are always in case n < n ¯ .

4.2. A Theorem for Triple Points

Now we are ready to see what happens when we run the Newton-Puiseux Algorithm 1 in the case of a triple point with a triple tangent.
Theorem 2. 
Let C : f ( x , y ) = 0 be a plane curve of degree d, such that O is a triple point for C and the x-axis is its triple tangent at O, so that
f ( x , y ) = y 3 + i + j = 4 d a i j x i y j .
With the previous notation, the output of the Newton–Puiseux Algorithm 1 is as follows:
A finite sequence of n steps like case 4.2.3 with n 0 , and then the following four cases are possible:
( i ) step n + 1 is a case 4.1; the algorithm stops: C has one 3-branch at O, and a parameterization for it is of the form
T 3 , b 0 T 3 h 0 + + b n T 3 h n + c 1 T s + s 0 ( mod 3 ) ;
( i i ) step n + 1 is one of the following cases: 4.2.1, 5.2.1, 6.2.1, 7; the algorithm stops:
C has three 1-branches at O, each of which with a parameterization of the form
T , b 0 T h 0 + + b n T h n + c j T q j
where q 1 = q 2 = q 3 in case 4.2.1, q 1 = q 2 in cases 5.2.1, 6.2.1;
( i i i ) step n + 1 is one of the following cases: 5.1, 6.1; the algorithm stops:
C has one 1-branch and one 2-branch at O, with parameterizations of the form:
T , b 0 T h 0 + + b n T h n + c 1 T q +
T 2 , b 0 T 2 h 0 + + b n T 2 h n + d 1 T 2 h + 1 + .
( i v ) step n + 1 is one of the following cases: 4.2.2, 5.2.2, 6.2.2; in order to decide if C has one 1-branch and one 2-branch or three 1-branches at O, the sub-algorithm relative to the double root must go on, so that we find a finite sequence of m 0 steps like case 2.2.2, and then:
if the next step is a case 2.1, the algorithm stops: C has one 1-branch and one 2-branch at O, with parameterizations of the form
T , b 0 T h 0 + + b n T h n + c 1 T p +
T 2 , b 0 T 2 h 0 + + b n T 2 h n + c 2 T 2 p + d 1 T 2 k 1 + + d m T 2 k m + a 1 T 2 h + 1 +
if the next step is a case 2.2.1 or 3, the algorithm stops: C has three 1-branches at O, with parameterizations of the form
T , b 0 T h 0 + + b n T h n + c 1 T p +
T , b 0 T h 0 + + b n T h n + c 2 T p + d 1 T k 1 + + d m T k m + e 1 T q 1 +
T , b 0 T h 0 + + b n T h n + c 2 T p + d 1 T k 1 + + d m T k m + g 1 T q 2 +
where q 1 = q 2 in case2.2.1.
Proof. 
First, we claim that, in order to compute the number and multiplicities of the branches of C at a triple point with a triple tangent, it is enough to consider Newton polygons whose vertices are in N 2 ; that is, applying the Newton–Puiseux Algorithm to f, we encounter only the cases described in Remark 6 above.
Proof of the claim. This is true for n = 0 , since f C [ x , y ] . Now, we choose a path as described in Algorithm 1, and assume the claim is true for the steps 1 , , n ; then the Newton Polygon of f n is one of those described above. If the algorithm does not stop, we are in one of the following five cases: 2.2.2, 4.2.2, 4.2.3, 5.2.2, 6.2.2, and since in each of these cases the vertices of the Newton Polygon of f n + 1 are again in N 2 , the same is true for n + 1 . On the other hand, if the algorithm stops, we do not need to go any further, so the claim is true.
Now, we are going to analyze what happens in the assumption that y n f n ; if, on the contrary, y n f n , there is a branch coming from an algebraic component of C , and thus, the corresponding series is in fact a polynomial.
Assume that after n steps, we are in case 4.2.3. Since 3 h ( Γ ( f ) ) h ( Γ ( f m ) ) h ( Γ ( f n ) ) = 3 for m n , we have h ( Γ ( f m ) ) = 3 for m n , hence, each previous step was one of the cases between 4.1 and 7. If one of the previous steps was a case among 4.1, 4.2.1, 5.1, 5.2.1, 6.1, 6.2.1, 7, we would have already stopped. If one of the previous steps was a case among 4.2.2, 5.2.2, 6.2.2, only the sub-algorithm relative to the double root would have gone on, and in the next steps, the height of the Newton Polygon would have been 2. Therefore, all the previous steps were of type 4.2.3.
Let us start with the step 0 which is a case 4.2.3, and set k = i 1 3 ; since i 1 0 ( mod 3 ) , k is a positive integer, and for a suitable coefficient b, we have
f = ( y b x k ) 3 + i + k j > 3 k a i j x i y j .
Applying the algorithm, we obtain: g a = f a = ( y b x k ) 3 , q 0 = b x k ,
f ( x , x k ( b + y 1 ) ) = ( x k ( b + y 1 ) b x k ) 3 + i + k j > 3 k a i j x i ( x k ( b + y 1 ) ) j = x 3 k y 1 3 + i + k j > 3 k a i j x i + j k ( b + y 1 ) j
and since each power of x has an exponent 3 k , we find
f 1 = x 3 k y 1 3 + i + k j > 3 k a i j x i + j k ( b + y 1 ) j x 3 k = y 1 3 +
If f 1 is a case 4.2.3, again we have:
f 1 = ( y b 1 x h ) 3 + i + h j > 3 h b i j x i y j
and we find q 1 = b 1 x k 1 with k 1 N ; hence, if the sequence of cases 4.2.3 goes on to step n, we have a sequence of roots, setting b 0 : = b , k 0 : = k (notice that k 0 2 , otherwise, the tangent cone of C at O would be different from y 3 = 0 )
q 0 = b 0 x k 0 , q 1 = b 1 x k 1 , q n = b n x k n , k 0 , k 1 , , k n positive integers .
Let us assume that the algorithm does not stop and continutes with an infinite sequence of cases 4.2.3; then, the Puiseux series
p ( x ) = n 0 b n x k 0 + + k n
is in fact a power series giving a unique 1-branch counted 3 times, but our curve C is reduced and this is not possible.
Hence, the only possible way in which 4.2.3 can appear is as follows: we have a finite sequence of n steps 4.2.3 and then one of the other cases.
If the step n + 1 is a case 4.1, C has one 3-branch at O, we have found:
q 0 = b 0 x k 0 , q 1 = b 1 x k 1 , q n = b n x k n , q n + 1 = c 1 x i 1 3 , k 0 , k 1 , , k n 0 integers , i 1 ¬ 0 ( mod 3 )
which gives us
p ( x ) = = 0 n b x k 0 + k + c 1 x k 0 + + k n + i 1 3
and since the common lowest denominator of p ( x ) is 3, a parameterization for the 3-branch is
T 3 , b 0 T 3 k 0 + + b n T 3 ( k 0 + + k n ) + c 1 T 3 ( k 0 + + k n ) + i 1 +
with k 0 , k 1 , , k n 0 integers, and i 1 ¬ 0 ( mod 3 ) . Thus, we obtain ( i ) .
If the step n + 1 is not a case 4.1, then it has to be one of the cases from 4.2.1 to 7 (except 4.2.3), since the height of the Newton Polygon is still 3. It is easily seen that cases 4.2.1, 5.2.1, 6.2.1, 5.1, 6.1 give ( i i ) and ( i i i ) just following the discussion in Remark 6.
If the step n + 1 is one of the cases 4.2.2, 5.2.2, 6.2.2, in order to decide if C has one 1-branch and one 2-branch or three 1-branches at O, the sub-algorithm relative to the double root must go on; now, the height of the Newton Polygon is decreased to 2, so that we have to use cases from 2.1 to 3, and again, it is immediate to see that ( i v ) holds following the discussion in the previous Remark 6. □
We give two examples studied with the Algorithm as in the Theorem above.
Example 4. 
Let us consider the curve:
C : y 3 2 x 2 y 2 + 4 x 3 y 2 + x 4 y x 4 y 2 4 x 5 y + 3 x 5 y 2 + 6 x 6 y 11 x 7 y x 8 + 12 x 8 y + 7 x 9 16 x 10 + 13 x 11 3 x 12 x 13 + y 14 = 0 .
We have that m C ( O ) = 3 and the unique tangent of C at O is r : y = 0 . By applying Algorithm 1, one finds that C has at O one 2-branch given by ( T 2 , T 4 2 T 6 + T 7 + ) and one 1-branch given by ( T , T 4 + ) .
Example 5. 
Let us consider the curve:
C : y 3 x 2 y 2 + 2 x 3 y 2 2 x 5 y + x 5 y 2 x 7 y + 2 x 8 y 2 x 10 + x 11 = 0 .
We have that m C ( O ) = 3 and the unique tangent of C at O is r : y = 0 . By applying the Algorithm 1 one finds that C has three 1-branches at O given by ( T , T 2 + ) , ( T , T 3 + ) , and ( T , T 5 + ) .
Our last observation is on cuspidal triple points, i.e., case ( i ) of the theorem above.
Definition 8. 
In case ( i ) , we say that the triple point O is of type s. Notice that this definition is well-posed: if ( T 3 , p ( T ) ) , ( T 3 , p ˜ ( T ) ) are two equivalent parameterization of the 3-branch, by Remark 1, we have the same value of s for the two parameterizations.
Remark 8. 
We point out this definition because in case ( i ) , the type s is an invariant which determines the topological structure of the singularity; in fact, if a plane algebraic curve C has a triple point with one 3-branch at O, of type s, then it is locally topologically equivalent, see [19], to one of type T 3 , T s , i.e., with equation y 3 x s .
Notice that, in fact, a complete description of the analytical equivalence classes for this kind of triple points can be given, see ([page 4], [20]).
Example 6. 
Let us consider the following curve:
C : y 3 3 x 2 y 2 + 3 x 3 y 2 + 3 x 4 y 6 x 5 y x 6 + 3 x 6 y + 3 x 7 3 x 8 + x 9 + x 10 y 11 = 0 .
We have that m C ( O ) = 3 and the unique tangent of C at O is r : y = 0 . By applying Algorithm 1, one finds that C has one 3-branch at O given by ( T 3 , T 6 T 9 T 10 + ) ; thus, we are in case ( i ) of the theorem, and the triple point of C at O is of type 10, hence, it is topologically equivalent to y 3 x 10 .

Author Contributions

Conceptualization, S.C., A.G. and M.I.; Investigation, S.C., A.G. and M.I.; Writing—original draft, S.C., A.G. and M.I. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Informed Consent Statement

Not Applicable.

Data Availability Statement

Not Applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bernardi, A.; Gimigliano, A.; Idà, M. Singularities of plane rational curves via projections. J. Symb. Comput. 2018, 86, 189–212. [Google Scholar] [CrossRef]
  2. Chen, F.; Wang, W.; Liu, Y. Computing singular points of plane rational curves. J. Symb. Comput. 2008, 43, 92–117. [Google Scholar] [CrossRef]
  3. Cox, D.; Kustin, A.R.; Polini, C.; Ulrich, B. A Study of singularities of rational curves via syzygies. Mem. Amer. Math. Soc. 2013, 222, 1045. [Google Scholar] [CrossRef]
  4. Puiseux, V.A. Recherches sur les fonctions algébriques. J. Math. Pures Appl. 1850, 15, 365–480. [Google Scholar]
  5. Newton, I. Letter from Newton to Oldenburg dated October 24, 1696. In The Correspondence of Isaak Newton; Cambridge University Press: Cambridge, UK, 1960; Volume 2, pp. 110–161. [Google Scholar]
  6. Newton, I. The Method of Fluxions and Infinite Series: With Its Application to the Geometry of Curve-Lines; John Nourse: London, UK, 1736. [Google Scholar]
  7. van der Waerden, B.L. Einfu¨hrung in Die Alebraische Geometrie; Springer: Berlin, Germany, 1939. [Google Scholar]
  8. Abhyankar, S.S. Algebraic Geometry for Scientists and Engineers; Mathematical Surveys and Monographs 35; A.M.S.: Providence, RI, USA, 1990. [Google Scholar]
  9. Walker, R.J. Algebraic Curves; Princeton University Press: Princeton, NJ, USA, 1950. [Google Scholar]
  10. Arrondo, E. Apuntes de Curvas Algebraicas. 2020. Available online: http://www.mat.ucm.es/~arrondo/curvas.pdf (accessed on 3 October 2022).
  11. Fischer, G. Plane Algebraic Curves; Kay, L., Translator; Student Math. Lib. AMS: Providence, RI, USA, 2001. [Google Scholar]
  12. Greuel, G.M.; Lossen, C.; Shustin, E. Introduction to Singularities and Deformations; Springer: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
  13. Bassel, M.; Coquand, T. Dynamic Newton—Puiseux theorem. J. Log. Anal. 2013, 5, 1–22. [Google Scholar]
  14. Poteaux, A.; Rybowicz, M. Complexity bounds for the rational Newton-Puiseux algorithm over finite fields. AAECC 2011, 22, 187–217. [Google Scholar] [CrossRef]
  15. Poteaux, A.; Rybowicz, M. Good reduction of Puiseux series and applications. J. Symb. Comput. 2012, 47, 32–63. [Google Scholar] [CrossRef]
  16. Duval, D. Rational Puiseux expansions. Compos. Math. 1989, 70, 119–154. [Google Scholar]
  17. Manetti, M. Corso Introduttivo alla Geometria Algebrica; Scuola Normale Superiore di Pisa: Pisa, Italy, 1998; Available online: https://edizioni.sns.it/wp-content/uploads/2014/11/APPUNTI-MANETTI.pdf (accessed on 4 January 2023).
  18. Poteaux, A.; Weimann, M. Computing Puiseux series: A fast divide and conquer algorithm. Annales Henri Lebesgue 2021, 4, 1061–1102. [Google Scholar] [CrossRef]
  19. Oaku, T. Bernstein-Sato polynomials and analytic non-equivalence of plane curve singularities. arXiv 2022, arXiv:2207.00699. [Google Scholar]
  20. Hefez, A.; Hernandez, M.E. Classification of Plane Branches up to Multiplicity 4. J. Symb. Comput. 2009, 44, 626–634. [Google Scholar] [CrossRef]
Figure 2. The graph G f .
Figure 2. The graph G f .
Mathematics 11 02324 g002
Figure 3. The Newton Polygon of f 0 .
Figure 3. The Newton Polygon of f 0 .
Mathematics 11 02324 g003
Figure 8. The Newton polygon of f 0 ( x , x 3 ( 1 8 + y 1 ) ) x 10 .
Figure 8. The Newton polygon of f 0 ( x , x 3 ( 1 8 + y 1 ) ) x 10 .
Mathematics 11 02324 g008
Figure 9. The six branches of the curve at O.
Figure 9. The six branches of the curve at O.
Mathematics 11 02324 g009
Figure 10. Newton Polygons for a triple point with a triple tangent.
Figure 10. Newton Polygons for a triple point with a triple tangent.
Mathematics 11 02324 g010
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Canino, S.; Gimigliano, A.; Idà, M. The Newton–Puiseux Algorithm and Triple Points for Plane Curves. Mathematics 2023, 11, 2324. https://doi.org/10.3390/math11102324

AMA Style

Canino S, Gimigliano A, Idà M. The Newton–Puiseux Algorithm and Triple Points for Plane Curves. Mathematics. 2023; 11(10):2324. https://doi.org/10.3390/math11102324

Chicago/Turabian Style

Canino, Stefano, Alessandro Gimigliano, and Monica Idà. 2023. "The Newton–Puiseux Algorithm and Triple Points for Plane Curves" Mathematics 11, no. 10: 2324. https://doi.org/10.3390/math11102324

APA Style

Canino, S., Gimigliano, A., & Idà, M. (2023). The Newton–Puiseux Algorithm and Triple Points for Plane Curves. Mathematics, 11(10), 2324. https://doi.org/10.3390/math11102324

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop