Fast Computation of the Roots of Polynomials Over the Ring of Power Series
FFast Computation of the Roots of PolynomialsOver the Ring of Power Series
Vincent Neiger
Technical University of DenmarkKgs. Lyngby, [email protected]
Johan Rosenkilde
Technical University of DenmarkKgs. Lyngby, [email protected] ´Eric Schost
University of WaterlooWaterloo ON, [email protected]
ABSTRACT
We give an algorithm for computing all roots of polynomials over aunivariate power series ring over an exact field K . More precisely,given a precision d , and a polynomial Q whose coefficients arepower series in x , the algorithm computes a representation of allpower series f ( x ) such that Q ( f ( x )) = x d . The algorithmworks unconditionally, in particular also with multiple roots, whereNewton iteration fails. Our main motivation comes from codingtheory where instances of this problem arise and multiple rootsmust be handled.The cost bound for our algorithm matches the worst-case inputand output size d deg ( Q ) , up to logarithmic factors. This improvesupon previous algorithms which were quadratic in at least one of d and deg ( Q ) . Our algorithm is a refinement of a divide & conqueralgorithm by Alekhnovich (2005), where the cost of recursive stepsis better controlled via the computation of a factor of Q which hasa smaller degree while preserving the roots. KEYWORDS
Polynomial root-finding algorithm; power series; list decoding.
In what follows, K is an exact field, and K [[ x ]][ y ] denotes the set ofpolynomials in y whose coefficients are power series in x over K . Problem and main result . Given a polynomial in K [[ x ]][ y ] , we areinterested in computing its power series roots to some precision,as defined below.Definition 1.1. Let Q ∈ K [[ x ]][ y ] and d ∈ Z > . A power series f ∈ K [[ x ]] is called a root of Q to precision d if Q ( f ) = x d ;the set of all such roots is denoted by R( Q , d ) . Our main problem (Problem 1) asks, given Q and d , to compute afinite representation of R( Q , d ) ; the fact that such a representationexists is explained below (Theorem 2.8). In all the paper, we countoperations in K at unit cost, and we use the soft-O notation O ∼ (·) to give asymptotic bounds with hidden polylogarithmic factors. ISSAC ’17, Kaiserslautern, Germany © 2017 Copyright held by the owner/author(s). Publication rights licensed to ACM.This is the author’s version of the work. It is posted here for your personal use. Notfor redistribution. The definitive Version of Record was published in
Proceedings ofISSAC ’17, July 25-28, 2017 , http://dx.doi.org/10.1145/3087604.3087642.
Problem 1.Input: • a precision d ∈ Z > , • a polynomial Q ∈ K [[ x ]][ y ] known at precision d . Output: • (finite) list of pairs ( f i , t i ) ≤ i ≤ (cid:96) ⊂ K [ x ] × Z ≥ such that R( Q , d ) = (cid:208) ≤ i ≤ (cid:96) ( f i + x t i K [[ x ]]) An algorithm solving this problem must involve finding rootsof polynomials in K [ y ] . The existence, and complexity, of root-finding algorithms for univariate polynomials over K depends onthe nature of K . In this paper, we assume that K is such that wecan find roots in K of a degree n polynomial in K [ y ] in time R K ( n ) ,for some function R K : Z ≥ → R ; the underlying algorithm maybe deterministic or randomized. For instance, if K = F q , we cantake R K ( n ) ∈ O ∼ ( n ) using either a Las Vegas algorithm (in whichcase the runtime can be more precisely stated as O ∼ ( n log ( q )) [19,Cor. 14.16]), or a deterministic one (with for instance a runtime O ∼ ( nk √ p ) , where we write q = p k , p prime [17]).We now state our main result: we separate the cost of the root-finding part of the algorithm, which may be randomized, and therest of the algorithm which is deterministic.Theorem 1.2. There is an algorithm which solves Problem 1 us-ing O ∼ ( dn ) deterministic operations in K , together with an extra O ( d R K ( n )) operations, where n = deg ( Q ) . A cost in O ∼ ( dn ) is essentially optimal for Problem 1. Indeed, if Q = ( y − f ) · · · ( y − f n ) , for some power series f , . . . , f n such that f i − f j is a unit for all i (cid:44) j , then the roots of Q to precision d areall the power series of the form f i + x d K [[ x ]] , for some i . In thiscase, solving Problem 1 involves computing all f i mod x d , whichamounts to dn elements in K . Previous work . When the discriminant of Q ∈ K [[ x ]][ y ] has x -valuation zero, or equivalently, when all y -roots of Q | x = are simple(as in the example above), our problem admits an obvious solution:first, compute all y -roots of Q | x = in K , say y , . . . , y (cid:96) , for some (cid:96) ≤ n , where n = deg Q . Then, apply Newton iteration to each ofthese roots to lift them to power series roots f , . . . , f (cid:96) of precision d ; to go from precision say d / d , Newton iteration replaces f i by f i − Q ( f i ) Q (cid:48) ( f i ) mod x d , where Q (cid:48) ∈ K [[ x ]][ y ] is the formal derivative of Q . The bottleneckof this approach is the evaluation of all Q ( f i ) and Q (cid:48) ( f i ) . Using analgorithm for fast multi-point evaluation in the ring of univariate a r X i v : . [ c s . S C ] M a y SSAC ’17, July 25-28, 2017, Kaiserslautern, Germany Vincent Neiger, Johan Rosenkilde, and ´Eric Schost polynomials over K [[ x ]]/( x d ) , these evaluations can both be donein O ∼ ( dn ) operations in K . Taking all steps into account, we obtainthe roots f , . . . , f (cid:96) modulo x d using O ∼ ( dn ) operations in K ; thisis essentially optimal, as we pointed out above. In this case, thetotal time for root-finding is R K ( n ) .Thus, the non-trivial cases of Problem 1 arise when Q | x = hasmultiple roots. In this case, leaving aside the cost of root-finding,which is handled in a non-uniform way in previous work, we arenot aware of an algorithm with a cost similar to ours. The best costbounds known to us are O ∼ ( n d ) , obtained in [1] and with this costestimate being showed in [13], and O ∼ ( nd ) , obtained in [4].When Q | x = has multiple roots, a natural generalization of ourproblem consists in computing Puiseux series solutions of Q . It isthen customary to consider a two-stage computation: first, com-pute sufficiently many terms of the power series / Puiseux seriessolutions in order to be able to separate the branches, then switchto another algorithm to compute many terms efficiently.Most algorithms for the first stage compute the so-called singularparts of rational Puiseux expansions [7] of the solutions. They areinspired by what we will call the Newton-Puiseux algorithm, that is,Newton’s algorithmic proof that the field of Puiseux series K (cid:104)(cid:104) x (cid:105)(cid:105) isalgebraically closed when K is algebraically closed of characteristiczero [12, 20]. In the case of Puiseux series roots, one starts byreading off the leading exponent γ of a possible solution on theNewton polygon of the input equation Q ∈ K (cid:104)(cid:104) x (cid:105)(cid:105)[ y ] . The algorithmthen considers ˆ Q = Q ( x γ y )/ x s ∈ K (cid:104)(cid:104) x (cid:105)(cid:105)[ y ] , where s is the valuationat x of Q ( x γ y ) . If y , . . . , y (cid:96) are the y -roots of ˆ Q | x = , then these givethe x γ terms of the Puiseux series roots of Q . For each i we thenreplace Q with Q ( x γ ( y i + y ))/ x s (cid:48) , where s (cid:48) is the valuation at x of Q ( x γ ( y i + y )) . This allows us to compute the terms of the solutionsone by one. The best algorithms to date [14, 15] use an expectednumber of O ∼ ( n ν + n + n log ( q )) operations in K , if K = F q andwhere ν is the valuation of the discriminant of Q . These algorithmsare randomized of the Las Vegas type, since they rely on Las Vegasroot-finding in F q [ y ] .In the second stage, given the singular parts of the solutions, itbecomes for instance possible to apply Newton iteration, as in [9].If Q is actually in K [ x ][ y ] , one may alternatively derive from ita linear recurrence with polynomial coefficients satisfied by thecoefficients of the solutions we are looking for; this allows us tocompute them at precision d using O ( dn ) operations, that is, in timegenuinely linear in n , d [5, 6] (keeping in mind that in both cases,we may need to know about ν terms of the solutions before beingable to switch to the faster algorithm). We will discuss a similarobservation in the context of our algorithm, in Section 4.Using ideas akin to the Newton-Puiseux algorithm, Berthomieu,Lecerf, and Quintin gave in [4] an algorithm that computes rootsof polynomials in L [ y ] , for a wide class of local rings L . In theparticular case L = F q (cid:74) x (cid:75) with q = p s , the expected runtime oftheir algorithm is O ∼ ( nd + n log ( q ) + nd log ( k )/ p ) operations in F q .Let us finally mention algorithms for polynomial factorizationover local fields. Using the Montes algorithm [10], it is proved in [3]that one can compute a so-called OM-factorization of a degree n polynomial Q in F q (cid:104)(cid:104) x (cid:105)(cid:105)[ y ] at precision d using O ∼ ( n ν + nν + nν log ( q )) , where ν is the valuation of the discriminant of Q ; therelation to basic root sets , defined below, remains to be elucidated. Sudan’s and Guruswami-Sudan’s algorithms for the list-decodingof Reed-Solomon codes [8, 18] have inspired a large body of work,some of which is directly related to Problem 1. These algorithmsoperate in two stages: the first stage finds a polynomial in K [ x , y ] with some constraints; the second one finds its factors of the form y − f ( x ) , for f in K [ x ] .The Newton-Puiseux algorithm can easily be adapted to computesuch factors; in this context, it becomes essentially what is known asthe Roth-Ruckenstein algorithm [16]; its cost is in O ( d n ) , omittingthe work for univariate root-finding.In the context of Sudan’s and Guruswami-Sudan’s algorithms,we may actually be able to use Newton iteration directly, by ex-ploiting the fact that we are looking for polynomial roots. Insteadof computing power series solutions (that is, the Taylor expansionsof these polynomial roots at the origin), one can as well start fromanother expansion point x in K ; if the discriminant of Q does notvanish at x , Newton iteration applies. If K is finite, one cannotexclude the possibility that all x in K are roots of Q ; if needed, onemay then look for x in an extension of K of small degree. Augotand Pecquet showed in [2] that in the cases appearing in Sudan’salgorithm, there is always a suitable x in K .However, for example for the Wu list decoding algorithm [21] orfor the list-decoding of certain algebraic geometry codes [13], onedoes seek truncated power series roots. In this case, one may useAlekhnovich’s algorithm [1, App.], which is a divide and conquervariant of the Roth-Ruckenstein algorithm. It solves Problem 1 us-ing n O ( ) O ∼ ( d ) operations in K plus calls to univariate root-finding;the refined analysis in [13] gives the runtime O ∼ ( n d + nd log q ) . Outline . We start by giving properties about the structure of theset of roots in Section 2. We will see in particular how R( Q , d ) canbe described recursively as the finite union of set of roots at a lowerprecision for shifts of Q , that is, polynomials of the form Q ( f + x t y ) .From this, we will be able to derive a divide-and-conquer algorithmwhich is essentially Alekhnovich’s.The reason why the runtime of this algorithm is quadratic in n is the growth of the (sum of the) degrees of these shifts. Havingin mind to control this degree growth, we conclude Section 2 withthe definition of so-called reduced root sets , for which we establishuseful degree properties.In Section 3, we detail a fast algorithm for the computation of affine factors , which are polynomials having the same roots as theshifts but which can be computed more efficiently thanks to thedegree properties of our reduced root sets. Finally, in Section 4, weincorporate this into the divide and conquer approach, leading toour fast power series roots algorithm. Recall the notation of Problem 1. In the following analysis, weconsider knowing Q to arbitrary precision, i.e. Q ∈ K [[ x ]][ y ] . Forconvenience, we also define for any d ≤ R( Q , d ) = K [[ x ]] .First, we introduce basic notation. • v x : K [[ x ]][ y ] \ { } → Z ≥ denotes the valuation at x , thatis, v x ( Q ) is the greatest power of x which divides Q , forany nonzero Q ∈ K [[ x ]][ y ] . • For Q ∈ K [[ x ]][ y ] , we write Q | x = for the univariate poly-nomial in K [ y ] obtained by replacing x by 0 in Q . ast Computation of the Roots of Polynomials Over the Ring of Power Series ISSAC ’17, July 25-28, 2017, Kaiserslautern, Germany • We denote by S d = K [[ x ]]/( x d ) the ring of power series in x over K truncated at precision d . • To avoid confusion, deg (·) stands for the degree of somepolynomial in y over K , over K [[ x ]] , or over S d , whereasthe degree of polynomials in K [ x ] is denoted using deg x (·) .The next lemma follows from the above definitions, and showsthat we can focus on the case v x ( Q ) = Let Q ∈ K [[ x ]][ y ] be nonzero and let d ∈ Z > . If Q | x = = , then R( Q , d ) = R( x − s Q , d − s ) , where s = v x ( Q ) . Now, we will focus on a compact way of representing root sets,and we will see that R( Q , d ) always admit such a representationeven though it is usually an infinite set. Similar representationsare also behind the correctness and the efficiency of the algo-rithms of Roth-Ruckenstein [16], of Alekhnovich [1, App.], andof Berthomieu-Lecerf-Quintin [4, Sec. 2.2]. To support the divide-and-conquer structure of our algorithm, we further describe howthese representations compose.Definition 2.2. Let Q ∈ K [[ x ]][ y ] be nonzero and let d ∈ Z > . A basic root set of Q to precision d is a finite set of pairs ( f i , t i ) ≤ i ≤ (cid:96) ,each in K [ x ] × Z ≥ , such that: • v x ( Q ( f i + x t i y )) ≥ d for ≤ i ≤ (cid:96) , • we have the identity R( Q , d ) = (cid:216) ≤ i ≤ (cid:96) (cid:8) f i + x t i K [[ x ]] (cid:9) . For d ≤ , we define the unique basic root set of Q to precision d asbeing {( , )} ; note that it satisfies both conditions above. We remark that the first restriction on being a basic root set iskey: for instance, Q = y + y ∈ F [[ x ]][ y ] has R( Q , ) = F [[ x ]] . But {( , )} is not a basic root set because it does not satisfy the firstproperty; rather a basic root set is given by expanding the firstcoefficient: {( , ) , ( , )} .At precision d =
1, one can easily build a basic root set of Q which has small cardinality:Lemma 2.3. Let Q ∈ K [[ x ]][ y ] be such that Q | x = (cid:44) , and let y , . . . , y (cid:96) be the roots of Q | x = . Then, ( y i , ) ≤ i ≤ (cid:96) is a basic root setof Q to precision . Proof. Take i in { , . . . , (cid:96) } and write the Taylor expansion of Q ( y i + xy ) as Q ( y i + xy ) = Q ( y i ) + xR i ( y ) , for some R i ∈ K [[ x ]][ y ] .Since both terms in the sum have valuation at least 1, we obtainthat s i = v x ( Q ( y i + xy )) is at least 1. Furthermore, we remark that R( Q , ) = { f ∈ K [[ x ]] | Q ( f ) = x } = { f ∈ K [[ x ]] | Q | x = ( f ) = } , where f is the constant coefficient of f . Thus, R( Q , ) is the set of f ∈ K [[ x ]] whose constant coefficient is in { y , . . . , y (cid:96) } . (cid:3) Proposition 2.4.
Let Q ∈ K [[ x ]][ y ] be such that Q | x = (cid:44) andlet d (cid:48) , d be in Z ≥ , with d (cid:48) ≤ d . Suppose that Q admits a basic root set ( f i , t i ) ≤ i ≤ (cid:96) to precision d (cid:48) . Suppose furthermore that, for ≤ i ≤ (cid:96) , Q ( f i + x t i y )/ x s i admits a basic root set ( f i , j , t i , j ) ≤ j ≤ (cid:96) i to precision d − s i , where s i = v x ( Q ( f i + x t i y )) . Then, a basic root set of Q toprecision d is given by ( f i + f i , j x t i , t i + t i , j ) ≤ j ≤ (cid:96) i , ≤ i ≤ (cid:96) . Proof. For 1 ≤ i ≤ (cid:96) , let Q i = Q ( f i + x t i y )/ x s i . Then, for all i , j , from the definition of basic root sets, we have v x (cid:16) Q ( f i + f i , j x t i + x t i + t i , j ) (cid:17) = v x (cid:16)(cid:0) x s i Q i (cid:1) | y = f i , j + x ti , j y (cid:17) ≥ s i + ( d − s i ) . This proves that the first property of Definition 2.2 holds.For the second property, we prove both inclusions leading to theidentity R( Q , d ) = ∪ i , j { f i + x t i f i , j + x t i + t i , j K [[ x ]]} .First, consider some f ∈ R( Q , d ) ; since d (cid:48) ≤ d , f is in R( Q , d (cid:48) ) ,so we can write f = f i + x t i д , for some i in { , . . . , (cid:96) } and д in K [[ x ]] . Then, Q ( f ) = x s i Q i ( д ) = x d , and so д ∈ R( Q i , d − s i ) .This implies that д ∈ f i , j + x t i , j K [[ x ]] for some j .Now consider a power series д ∈ R( Q i , d − s i ) for some i . Thismeans that Q i ( д ) = x max ( , d − s i ) , so that Q ( f i + x t i д ) = x s i Q i ( д ) = x d , and therefore f i + x t i д is in R( Q , d ) . (cid:3) We now deduce, by induction on d , that any Q ∈ K [[ x ]][ y ] admitsa finite basic root set to precision d for any d ∈ Z ≥ . By Lemma 2.1we can reduce to the case where v x ( Q ) = Q | x = (cid:44)
0. Theclaim is readily seen to be true for d ≤ {( , )} ) and d = d (cid:48) < d , for some d ≥ d −
1, obtaining a basic rootset ( f i , t i ) ≤ i ≤ (cid:96) of Q to precision d −
1. We know that, with thenotation of Proposition 2.4, s i ≥ d − i , so in particular s i ≥
1, and thus d − s i < d . Then, applying again the inductionproperty to each of ( Q i , d − s i ) i , the conclusion of Proposition 2.4establishes our claim.These results can be used to build basic root sets recursively,by either applying Lemma 2.3 iteratively or using Proposition 2.4in a divide-and-conquer fashion with Lemma 2.3 applied at theleaves. As discussed in Section 1, this recursive approach is similarto the Newton-Puiseux algorithm. These iterative and divide andconquer solutions to Problem 1 are known in coding theory asthe Roth-Ruckenstein algorithm [16] and the Alekhnovich algo-rithm [1, App.]. Below, we describe the latter algorithm in detail(Algorithm 1), since our new algorithm runs along the same lines(Algorithm 4). We will not further discuss the correctness or com-plexity of Algorithm 1, but rather refer to [1, App.] or [13, App. A]. Algorithm 1 :
DnCSeriesRoots [1]
Input: d ∈ Z > and Q ∈ S d [ y ] with Q | x = (cid:44) Output:
A basic root set of Q to precision d . if d = then ( y i ) ≤ i ≤ (cid:96) ← roots of Q | x = ∈ K [ y ] return ( y i , ) ≤ i ≤ (cid:96) else ( f i , t i ) ≤ i ≤ (cid:96) ← DnCSeriesRoots ( Q mod x (cid:100) d / (cid:101) , (cid:100) d / (cid:101)) ( Q i ) ≤ i ≤ (cid:96) ← ( Q ( f i + x t i y ) mod x d ) ≤ i ≤ (cid:96) ( s i ) ≤ i ≤ (cid:96) ← ( v x ( Q i )) ≤ i ≤ (cid:96) for ≤ i ≤ (cid:96) do if s i ≥ d then ( f i , , t i , ) ← ( , ) and (cid:96) i ← else ( f ij , t ij ) ≤ j ≤ (cid:96) i ← DnCSeriesRoots ( x − s i Q i , d − s i ) return ( f i + x t i f i , j , t i + t i , j ) ≤ j ≤ (cid:96) i , ≤ i ≤ (cid:96) . SSAC ’17, July 25-28, 2017, Kaiserslautern, Germany Vincent Neiger, Johan Rosenkilde, and ´Eric Schost
The next step is to prove that there are special, small basic rootsets, and that these also compose in a way similar to Proposition 2.4.In order to formulate this, we first introduce a generalization ofroot multiplicity to our setting.Definition 2.5.
Let ( f , t ) ∈ K [ x ] × Z > be such that f is nonzeroand f = д + f t − x t − for some д ∈ K [ x ] with deg x ( д ) < t − . For Q ∈ K [[ x ]][ y ] \ { } , we consider the polynomial of valuation zero R = Q ( д + x t − y )/ x v x ( Q ( д + x t − y )) ∈ K [[ x ]][ y ] . Then, the root multiplicity of ( f , t ) in Q is the root multiplicity of f t − in R | x = ∈ K [ y ] . Note that if f t − is not a root of R | x = , the root multiplicity of ( f , t ) is 0. Also, if t =
1, so that f = f is in K , and if Q | x = (cid:44)
0, theroot multiplicity of ( f , ) is simply the multiplicity of f in Q | x = .Definition 2.6. Let Q ∈ K [[ x ]][ y ] be such that Q | x = (cid:44) andlet d be in Z . Suppose that ( f i , t i ) ≤ i ≤ (cid:96) is a basic root set of Q atprecision d . Then, we say that ( f i , t i ) ≤ i ≤ (cid:96) is a reduced root set , ifthe following holds: • either d ≤ , • or d > , and all the f i ’s are nonzero, and the following points areall satisfied, where for ≤ i ≤ (cid:96) , we write s i = v x ( Q ( f i + x t i y )) , Q i = Q ( f i + x t i y )/ x s i , and we write m i for the root multiplicityof ( f i , t i ) in Q :(1) m i ≥ for ≤ i ≤ (cid:96) ,(2) deg ( Q i | x = ) ≤ m i for ≤ i ≤ (cid:96) , and(3) (cid:205) ≤ i ≤ (cid:96) m i ≤ deg ( Q | x = ) . It follows from the restrictions (1) and (3) that (cid:96) ≤ deg ( Q | x = ) .Mimicking the structure of the first half of the section, we nowprove the existence of reduced root sets for d = Let Q ∈ K [[ x ]][ y ] be such that Q | x = (cid:44) . The basicroot set of Q to precision defined in Lemma 2.3 is reduced. Proof. Let y , . . . , y (cid:96) be the roots of Q | x = , and, for 1 ≤ i ≤ (cid:96) ,let s i = v x ( Q ( y i + xy )) , Q i = Q ( y i + xy )/ x s i , and let m i be the rootmultiplicity of y i in Q | x = .The inequalities m i ≥
1, for 1 ≤ i ≤ (cid:96) , and (cid:205) i m i ≤ deg ( Q | x = ) are clear. Consider now a fixed index i ; it remains to prove thatdeg ( Q i | x = ) ≤ m i . There are P ∈ K [ y ] and R ∈ K [[ x ]][ y ] such that P ( y i ) (cid:44) Q = ( y − y i ) m i P ( y ) + xR . Then x s i Q i = Q ( y i + xy ) = ( xy ) m i P ( y i + xy ) + xR ( y i + xy ) . The right-hand side reveals the following: • Any monomial x α y β in x s i Q i satisfies α ≥ β , and hencedeg ( Q i | x = ) ≤ s i . • x s i Q i contains the term ( xy ) m i P ( y i ) , since this appears in ( xy ) m i P ( y i + xy ) and it cannot be cancelled by a term in xR ( y i + xy ) since all monomials there have greater x -degreethan y -degree.These two points imply deg ( Q i | x = ) ≤ s i ≤ m i . (cid:3) The following theorem is exactly the statement of Proposition 2.4except that “basic” has been replaced by “reduced”. Theorem 2.8.
Let Q ∈ K [[ x ]][ y ] be such that Q | x = (cid:44) and let d (cid:48) , d be in Z ≥ , with d (cid:48) ≤ d . Suppose that Q admits a reduced rootset ( f i , t i ) ≤ i ≤ (cid:96) to precision d (cid:48) . For i = , . . . , (cid:96) , suppose furthermorethat Q ( f i + x t i y )/ x s i admits a reduced root set ( f i , j , t i , j ) ≤ j ≤ (cid:96) i toprecision d − s i , where s i = v x ( Q ( f i + x t i y )) . Then a reduced root setof Q to precision d is given by ( f i + f i , j x t i , t i + t i , j ) ≤ j ≤ (cid:96) i , ≤ i ≤ (cid:96) . Proof. By Proposition 2.4 it is clear that the specified set is abasic root set, and we should verify the additional restrictions ofDefinition 2.6. Introduce for each i , jQ i , j = Q ( f i + f i , j x t i + x t i + t i , j y )/ x s i , j = Q i ( f i , j + x t i , j y )/ x s i , j , where Q i = Q ( f i + x t i y )/ x s i and s i , j = v x ( Q i ( f i , j + x t i , j y )) .Consider first for some i the case d − s i ≤
0. Then (cid:96) i = ( f i , , t i , ) = ( , ) , and so the root multiplicity m i , of ( f i + f i , x t i , t i + t i , ) in Q is m i which is positive by assumption. Also Q i , j = Q i so deg ( Q i , j | x = ) = deg ( Q i | x = ) which is at most m i = m i , by assumption. Finally, (cid:205) j m i , j = m i , = m i . We will collectthe latter fact momentarily to prove the third item of the reducedroot definition.Consider next an i where d − s i >
0. In this case t i , j > ≤ j ≤ (cid:96) i , and the root multiplicity of ( f i + f i , j x t i , t i + t i , j ) in Q equals the root multiplicity m i , j of ( f i , j , t i , j ) in Q i which is positiveby assumption. The assumptions also ensure that deg ( Q i , j | x = ) ≤ m i , j , and (cid:205) j m i , j ≤ deg ( Q i | x = ) ≤ m i .Thus, the two first restrictions on being a reduced root set issatisfied for each element. All that remains is the third restriction:but using our previous observations, we have (cid:205) i (cid:205) j m i , j ≤ (cid:205) i m i and this is at most deg ( Q | x = ) by assumption. (cid:3) To solve Problem 1 we will compute a reduced root set usingLemma 2.7 and Theorem 2.8. Note that it follows that a reduced rootset is essentially unique: apart from possible redundant elementsamong the f i , non-uniqueness would only be due to unnecessarilyexpanding a coefficient in a root ( f , t ) , that is, replace that rootby the | K | roots ( f + ax t , t + ) a ∈ K . Of course this could only bean issue if K is finite and if deg ( Q | x = ) is very large. Our algo-rithm as well as previous ones are computing the “minimal” setof reduced roots. According to Theorem 2.8, the total number offield elements required to represent this minimal set cannot exceed d deg ( Q | x = ) ≤ d deg ( Q ) . The appendix A of [13] gives a careful complexity analysis of Al-gorithm 1, and proves that it runs in time O ∼ ( dn + dn R K ) , where n = deg ( Q ) . The main reason why the cost is quadratic in deg ( Q ) is that all the shifted polynomials Q i = x − s i Q ( f i + x t i y ) can havelarge degree, namely up to deg ( Q ) . Thus, merely representing the Q i ’s may use a number of field elements quadratic in deg ( Q ) .Nonetheless, we are actually not interested in these shifts them-selves, but only in their reduced root sets. The number of theseroots is well controlled: the shifts have altogether a reduced rootset of at most deg ( Q | x = ) elements. Indeed, by definition, we knowthat deg ( Q i | x = ) is at most the multiplicity m i of the root ( f i , t i ) ,and the sum of these multiplicities is at most deg ( Q | x = ) . ast Computation of the Roots of Polynomials Over the Ring of Power Series ISSAC ’17, July 25-28, 2017, Kaiserslautern, Germany The difficulty we face now is that we want to efficiently computereduced root sets of the shifts without fully computing these shifts.To achieve this, we compute for each shift Q i a factor of it whichhas the same roots and whose degree is deg ( Q i | x = ) ≤ m i , withoutentirely computing Q i itself . We design a fast algorithm for comput-ing these factors, by using ideas from [11, Algo. Q], in which wealso incorporate fast modular reduction techniques so as to care-fully control the quantity of information we process concerningthe shifts.The next result formalizes the factorization we will rely on. It isa direct consequence of the Weierstrass preparation theorem formultivariate power series [22, VII.§1. Cor. 1 of Thm. 5].Theorem 3.1. Let Q ∈ K [[ x ]][ y ] be such that Q | x = (cid:44) . Then,there exist unique A , B ∈ K [[ x ]][ y ] such that Q = AB , A is monic and B | x = ∈ K \ { } . In the case at hand, one may as well derive existence and unique-ness of A and B (together with a slow algorithm to compute them)by writing their unknown coefficients as A = a ( y ) + xa ( y ) + · · · B = b + xb ( y ) + · · · , with b in K \ { } and all a i ’s ( i ≥
1) of degreeless than that of a . Extracting coefficients of x , x , . . . , we deducethat the relation Q = AB defines the a i ’s and b i ’s uniquely.In what follows, A is called the affine factor of Q . Remark that ifwe start from Q in S d [ y ] , we can still define its affine factor as apolynomial in S d [ y ] , by reducing modulo x d the affine factor of anarbitrary lift of Q to K [[ x ]][ y ] (the construction above shows thatthe result is independent of the lift).Our algorithm will compute the affine factors ( A i ) ≤ i ≤ (cid:96) of theshifts ( Q i ) ≤ i ≤ (cid:96) at some prescribed precision d in x , having asinput Q and the shifting elements ( f i + x t i y ) ≤ i ≤ (cid:96) . A factorization Q i = A i B i can be computed modulo any power x d of x from theknowledge of Q i by means of Hensel lifting [11, Algo. Q], doublingthe precision at each iteration. However, the above-mentioneddegree bounds indicate that neither the shifts ( Q i ) i nor the cofactors ( B i ) i may be computed modulo x d in time quasi-linear in deg ( Q ) and d : the key of our algorithm is to show how to compute theaffine factors A i at precision d directly from Q within the prescribedtime bounds. (Hensel lifting factorization techniques were alsoused in [4], but in a context without the degree constraints thatprevent us from computing the shifts Q i ). Hereafter, A quo B and A rem B denote the quotient and the remainder in the division ofthe polynomial A by the monic polynomial B .The input of the algorithm is the polynomial Q known modulo x d , as output, we compute the affine factors A i of the shifts atrespective precisions d − s i , together with the valuation s i ; if s i ≥ d ,we detect it and return ( , d ) . The initialization consists in comput-ing the affine factors of the x -constant polynomials ( Q i | x = ) ≤ i ≤ (cid:96) .If these polynomials are known, this is straightforward: the affinefactor of Q i | x = is itself divided by its leading coefficient, which is anonzero constant from K . It turns out that computing these polyno-mials is not an issue; remark that the sum of their degrees is at most m + · · · + m (cid:96) ≤ deg ( Q ) . Explicitly, we first compute the remainders ( Q ( f i + x t i y ) rem y m i + ) i via fast modular reduction techniques;then, we can both retrieve the valuations ( s i ) i = ( v x ( Q ( f i + x t i y ))) i (or, more precisely, s ∗ i = min ( s i , d ) ), and, when s i < d , the x -constant terms of Q i = x − s i Q ( f i + x t i y ) to carry out the initializa-tion step (Line 1 to Line 11 in Algorithm 3). Before continuing to describe the algorithm, we detail one ofits main building blocks (Algorithm 2): the fast computation ofsimultaneous shifted remainders via multiple modular reduction. Algorithm 2 :
ShiftedRem
Input: a commutative ring A , a polynomial Q ∈ A[ y ] , and triples ( A i , f i , r i ) ≤ i ≤ (cid:96) ∈ A[ y ] × A × A , with the A i ’s monic. Output: the remainders Q ( f i + r i y ) rem A i for 1 ≤ i ≤ (cid:96) . ( ¯ A i ) ≤ i ≤ (cid:96) ← ( (cid:205) ≤ j ≤ δ i r δ i − ji a i , j y j ) ≤ i ≤ (cid:96) where ( A i ) ≤ i ≤ (cid:96) = ( (cid:205) ≤ j ≤ δ i a i , j y j ) ≤ i ≤ (cid:96) with a i , δ i = ( ˆ A i ) ≤ i ≤ (cid:96) ← ( ¯ A i ( y − f i )) ≤ i ≤ (cid:96) ( ˆ R i ) ≤ i ≤ (cid:96) ← ( Q rem ˆ A i ) ≤ i ≤ (cid:96) ( R i ) ≤ i ≤ (cid:96) ← ( ˆ R i ( f i + r i y )) ≤ i ≤ (cid:96) return ( R i ) ≤ i ≤ (cid:96) Proposition 3.2.
Algorithm 2 is correct and uses O ∼ ( deg ( Q ) + deg ( A · · · A (cid:96) )) operations in A . Proof. Let i ∈ { , . . . , (cid:96) } . Since ˆ A i is monic, the remainderˆ R i = Q rem ˆ A i is well-defined, and Q = P i ˆ A i + ˆ R i with deg ( ˆ R i ) < deg ( Q ) and P i ∈ A[ y ] . Then, we have Q ( f i + r i y ) = P i ( f i + r i y ) ˆ A i ( f i + r i y ) + ˆ R i ( f i + r i y ) = P i ( f i + r i y ) ¯ A i ( r i y ) + R i ( y ) = P i ( f i + r i y ) r δi A i ( y ) + R i ( y ) , which ensures R i = Q ( f i + r i y ) rem A i ( y ) , hence the correctness.Concerning the cost bound, the polynomial ¯ A i is computed usingat most 2 δ i multiplications in A , where δ i = deg ( A i ) , and thenˆ A i is computed by fast shifting using O ∼ ( δ i ) operations in A [19,Thm. 9.15]. The conclusion follows, since fast remaindering canbe used to compute all remainders ( ˆ R , . . . , ˆ R (cid:96) ) simultaneously in O ∼ ( deg ( Q ) + δ + · · · + δ (cid:96) ) operations in A . Indeed, we start bycomputing the subproduct tree in O ∼ ( δ + · · · + δ (cid:96) ) operations [19,Lem. 10.4], which gives us in particular the product ˆ A · · · ˆ A (cid:96) . Then,we compute the remainder ˆ R = Q rem ˆ A · · · ˆ A (cid:96) , which can be donein O ∼ ( deg ( Q ) + δ + · · · + δ (cid:96) ) operations in A using fast division[19, Thm. 9.6]. Finally, the sought ˆ R i = ˆ R mod ˆ A i are computedby going down the subproduct tree, which costs O ∼ ( δ + · · · + δ (cid:96) ) operations in A [19, Cor. 10.17]. (cid:3) Now, let us describe how we implement the Hensel lifting strat-egy to manage to compute the sought affine factors without fullycomputing the shifts. In addition to the affine factors, we will makeuse of partial information on the inverse of the cofactor: we com-pute this inverse modulo the affine factor. Let 1 ≤ i ≤ (cid:96) and assumethat we have computed, at precision K , • the affine factor A i ∈ S K [ y ] of Q i mod x K , • C i = B − i rem A i ∈ S K [ y ] , where B i ∈ S K [ y ] denotes thecofactor such that A i B i = Q i mod x K .Note that B i is invertible as a polynomial of S K [ y ] since by defini-tion B i | x = ∈ K \ { } . Thus, our requirement is that the inverse of B i coincides with C i when working modulo A i . SSAC ’17, July 25-28, 2017, Kaiserslautern, Germany Vincent Neiger, Johan Rosenkilde, and ´Eric Schost
Algorithm 3 :
AffineFacOfShifts
Input: a precision d ∈ Z > , a polynomial Q ∈ S d [ y ] such that Q | x = (cid:44)
0, and triples ( f i , t i , m i ) ≤ i ≤ (cid:96) ⊂ S d × Z > × Z > . Output: ( A i , s i ) ≤ i ≤ (cid:96) with ( A i , s i ) = ( , d ) if Q ( f i + x t i y ) = S d [ y ] , and otherwise s i = v x ( Q ( f i + x t i y )) < d and A i ∈ S d − s i [ y ] is the affine factor of Q i = x − s i Q ( f i + x t i y ) at precision d − s i . Requires: m i is such that A i = ( A i ) ≤ m i , for 1 ≤ i ≤ (cid:96) . I ← ( , . . . , (cid:96) ) /* list of not yet computed factors */ ( R i ) ≤ i ≤ (cid:96) ← ShiftedRem (S d , Q , ( y m i + , f i , x t i ) ≤ i ≤ (cid:96) ) /* Process trivial affine factors */ for ≤ i ≤ (cid:96) such that R i = do ( A i , s i ) ← ( , d ) , and remove i from I /* Set valuations and compute affine factors mod x */ for i ∈ I do s i ← v x ( R i ) ¯ R i ∈ K [ y ] ← ( x − s i R i ) | x = C i ∈ K \ { } ← inverse of the leading coefficient of ¯ R i A i ∈ S [ y ] ← C i ¯ R i /* Each iteration doubles the precision */ for ≤ k ≤ (cid:100) log ( d )(cid:101) do for i ∈ I such that d − s i ≤ k − do remove i from I K ← k − ; ( δ i ) i ∈I ← ( min ( K , d − s i − K )) i ∈I /* Lift the affine factors ( A i ) i to precisions δ i + K */ ( R i ) i ∈I ← ShiftedRem (S d , Q , ( ¯ A i , f i , x t i ) i ∈I ) , where ¯ A i is A i lifted into S d [ y ] ( A i (cid:62) ∈ S δ i [ y ]) i ∈I ← (( x − s i − K R i C i ) rem A i ) i ∈I , with x − s i − K R i , C i , and A i truncated at precision δ i ( A i ∈ S δ i + K [ y ]) i ∈I ← ( A i + x K A i (cid:62) ) i ∈I /* Find the cofactor inverses ( C i ) i at precisions δ i + K */ ( S i ) i ∈I ← ShiftedRem (S d , Q , ( ¯ A i , f i , x t i ) i ∈I ) , where ¯ A i is A i lifted in S d [ y ] ( C i ∈ S δ i + K [ y ]) i ∈I ← ((( x − s i S i ) quo A i ) − rem A i ) i ∈I , with x − s i S i and A i truncated at precision δ i + K return ( A i , s i ) ≤ i ≤ (cid:96) Now, we want to find similar polynomials when we increase theprecision to 2 K . The main point concerning efficiency is that wewill be able to do this by only considering computations modulothe affine factors A i and their squares; remember that we controlthe sum of their degrees. In the algorithm, we increase for each i the precision from K to K + δ i , which is taken as the minimumof 2 K and d − s i : in the latter case, this is the last iteration whichaffects A i , since it will be known at the wanted precision d − s i .First, we use fast remaindering to get R i = Q ( f i + x t i y ) rem A i atprecision d in x , simultaneously for all i (see Line 18); this gives us Q i rem A i = x − s i R i rem A i at precision d − s i , and thus K + δ i . Since A i is the affine factor of Q i at precision K , Q i rem A i is divisibleby x K .We then look for A i (cid:62) ∈ S δ i [ y ] such that ˆ A i = A i + x K A i (cid:62) is theaffine factor of Q i at precision K + δ i ; to ensure that ˆ A i is still monic,we require that deg ( A i (cid:62) ) < deg ( A i ) . Thus, we can determine A i (cid:62) by working modulo A i : having ( A i + x K A i (cid:62) )( B i + x K B i (cid:62) ) = Q i , at precision K + δ i , for some B i (cid:62) ∈ S δ i [ y ] , implies that the identity A i (cid:62) B i = x − K Q i holds modulo A i and at precision δ i . Multiplying by C i = B − i onboth sides yields A i (cid:62) = ( x − K Q i C i ) rem A i = ( x − K − s i R i C i ) rem A i . Therefore, Line 20 and Line 22 correctly lift the affine factor of Q i from precision K to precision K + δ i .From now on, we work at precision K + δ i , and, as in the pseudo-code, we denote by A i the affine factor obtained through the lift-ing step above (that is, A i ← ˆ A i ). Besides, let C i now denotethe cofactor inverse at precision K + δ i : C i = B − i rem A i , where B i ∈ S K + δ i [ y ] is the cofactor such that Q i = A i B i . Our goal is tocompute C i , without computing B i but only B i rem A i .We remark that the remainder S i = Q ( f i + x t i y ) rem A i (as inLine 24) is such that x − s i S i = Q i rem A i = A i ( B i rem A i ) ; x − s i S i isknown at precision d − s i ≥ K + δ i . Thus, ( x − s i S i ) quo A i = B i rem A i , and therefore C i can be obtained as C i = B − i rem A i = (( x − s i S i ) quo A i ) − rem A i . This shows that Line 26 correctly computes C i at precision K + δ i .Proposition 3.3. Algorithm 3 is correct and uses O ∼ (cid:0) d ( deg ( Q ) + m + · · · + m (cid:96) ) (cid:1) operations in K . Proof. The correctness follows from the above discussion. Con-cerning the cost bound, we will use the following degree prop-erties. Since A i is monic, we have the degree bound deg ( A i ) = deg ( A i | x = ) ≤ m i for all i and at any iteration of the loop; and since C i is always computed modulo A i , we also have deg ( C i ) < m i .The cost of the initialization (Line 1 to Line 11) is dominatedby the computation of shifted remainders at Line 2, which costs O ∼ ( d ( deg ( Q ) + m + · · · + m (cid:96) )) operations in K according to Propo-sition 3.2. The same cost bound holds for each call to ShiftedRem atLine 18 or Line 24, since we have deg ( A i ) ≤ m i and deg ( A i ) ≤ m i .At both Line 20 and Line 26, the degrees of R i , C i , and A i areat most m i ; besides, we have δ i ≤ d and δ i + K ≤ d . Thus, thequotient and remainder computations use O ∼ ( d ( m + · · · + m (cid:96) )) operations in K according to [19, Thm. 9.6].Finally, at Line 26 we are performing the inversion of the polyno-mial (( x − s i R i ) quo A i ) modulo A i ; it is invertible in S δ i + K [ y ]/( A i ) since its x -constant coefficient is a nonzero field element. As a con-sequence, this this inversion can be done in O ∼ (( δ i + K ) deg ( A i )) field operations using Newton iteration [19, Thm. 9.4], and alto-gether Line 26 costs O ∼ ( d ( m + · · · + m (cid:96) )) operations in K .Summing these cost bounds over the (cid:100) log ( d )(cid:101) iterations yieldsthe announced total cost bound. (cid:3) ast Computation of the Roots of Polynomials Over the Ring of Power Series ISSAC ’17, July 25-28, 2017, Kaiserslautern, Germany In this section, we describe our fast algorithm for solving Problem 1.As explained above, it follows the divide and conquer strategy ofAlgorithm 1, with the main modification being that we incorporatethe fast computation of the affine factors of the shifts (Algorithm 3).This leads to a better efficiency by yielding more control on thedegrees of the polynomials that are passed as arguments to therecursive calls. Besides, we also propagate in recursive calls theinformation of the multiplicities of the roots, which is then used asan input of Algorithm 3 to specify the list of degree upper boundsfor the affine factors.We start with a lemma which states that taking affine factorspreserves reduced root sets.Lemma 4.1.
Let Q be in K [[ x ]][ y ] , with Q | x = (cid:44) , and let A ∈ K [[ x ]][ y ] be its affine factor. Then, any reduced root set of A at precision d is a reduced root set of Q at precision d . Proof. The claim follows from the factorization Q = AB , with B | x = ∈ K \ { } . Indeed, as a result, B ( P ) is a unit in K [[ x ]][ y ] forany P in K [[ x ]][ y ] , hence R( Q , d ) = R( A , d ) for any d ; similarly, forany ( f , t ) , Q ( f + x t y ) and A ( f + x t y ) have the same valuation, say s , and Q ( f + x t y )/ x s and A ( f + x t y )/ x s differ by a constant factor.In particular, if {( f i , t i )} i is a basic root set of A , it is a basic rootset of Q , and the multiplicities of ( f i , t i ) in A and Q are the same.This implies that if {( f i , t i )} i is in fact a reduced root set of A , itremains so for Q . (cid:3) We continue with a procedure that operates on polynomials in K [[ x ]][ y ] , without applying any truncation with respect to x : assuch, this is not an algorithm over K , as it defines objects that arepower series in x , but it is straightforward to prove that it outputsa reduced root set. Remark that this procedure uses affine factors at“full precision”, that is, in K [[ x ]][ y ] , so Algorithm 3 is not used yet. Algorithm 4 :
SeriesRoots ∞ Input: d ∈ Z > and Q ∈ K [[ x ]][ y ] such that Q | x = (cid:44) Output:
List of triples ( f i , t i , m i ) ≤ i ≤ (cid:96) ⊂ K [ x ]× Z ≥ × Z > formedby a reduced root set of Q to precision d with multiplicities. if d = then ( y i , m i ) ≤ i ≤ (cid:96) ← roots with multiplicity of Q | x = ∈ K [ y ] return ( y i , , m i ) ≤ i ≤ (cid:96) else ( f i , t i , m i ) ≤ i ≤ (cid:96) ← SeriesRoots ∞( Q , (cid:100) d / (cid:101)) ( s i ) ≤ i ≤ (cid:96) ← ( v x ( Q ( f i + x t i y )) ≤ i ≤ (cid:96) ( A i ) ≤ i ≤ (cid:96) ← ( AffineFactor ( Q ( f i + x t i y )/ x s i )) ≤ i ≤ (cid:96) for ≤ i ≤ (cid:96) do if s i ≥ d then ( f i , , t i , , m i , ) ← ( , , m i ) and (cid:96) i ← else ( f i , j , t i , j , m i , j ) ≤ j ≤ (cid:96) i ← SeriesRoots ∞( A i , d − s i ) return ( f i + x t i f i , j , t i + t i , j , m i , j ) ≤ j ≤ (cid:96) i , ≤ i ≤ (cid:96) .Proposition 4.2. Algorithm 4 is correct.
Proof. We prove this by induction on d ≥
1. By Lemma 2.7, thealgorithm is correct for the induction base case d =
1. Take d >
1, and assume that the algorithm is correct for all d (cid:48) < d . Then, weobtain a reduced root set ( f i , t i ) from the first recursive call, so inparticular the valuations s i are at least equal to d (cid:48) ≥
1. This showsthat d − s i < d , so the second recursive call is made at a lowerprecision, and the procedure terminates.By induction, in all cases, ( f i , j , t i , j ) ≤ j ≤ (cid:96) i is a reduced root set of Q i to precision d − s i : this is obvious when s i ≥ d , and follows fromLemma 4.1 when s i < d . Theorem 2.8 implies that ( f i + x t i f i , j , t i + t i , j ) ≤ j ≤ (cid:96) i , ≤ i ≤ (cid:96) is a reduced root set of Q to precision d . We verifythat the integers m i , j are the associated multiplicities as we did inthe proof of that theorem. (cid:3) Next, we describe a similar algorithm, where we maintain theinput polynomial with degree less than d in x (when it is the case,we say that it is reduced modulo x d ). To differentiate this versionfrom the previous one and facilitate proving the correctness, weadd a superscript ∗ to the objects handled here when they differfrom their counterpart in Algorithm 4. Remark that we do notclaim that the output forms a reduced root set of Q ∗ , merely a basicroot set; we also do not claim that the m i ’s in the output are thecorresponding multiplicities. Algorithm 5 :
SeriesRootsTrc
Input: d ∈ Z > and Q ∗ ∈ K [[ x ]][ y ] reduced modulo x d such that Q ∗| x = (cid:44) Output:
List of triples ( f i , t i , m i ) ≤ i ≤ (cid:96) ⊂ K [ x ]× Z ≥ × Z > formedby a basic root set of Q ∗ to precision d . if d = then ( y i , m i ) ≤ i ≤ (cid:96) ← roots with multiplicity of Q ∗| x = ∈ K [ y ] return ( y i , , m i ) ≤ i ≤ (cid:96) else ( f i , t i , m i ) ≤ i ≤ (cid:96) ← SeriesRootsTrc ( Q ∗ rem x (cid:100) d / (cid:101) , (cid:100) d / (cid:101)) ( A ∗ i , s ∗ i ) ≤ i ≤ (cid:96) ← AffineFacOfShifts ( Q ∗ , d , ( f i , t i , m i ) ≤ i ≤ (cid:96) ) for ≤ i ≤ (cid:96) do if s ∗ i = d then ( f i , , t i , , m i , ) ← ( , , m i ) and (cid:96) i ← else ( f i , j , t i , j , m i , j ) ≤ j ≤ (cid:96) i ← SeriesRootsTrc ( A ∗ i , d − s ∗ i ) return ( f i + x t i f i , j , t i + t i , j , m i , j ) ≤ j ≤ (cid:96) i , ≤ i ≤ (cid:96) .Proposition 4.3. Algorithm 5 is correct.
Proof. We claim that for d > Q and Q ∗ in K [[ x ]][ y ] such that Q ∗ = Q rem x d , the outputs of SeriesRoots ∞ ( Q , d ) and SeriesRootsTrc ( Q ∗ , d ) are the same. Before proving this claim,remark that it implies the correctness of Algorithm 5: we know thatthis output is a reduced, and thus basic, root set of Q to precision d .Since Q and Q ∗ are equal modulo x d , one verifies easily that thisoutput is thus a basic root set of Q ∗ to precision d as well.We prove the claim by induction on d . If d =
1, the result is clear,as we compute the same thing on both sides.For d >
1, since Q ∗ rem x (cid:100) d / (cid:101) = Q rem x (cid:100) d / (cid:101) , the induc-tion assumption shows that ( f i , t i , m i ) ≤ i ≤ (cid:96) as computed in either SeriesRoots ∞ or SeriesRootsTrc are the same.
SSAC ’17, July 25-28, 2017, Kaiserslautern, Germany Vincent Neiger, Johan Rosenkilde, and ´Eric Schost
The affine factors of the shifts of Q and Q ∗ differ, but they coincideat the precision we need. Indeed, the equality Q = Q ∗ mod x d implies that for all i , Q ( f i + x t i y ) = Q ∗ ( f i + x t i y ) mod x d . Inparticular, if s i < d , these two polynomials have the same valuation s i , and Q ( f i + x t i y )/ x s i = Q ∗ ( f i + x t i y )/ x s i mod x d − s i , whichimplies that their affine factors are the same modulo x d − s i . If s i ≥ d , then Q ∗ ( f i + x t i y ) vanishes modulo x d .Remark that the assumption of Algorithm 3 is satisfied: for all i , m i is the multiplicity of ( f i , t i ) in Q ; the definition of a reduced rootset then implies that deg ( Q i | x = ) ≤ m i , so that the same degreebounds holds for the affine factors of Q ∗ ( f i + x t i y )/ x s i . As a result,for i such that s i ≥ d , Algorithm 3 returns ( , s ∗ i ) = ( , d ) , whereasif s i < d , it returns ( A ∗ i , s i ) , where A ∗ i is the truncation modulo x d − s i of the affine factor A i of Q i . In the first case, the polynomials ( f i , , t i , , m i , ) are the same in both algorithms; in the second case,this is also true, by induction assumption. Our claim follows. (cid:3) Proof of Theorem 1.2. To conclude the proof of Theorem 1.2,it remains to estimate the cost of Algorithm 5. Let T ( n , d ) denotethe cost of Algorithm 5 on input d and Q of degree n = deg ( Q ) . If d =
1, then T ( n , ) = R K ( n ) . Otherwise, the cost is given by thefollowing recursion: T ( n , d ) = T ( n , d / ) + S ( n , d , ( n , . . . , n (cid:96) )) + (cid:96) (cid:213) i = T ( n i , d − s i ) , where S ( n , d , ( n , . . . , n (cid:96) )) is the cost of AffineFactorsOfShifts and n i = deg ( A ∗ i ) . The degrees of the polynomials A ∗ i , in Algorithm 5,and A i , in Algorithm 4, are the same, except for those cases where s i ≥ d and A ∗ i is actually zero. By definition of a reduced root set,we have (cid:213) i deg ( A i ) ≤ deg ( Q | x = ) ≤ n , which thus implies (cid:205) i n i ≤ n , and S ( n , d , ( n , . . . , n (cid:96) )) ∈ O ∼ ( dn ) .Note also that s i ≥ d / SeriesRootsTrc . Since T ( n , d ) is at least linear in n , we then get (cid:205) i T ( n i , d − s i ) ≤ T ( n , d / ) .This gives the upper bound T ( n , d ) ≤ T ( n , d / ) + O ∼ ( nd ) , from which we deduce that T ( n , d ) = O ∼ ( nd ) + O ( d R K ( n )) . (cid:3) Finally, we point out an optimization, which is not necessaryto establish our main result, but useful in practice: once the affinefactor of a shift has degree 1, there is no need to continue therecursion (the affine factor being monic, we can just read off itsroot from its constant coefficient). This is the analogue of thesituation described in the introduction, when we know enoughterms of the solution to make it possible to apply Newton iterationwithout further branching.
ACKNOWLEDGMENTS
The research leading to these results has received funding from thePeople Programme (Marie Curie Actions) of the European Union’sSeventh Framework Programme (FP7/2007-2013) under REA grantagreement no. 609405 (COFUNDPostdocDTU).
REFERENCES [1] M. Alekhnovich. 2005. Linear Diophantine equations over polynomials and softdecoding of Reed-Solomon codes.
IEEE Transactions on Information Theory
51, 7(July 2005), 2257–2265.
DOI: http://dx.doi.org/10.1109/TIT.2005.850097[2] D. Augot and L. Pecquet. 2000. A Hensel lifting to replace factorization in list-decoding of algebraic-geometric and Reed-Solomon codes.
IEEE Transactionson Information Theory
46, 7 (2000), 2605–2614. http://ieeexplore.ieee.org/xpls/abs all.jsp?arnumber=887868[3] J.-D. Bauch, E. Nart, and H. D. Stainsby. 2013. Complexity of OM factorizationsof polynomials over local fields.
LMS Journal of Computation and Mathematics
16 (2013), 139–171.[4] J. Berthomieu, G. Lecerf, and G. Quintin. 2013. Polynomial root finding overlocal rings and application to error correcting codes.
Applicable Algebra inEngineering, Communication and Computing
24, 6 (July 2013), 413–443.
DOI: http://dx.doi.org/10.1007/s00200-013-0200-5[5] D. V. Chudnovsky and G. V. Chudnovsky. 1986. On expansion of algebraicfunctions in power and Puiseux series, I.
J. Complexity
2, 4 (1986), 271 – 294.[6] D. V. Chudnovsky and G. V. Chudnovsky. 1987. On expansion of algebraicfunctions in power and Puiseux series, II.
J. Complexity
3, 1 (1987), 1 – 25.[7] D. Duval. 1989. Rational Puiseux expansions.
Composit. Math.
70, 2 (1989),119–154.[8] V. Guruswami and M Sudan. 1999. Improved decoding of Reed–Solomon codesand algebraic-geometric codes.
IEEE Transactions on Information Theory
45, 6(1999), 1757–1767.[9] H. T. Kung and J. F. Traub. 1978. All algebraic functions can be computed fast.
J.ACM
25, 2 (1978), 245–260.[10] J. Montes. 1999.
Pol´ıgonos de Newton de orden superior y aplicaciones aritm´eticas .Ph.D. Dissertation. Universitat de Barcelona.[11] D. R. Musser. 1975. Multivariate polynomial factorization.
J. ACM
22, 2 (April1975), 291–308.
DOI: http://dx.doi.org/10.1145/321879.321890[12] I. Newton. 1736.
The Method of Fluxions and Infinite Series . Henry Woodfall.[13] J. S. R. Nielsen and P. Beelen. 2015. Sub-quadratic decoding of one-point Hermit-ian codes.
IEEE Transactions on Information Theory
61, 6 (June 2015), 3225–3240.
DOI: http://dx.doi.org/10.1109/TIT.2015.2424415[14] A. Poteaux and M. Rybowicz. 2011. Complexity bounds for the rational Newton-Puiseux algorithm over finite fields.
Appl. Algebra Engrg. Comm. Comput.
22, 3(2011), 187–217.[15] A. Poteaux and M. Rybowicz. 2015. Improving complexity bounds for the com-putation of Puiseux series over finite fields. In
ISSAC’15 . ACM, 299–306.[16] R.M. Roth and G. Ruckenstein. 2000. Efficient cecoding of Reed-Solomon codesbeyond half the minimum distance.
IEEE Transactions on Information Theory
ISSAC’91 . ACM Press, 14–21.[18] Madhu Sudan. 1997. Decoding of Reed–Solomon codes beyond the error-correction bound.
Journal of Complexity
13, 1 (1997), 180–193.[19] J. von zur Gathen and J. Gerhard. 2013.
Modern Computer Algebra (3rd ed.).Cambridge University Press.[20] R. J. Walker. 1978.
Algebraic Curves . Springer-Verlag, New York. x+201 pages.Reprint of the 1950 edition.[21] Y. Wu. 2008. New list decoding algorithms for Reed-Solomon and BCH codes.
IEEE Transactions on Information Theory
54, 8 (2008), 3611–3630.[22] O. Zariski and P. Samuel. 1960.