Sparse Polynomial Interpolation Based on Diversification
SSparse Polynomial Interpolation Based on Diversification
Qiao-Long HuangResearch center for mathematics and interdisciplinary sciencesShandong University, ChinaEmail: [email protected] 11, 2020
Abstract
We consider the problem of interpolating a sparse multivariate polynomial over a finite field,represented with a black box. Building on the algorithm of Ben-Or and Tiwari for interpolatingpolynomials over rings with characteristic zero, we develop a new Monte Carlo algorithm overthe finite field by doing additional probes.To interpolate a polynomial f ∈ F q [ x , . . . , x n ] with a partial degree bound D and a termbound T , our new algorithm costs O ∼ ( nT log q + nT √ D log q ) bit operations and uses 2( n +1) T probes to the black box. If q ≥ O ( nT D ), it has constant success rate to return the correctpolynomial. Compared with previous algorithms over general finite field, our algorithm hasbetter complexity in the parameters n, T, D and is the first one to achieve the complexity offractional power about D , while keeping linear in n, T .A key technique is a randomization which makes all coefficients of the unknown polynomialdistinguishable, producing a diverse polynomial. This approach, called diversification, was pro-posed by Giesbrecht and Roche in 2011. Our algorithm interpolates each variable independentlyusing O ( T ) probes, and then uses the diversification to correlate terms in different images. Atlast, we get the exponents by solving the discrete logarithms and obtain coefficients by solvinga linear system.We have implemented our algorithm in Maple. Experimental results shows that our algo-rithm can applied to sparse polynomials with large degree. We also analyze the success rate ofthe algorithm. Let f be a sparse multivariate polynomial over F q , the finite filed of size q , f = t (cid:88) i =1 c i x e i, · · · x e i,n n (1)Suppose f is given by a black box B f , B f : F np → F p On input ( α , . . . , α n ) ∈ F np , the black box evaluates and outputs f ( x = α , . . . , x n = α n ).Given also bounds D ≥ max ni =1 deg x i ( f ) on the partial degree of f and terms bound T ≥ t . Ourgoal is to interpolate the polynomial f to obtain the nonzero coefficients c i and the correspondingexponents ( e i, , . . . , e i,n ) by probing to the black box. Our contribution is as follows. a r X i v : . [ c s . S C ] J a n heorem 1.1 Let f ∈ F q [ x , . . . , x n ] , and suppose we are given a black box B f which evaluates f , an upper bound D ≥ max ni =1 deg x j f , and an upper bound T on the number of nonzero termsof f . If q ≥ n + 2) T D + 1 and a primitive root of F q is known, then there exists a probabilisticalgorithm which interpolates f with probability at least / . The algorithm requires n + 1) T probes and costs O ∼ ( nT log q + nT √ D log q ) bit operations. Sparse interpolation is an important problem in computer algebra and symbolic computation.For example, sparse interpolation is a key part of GCD computation [23, 11] and also can beapplied to the manipulation and factorization of multivariate polynomial and system solving[9, 27, 12, 13].The algebraic complexity usually does not coincide with the bit complexity, which also takesinto account the potential growth of the actual coefficients in the field F . Nevertheless, inthe special, very important, case when the field F is finite, both complexities coincide up to aconstant factor as all the date have the controllable size. So complexity of interpolation problemover finite field is also very important in the complexity of interpolation.We now attempt to summarize previously known interpolation algorithms over finite fields.For the dense representation, one can use the classical method of Newton/Waring/Lagrange tointerpolate in O ∼ ( D n ) time.In 1979, Zippel[34, 35] presented the first sparse algorithm in a modern setting. Zippel’salgorithm interpolates f one variable at a time, sequentially. This algorithm is probabilisticand its correctness relies heavily on the Schwartz-Zippel Lemma that if a random evaluationpoint is chosen from a large enough set, a nonzero polynomial is not zero at this point with highprobability. Zippel’s algorithm can be used over finite fields F q . If q ≥ O ( nT D ), then it willobtain a correct polynomial with a constant success rate. It uses O ( nT D ) probes to the blackbox and has cost O ∼ ( nT D ) operation in F q .In 1988, Ben-Or and Tiwari [7] presented a deterministic algorithm for interpolating a multi-variate polynomial over the field with characteristic 0. The algorithm evaluates the black box atpowers of the first n primes; it evaluates at the points (2 i , i , i , . . . , p in ) for 0 ≤ i < T . Their ap-proach is adapted to finite fields F q by using the well-known Kronecker substitution to reduce themultivariate problem to a univariate one. To interpolate f ( x , . . . , x n ) with D > max ni =1 deg x i f is the same as to interpolate (cid:98) f ( x, x D , . . . , x D n − ). The algorithm requires q > deg (cid:98) f = O ( D n )and must compute t discrete logarithms to obtain the exponents of (cid:98) f . As no polynomial-timealgorithm is known for arbitrary finite fields, this will cost O ( tD n/ ) bit operations.In 1990, Grigoriev et al. [18] proposed a parallel algorithm for sparse polynomial interpola-tion over finite field F q . In their algorithm, q − q, T and n . This provides an effi-cient solution to the problem when the cardinality of the F q is fixed. But, when F q grows large,the number of points of evaluation grows with q . In our algorithm, the number of evaluation isindependent of q .In [20], Huang and Rao developed the first successful adaptation of the Ben-Or/Tiwariapproach to finite fields F q . In their algorithm, 4 t ( t − D + 1 probes are needed. Here D isa bound of the total degree of f . As we know deg f ≤ n deg x i f , D is O ( nD ). The key noveltyof their algorithm is to replace the primes 2 , , , . . . , p n in Ben-Or/Tiwari by different linearpolynomials in F q [ y ]. Their algorithm is Las Vegas and has the restriction q ≥ t ( t − D + 1.In 2010, Javadi and Monagan [24] gave a faster way of adaptation of the Ben-Or/Tiwarialgorithm to finite field F q . Their algorithm interpolates each variable independently using O ( t )probes so that the main loop of their algorithm can be parallelized. It does O ( nT ) probes.Besides the direct methods above, there are reduction-based methods. In 2001, Klivans andSpielman gave the first deterministic polynomial time algorithms for sparse interpolation overfinite fields with large characteristic. They reduce the multivariate interpolation problem tothe univariate interpolation problem. In their Monte Carlo version, it reduces a multivariate nto n univariate polynomials with degree O ( nT D ). In 2014, Arnold and Roche [5] presentrandomized kronecker substitutions. The reduction works similarly to the classical and widely-used Kronecker substitution. Arnold and Roche’s algorithm reduces a multivariate into O ( n +log T ) univariate polynomials with degree O ( T D ).As an application, both of the two reductions gave a new algorithm for multivariate in-terpolation which uses these new techniques along with any existing univariate interpolationalgorithm. For finite fields, using the univariate Ben-Or/Tiwari algorithm which requires 2 T black box probes and (cid:101) O ( d ) bit operations, Klivans and Spielman’s reduction algorithm givesa multivariate interpolation with O ( nT ) probes and O ∼ ( nT D ) operation in F q ; Arnold andRoche’s reduction algorithm can give a multivariate interpolation with O ∼ ( nT ) probes and O ∼ ( nT D ) operation in F q . But in this algorithm, they need to solve a linear system to obtainthe exponents which costs O ( n ω T ) bit operations. In 2019, Huang and Gao [22] revisited therandomized kronecker substitutions and gave an improvement which deleted the part O ( n ω T )from the complexity. An information-theoretic lower bound on the complexity of multivariate sparse interpolation isΩ( nT log D + T log q ), the number of bits used to encode f in (1). Hence the bit storage size isproportional to the logarithm of the degree D . The interpolation algorithm whose complexity ispolynomial in n, T, log D , i.e. polynomial in the sparse representation, is called the supersparse algorithm.So far, there is no supersparse interpolation algorithm for the polynomial given by a blackbox in general. In our paper, the black box is always limited to the model that can only evaluatein the ground field and outputs the exact values.For some special finite fields, supersparse algorithm exists. For example, Kaltofen [29]demonstrates a method for sparse interpolation over F p for primes p such that p − O ( t ) probes.If the black box is modified, supersparse algorithm exists. As far as I know, there arecurrently four such modifications.The first modification is the black - box numerical model . This model can probe the poly-nomial on the unit circle and it outputs a value within a given accuracy. In 1995, Mansour[31] gave a supersparse algorithm for polynomial with integer coefficients. In 2009, Giesbrecht,Labahn and Lee in [16] present a new algorithm for sparse interpolation for polynomials withfloating point coefficients which is a numerical adaptation of Ben-Or /Tiwari algorithm. Forother work, see [10, 1, 17].The second one is the modular black box . This model is slightly modified from the traditionalblack box: Given any prime p and any element θ in Z p , the modular black box computes thevalue of the unknown polynomial f ∈ Q [ x ] evaluated at θ over the field Z p . In here, both p and θ are inputs in the evaluation. This is proposed by Giesbrecht and Roche [10]. For other work,see [8, 25].The third one is the extended domain black box which is introduced by D´ıaz and Kaltofen[13]. This model is capable of evaluating f ( b , . . . , b n ) ∈ E for any ( b , . . . , b n ) ∈ E n where E isany extension field of ground field F . That is, we can change every operation in the black boxto work over an extension field, usually paying an extra cost per evaluation proportional to thedegree of the extension. Garg and Schost [14] first gave a supersparse interpolation algorithmfor the straight-line program. Their algorithm computes f mod ( x p −
1) for any p . This canbe regarded as evaluating f in the extension field which contains p -th root and the groundfield. More generally, their algorithm works for any rings. Later, a series of later improvement[4, 3, 2, 17, 21] has improved the complexity.The fourth one is the derivative black box . This model can not only probe f , but also canevaluate ∂f∂x k , k = 1 , . . . , n at any given point. It is proposed in [15] and we give this modelinspired by [6]. With this model, we give a supersparse algorithm based on Ben-Or and Tiwari lgorithm. The key advantage is that in the derivative of f , the information of the exponentsis contained in the coefficients. For example, if cm i = cx e · · · x e n n , then the k th derivativeis ce k x e · · · x e k − k · · · x e n n . As in the finite field, the cost of Ben-Or and Tiwari algorithm isdominated by discrete logarithm, this modification replace the solving of discrete logarithm bya division of coefficients which makes the complexity be supersparse. In our algorithm, we assume the terms bound T and degree bound D are inputs.We notice that bounds for D, D are sometimes known in advance and sometimes have to beguessed themselves. The total degree can be guessed efficiently by using sparse interpolation forthe univariate polynomial P ( α x, . . . , α n x ), where = ( α , . . . , α n ) is a random point in ( F ∗ q ) n .Similarly, the partial degrees D k are obtained by interpolating f ( α , . . . , α i − , x, α i +1 , . . . , α n ).In [26], Kaltofen and Lee studied black-box sparse interpolation in the case that no bound T ≥ t = f is given. They developed the technique of early termination, which probabilisticallydetects when we have enough black-box queries to interpolate f . The number of term can beguessed efficiently by using early termination.Hao, Kaltofen and Zhi [19] gave a modified early termination that permits starting thesequence at the point (1 , . . . , (cid:54) = 2. Our algorithm is a modified version of Ben-Or and Tiwari algorithm. We use the same idea toevaluate the polynomial at the powers of some point ( α , . . . , α n ).Our algorithm is inspired by Javadi and Monagan [24]. In their algorithm, they first evalua-tion a list of evaluations f ( α i , . . . , α in ) , i = 0 , , . . . , T −
1. From these values, they obtain the m i ( α , . . . , α n ) , i = 1 , . . . , t . It is hard to get the exponents of m i just from m i ( α , . . . , α n ). Tosolve the problem, they add the number of probes. For example, to compute the exponents of x , they probe again f ( α (cid:48) i , . . . , α in ) , i = 0 , , . . . , T − m i ( α (cid:48) , . . . , α n ) , i = 1 , . . . , t .Only the first variable is varied. Let Φ( z ) = (cid:81) ti =1 ( z − m i ( α , . . . , α n )) and Φ (cid:48) ( z ) = (cid:81) ti =1 ( z − m i ( α (cid:48) , . . . , α n )). As m i ( α , . . . , α n ) m i ( α (cid:48) , . . . , α n ) = ( α α (cid:48) ) e i, if r k = m i ( α , . . . , α n ) and r j = m i ( α (cid:48) , . . . , α n ), then r k = r j ( α α (cid:48) ) e i, .So to determine if r j ( α α (cid:48) ) e i, is a root of Φ( z ), we may determinate the degree e i, . But tocompute all the exponents, the complexity will be O ( nT D ) operation in F q .Our algorithm has two main key ingredients different from Javadi and Monagan’s. The firstone is that we use the information of the coefficient to match the same terms in the differ-ent images, which makes the complexity about T from T into T . To do that we introducethe technique of diversification. We randomly choose ζ , . . . , ζ n from F ∗ nq , with high probabil-ity, f ( ζ x , . . . , ζ n x n ) is a polynomial whose different terms have different coefficients. Thismethod is first proposed by Giesbrecht and Roche [17]. So our algorithm, instead of returning m i ( α , . . . , α n ) , i = 1 , , . . . , t , returns the pairs ( m i ( α , . . . , α n ) , c i ) , i = 1 , , . . . , t . The secondingredient is the evaluation. For the k -th variable, we compute ( m i ( α , . . . , α k ω, α n ) , c i ) , i =1 , , . . . , t , where ω is a primitive of F q .As c i ’s are different values, we can match the same terms. So m i ( α , . . . , α k ω, . . . α n ) m i ( α , . . . , α n ) = ω e i,k Computing a discrete logarithm, we obtain the e i,k . As e i,k ≤ D , it equals to compute adiscrete logarithm within an interval [0 , D ], which cost O ( √ D ) operations in F q . So our workreduce the complexity about D from D to √ D . Compare to Javadi and Monagan’s algorithm,we feel that this interpolation algorithim is conceptually much simpler. .5 Compared with previous algorithm In this paper, we only consider the problem of interpolation of polynomial given by black box.This is the most general model in the interpolation of polynomial.In the following algorithms, all of whose computational complexity is polynomial in
T, n, D and log q , no supersparse algorithm exists and even no one knows if it exists. Table 1: “Soft-Oh” comparison of interpolation algorithms over finite field F q Probes ( ρ ) Bit complexity (Θ) Size of F q typeGrigoriev-Karpinski-Singer [18] n T log ( ntq ) + q . log q DetHuang-Rao [20] T D ( T D ) (( T D ) + log q ) log q q ≥ O ( T D ) LVJavadi and Monagan [24] nT T (log q + nD ) log q φ ( q − ≥ O ( nD T ) MCKlivans-Spielman [30] nT n T D log q q ≥ O ( nT D ) MCArnold-Roche [5] nT nT D log q + n ω T q ≥ O ( T D ) MCHuang-Gao [21] nT nT D log q q ≥ O ∼ ( T D ) MCZippel [34, 35] nT D nT D log q q ≥ O ( nD T ) MCThis paper (The. 3.5) nT nT √ D log q + nT log q q ≥ O ( nT D ) MC “Probes” is the number of evaluations for the polynomials, “Bit complexity” is the complexitybesides the probes, and “Size of F q ” means that the algorithm can work for the finite field whosesize satisfies this condition, and in the contrary case, the algorithm need to take values in a properextension field of F q . In here, D is the total degree bound, so D is O ( nD ).We can see that our algorithm has better complexity in the parameters n, T, D and ouralgorithm is the first one to achieve the complexity of fractional power about D , while keepinglinear in n, T . If q is O ∼ (( nT D ) O (1) ), our algorithm has better complexity than all othermethods. Our paper is organized as follows. In Section 2 we present some preliminaries which will be usedin our algorithm later. In Section 3 we present our new algorithm and analyze its complexityand its success rate. In Section 4 we present an example to show the main row and the keyfeatures of our algorithm. In Section 5 we show the implementations of our algorithm on varioussets of polynomials. Finally, a conclusion is given in section 6.
We will use the coefficients to distinguish the different terms in a polynomial. To speed upthe search process, a trivial order in the finite field F q is constructed by size comparison ofrepresentation elements.For q = p s , p prime, we suppose that elements of F q is represented as Z p [ y ] / (cid:104) Φ( y ) (cid:105) , whereΦ is a irreducible polynomial over Z p with degree s . Then we know { , y, . . . , y s − } is a basisof F q / Z p . For any element a in F q , there exists unique ( ρ , ρ , . . . , ρ s − ) ∈ Z np such that a = ρ + ρ y + · · · + ρ s − y s − First we define the order in Z p . Represent each element of F p in the numbers 0 , , . . . , p − ∈ N . Let ρ , ρ ∈ F p , we say ρ (cid:22) ρ in Z p iff ρ ≤ ρ in N Generalize this order to ( ρ , . . . , ρ n ) ∈ Z np in lexicographic order, then it is an order in F q . .2 Diversification Now we introduce the notion of diversification. If all the coefficients of a polynomial f are alldifferent, then each coefficient can be regarded as the feature of the correlate term. We havethe following definition. Definition 2.1
If a polynomial f ∈ F q [ x , . . . , x n ] , has all coefficients distinct; that is, f = (cid:80) ti =1 c i m i and c i = c j ⇒ i = j , then we say f is diverse. The diverse polynomials are only special kind in F q [ x , . . . , x n ], which are not the general casein pratice. So we introduce the method of diversif ication which first introduced by Giesbrechtand Roche [17].As we know that if ζ , . . . , ζ n ∈ F q / { } , then the polynomials f ( ζ x , . . . , ζ n x n ) ↔ f ( x , . . . , x n )are one-to-one corresponding. And the two polynomials have the same monomials and the onlydifference between them is the coefficients. So we can interpolate f ( ζ x , . . . , ζ n x n ) instead of f ( x , . . . , x n ).If f ( x , . . . , x n ) = t (cid:88) i =1 c i x e i, · · · x e i,n n then f ( ζ x , . . . , ζ n x n ) = t (cid:88) i =1 c i ζ e i, · · · ζ e i,n n x e i, · · · x e i,n n = t (cid:88) i =1 (cid:101) c i x e i, · · · x e i,n n where (cid:101) c i = c i ζ e i, · · · ζ e i,n n .Now the coefficients of the new polynomial f ( ζ x , . . . , ζ n x n ) are (cid:101) c i ’s, which depend onthe choose of ( ζ , . . . , ζ n ). Giesbrecht and Roche [17] proved that if ( ζ , . . . , ζ n ) are randomlychosen from F ∗ nq and F q has enough many elements, then f ( ζ x , . . . , ζ n x n ) is diverse with highprobability. This is a surprisingly simple but effective trick.If the polynomial f ( ζ x , . . . , ζ n x n ) is diverse, then each coefficient of f ( ζ x , . . . , ζ n x n ) isthe feature of the correlate term, as it is unique. Once g = f ( ζ x , . . . , ζ n x n ) is known, then f = g ( ζ − x , . . . , ζ − n x n ) Now we give a sparse interpolation algorithm for black-box multivariate polynomials over finitefields F q .Let f ( x , . . . , x n ) = c m + · · · + c t m t ∈ F q [ x , . . . , x n ] (2)be the polynomial to be interpolated, where m i = x e i, . . . x e i,n n are distinct monomials, c i arenon-zero coefficients, and t = f is the number of terms in f and T ≥ t is a term bound.Let β i = ( α i , . . . , α in ) ∈ F ∗ nq , ζ = ( ζ , . . . , ζ n ) ∈ F ∗ nq Denote ζ ∗ β i = ( ζ α i , . . . , ζ n α in )Now evaluate the value a i = f ( ζ ∗ β i ) = f ( ζ α i , . . . , ζ n α in ) , i = 0 , , . . . , T − v j = m j ( α , . . . , α n ) , j = 1 , , . . . , t his section is organized as follows. In Section 3.1, we present a diverse version of Ben-Orand Tiwari algorithm. This algorithm will return ( (cid:101) c i , v i ) , i = 1 , . . . , t . In Section 3.2, we showhow to determine the exponents and coefficients by adding probes. In section 3.3, we presentour new interpolation algorithm and analyse its time complexity. In section 3.4, we analyse thesuccess rate of our new algorithm. In order to proceed our algorithm, we give the first assumption.
Assumption 1 f is a polynomial as in (2). Let ( α , . . . , α n ) ∈ F ∗ nq and it satisfies m i ( α , . . . , α n ) (cid:54) = m j ( α , . . . , α n ) , if i (cid:54) = j In the following description, we suppose Assumption 1 is correct. First construct an auxiliarypolynomial Λ( z ) to compute the v i . It is constructed as follows.Λ( z ) = t (cid:89) i =1 ( z − v i ) = z t + ζ t − z t − + · · · + ζ z + ζ . (3)For any j ∈ N , we have a j = f ( ζ ∗ β j ) = t (cid:88) i =1 c i m i ( ζ α j , . . . , ζ n α jn )= t (cid:88) i =1 c i m i ( ζ , . . . , ζ n ) m i ( α j , . . . , α jn )= t (cid:88) i =1 (cid:101) c i m i ( α j , . . . , α jn ) = t (cid:88) i =1 (cid:101) c i v ji Consider the sum t (cid:88) i =1 (cid:101) c i v ji Λ( v i ) = t − (cid:88) k =0 ζ k ( (cid:101) c v k + j + (cid:101) c v k + j + · · · + (cid:101) c t v k + jt ) + ( (cid:101) c v t + j + (cid:101) c v t + j + · · · + (cid:101) c t v t + jt )for j = 0 , . . . , t −
1. Since ζ ( v i ) = 0, a j ζ + a j +1 ζ + · · · + a j + t − ζ t − + a j + t = 0 , ≤ j ≤ t − . We now have the Toeplitz system A t −→ λ t = −→ b t where A i = a t − a t · · · a t − i a t − a t − · · · a t − i ... ... . . . ... a t − i a t − i +1 · · · a t − , −→ λ i = λ λ ... λ i − , −→ b i = − a t − i a t − i ... a t (4) A t is non-singular as can be seen from the factorization. A t = v t − v t − · · · v t − t v t − v t − · · · v t − t ... ... . . . ...1 1 · · · (cid:101) c · · · (cid:101) c · · · · · · (cid:101) c t v · · · v t − v · · · v t − ... ... . . . ...1 v t · · · v t − t (5) ince the v i are distinct, the two Vandermonde matrices are nonsingular and as no (cid:101) c i is zero,the diagonal matrix is nonsingular, too. If the input value of the upper bound T is greater than t , then the coefficients (cid:101) c k , for k > t , can be regarded as zero and the resulting system A T wouldbe singular.The root of the polynomial Λ( z ) give the v i and by choosing the first t evaluations of f , weget the following transposed Vandermonde system of equations V −→ (cid:101) c = −→ a for the coefficients of f , where V = · · · v v · · · v t ... ... . . . ... v t − v t − · · · v t − t , −→ (cid:101) c = (cid:101) c (cid:101) c ... (cid:101) c t , −→ a = a a ... a t − (6)We now state the algorithm for computing the pairs ( (cid:101) c i , v i ). The key ingredients are: • Compute v , . . . , v t from the b , b , . . . , b T − . • Compute the coefficients (cid:101) c , . . . , (cid:101) c t from b , b , . . . , b t − and v , . . . , v t . Algorithm 3.1 (Monomials and coefficients(MC))Input: • A black box B f : F nq → F q where f ∈ F q [ x , . . . , x n ] is the target polynomial. • A point ( α , . . . , α n ) ∈ F ∗ nq that satisfies Assumption 1. • A point ( ζ , . . . , ζ n ) ∈ F ∗ nq . • A terms bound T ≥ f . Output:
The pairs { ( (cid:101) c i , v i ) | i = 1 , , . . . , t } where (cid:101) c (cid:22) · · · (cid:22) (cid:101) c t . Step 1:
For i = 0 , , . . . , T −
1, probe a i := f ( ζ ∗ β i ) = f ( ζ α i , . . . , ζ n α in ). Step 2:
Find the rank t of the matrix A T . Step 3:
Solve the Toeplitz system A t −→ λ t = −→ b t described in (4) to recover the auxiliary poly-nomial Λ( z ). Step 4:
Compute the roots of Λ( z ) and denote them v , . . . , v t . Step 5:
Find the coefficients (cid:101) c i by solving the transposed Vandermonde system V −→ (cid:101) c = −→ a described in (6). Step 6:
Sort ( (cid:101) c , . . . , (cid:101) c t ) into ( (cid:101) c σ (1) , . . . , (cid:101) c σ ( t ) ) such that (cid:101) c σ (1) (cid:22) · · · (cid:22) (cid:101) c σ ( t ) , where σ is a per-mutation of 1 , , . . . , t . Step 7:
Return { ( (cid:101) c σ ( i ) , v σ ( i ) ) | i = 1 , , . . . , t } . Lemma 3.2
Algorithm 3.1 is correct and it needs T evaluations of f plus O ∼ ( T log q ) bitoperations.Proof. The correctness comes from the early description. Now we analyse the complexity. Dueto the fast integer and polynomial multiplication algorithms [33, p.232], one can perform anarithmetic operation in F q in O ∼ (log q ) bit operations.In Step 1, it needs 2 T evaluations.In Step 2 and Step 3, it needs O ( M ( t ) log t log q ) bit operations [28].In Step 4, by [33, Cor.14.16], it needs expected O ∼ ( T log q ) F q -operations to compute all v , . . . , v t .In Step 5, it needs O ( M ( t ) log t log q ) bit operations [28]. n Step 6, as described in Section 2.1, sorting ( (cid:101) c , . . . , (cid:101) c t ) is the same as sorting t s -tuples inlexicographic order. By quick sort, it needs O ∼ ( st ) operation in F p . So it needs O ∼ ( st log p ) = O ∼ ( t log q ) bit operations.So the total complexity of the algorithm is O ∼ ( T log q ) bit operations. Remark 3.3
Algorithm 3.1 only returns the v i and the corresponding coefficients (cid:101) c i . In theoriginal Ben-Or and Tiwari Algorithm over field of characteristic 0, v i has the form v i = p e i, . . . p e i,n n where p , . . . , p n are different primes. One can obtain the exponents e i, , . . . , e i,n from the factorization of v i . But Algorithm 3.1 works over the finite field, it is difficult to findthe exponents from v i = α e i, . . . α e i,n n , which is a multi-variate discrete logarithm problem. SoAlgorithm 3.1 is only a intermediate algorithm and will be called in the following interpolationalgorithm. In the above sub-section, we only obtain the v i (= α e i, · · · α e i,n n ) and (cid:101) c i (= c i ζ e i, · · · ζ e i,n n ). Theinformation we really want is e i, , . . . , e i,n and c i . We see c i = (cid:101) c i ζ e i, · · · ζ e i,n n As ζ , . . . , ζ n are known, once we know e i, , . . . , e i,n , then c i can be computed quickly.So the first thing we have to do is compute the exponents. We will do 2 nT extra probes todo it. For each x k , we use 2 T more evaluations to determine the exponents in this variable inthe monomials m i . The reader may find that computing each variable are independent taskswhich can therefore be done in parallelFix ω be a generator of F ∗ q . Consider the k -th variable x k . Let β i,k = ( α i , . . . , ( α k ω ) i , . . . , α in ) ∈ F ∗ nq Note that we evaluate the k -th variable at powers of α k ω instead of α k , and the others do notchange.Denote v j,k = m j ( α , . . . , α k ω, . . . , α n ). Compared with v j , we have v j,k v j = m j ( α , . . . , α k ω, . . . , α n ) m j ( α , . . . , α n ) = ω e j,k ∈ F q where e j,k is the k -the exponent in the monomial m j .From v j,k , v j and ω , we compute the exponent e j,k mod ( q −
1) from the discrete logarithmproblem.As D ≥ max ni =1 deg x i f is the partial degree bound, D ≥ e j,k . If q − > D , then the representelement of e j,k mod ( q −
1) is e j,k itself.To compute the v j,k , i = 1 , , . . . , t, k = 1 , , . . . , n , we introduce the second assumption. Assumption 2 f is a polynomial as in (2) and ω is a generator of F ∗ q . Let ( α , . . . , α n ) ∈ F ∗ nq and for any k = 1 , , . . . , n , it satisfies m i ( α , . . . , α k ω, . . . , α n ) (cid:54) = m j ( α , . . . , α k ω, . . . , α n ) , if i (cid:54) = j We introduce the Assumption 2 because under such assumption, for any fix k , we cancompute v ,k , . . . , v t,k from the evaluation f ( ζ ∗ β i,k ) = f ( ζ α i , . . . , ζ ( α k ω ) i , . . . , ζ n α in ) , i = 0 , , . . . , T − (cid:101) c i ’s are only related the coefficients c i and the selection of ζ , . . . , ζ n , so theyare independent of v j ’s and v j,k ’s. o compute e j,k , we have to find the v j,k , v j which corresponds to the same monomial m j .As both v j,k , v j corresponds to the coefficient (cid:101) c j in the output of Algorithm 3.1, if all (cid:101) c i ’s aredifferent, we can match them by searching.So we introduce the third assumption. Assumption 3 f is a polynomial as in (2). Let ( ζ , . . . , ζ n ) ∈ F ∗ nq and it satisfies (cid:101) c i (cid:54) = (cid:101) c j , if i (cid:54) = j As f ( ζ x , . . . , ζ n x n ) = (cid:101) c m + · · · + (cid:101) c t m t The Assumption 3 means that f ( ζ x , . . . , ζ n x n ) is a diverse polynomial according to Defi-nition 2.1. We now state the interpolation. The key ingredients are: • Compute { ( c i , v i ) , i = 1 , . . . , t } from the evaluations f ( ζ α in , . . . , ζ n α in ) , i = 0 , , . . . , T − (cid:101) c (cid:22) · · · (cid:22) (cid:101) c n . • For each variable x k , compute { ( c i,k , v i,k ) , i = 1 , . . . , t } from the evaluations f ( ζ α in , . . . , ζ k ( α k ω ) i , . . . , ζ n α in ) , i =0 , , . . . , T − (cid:101) c ,k (cid:22) · · · (cid:22) (cid:101) c n,k . • For the exponent of k -th variable in the monomial m i , compute e i,k from discrete logarithmproblem v k,i v i = ω e i,k in F q . • For each coefficient, compute c i = (cid:101) c i ζ ei, ··· ζ ei,nn . Algorithm 3.4 (Interpolation)Input: • B f : F nq → F q where f ∈ F q [ x , . . . , x n ] and q ≥ n + 2) T D + 1. • A partial degree bound D ≥ max ni =1 deg x i ( f ). • A bound T ≥ t on the number of terms in f . • A generator ω of F ∗ q . Output:
The polynomial f = (cid:80) ti =1 c i m i with probability ≥ or Fail. Step 1:
Choose 2 n nonzero elements α , . . . , α n , ζ , . . . , ζ n from F ∗ q at random. Step 2:
Call Algorithm 3.1, let { ( (cid:101) c i , v i ) | i = 1 , , . . . , t } = MC ( B f , ( α , . . . , α n ) , ( ζ , . . . , ζ n ) , T ) / ∗ note that in the output of Algorithm MC , (cid:101) c (cid:22) · · · (cid:22) (cid:101) c n ∗ / Step 3:
For k = 1 , . . . , n do / ∗ determine deg x k ( m i ) for 1 ≤ i ≤ t ∗ / a: Call Algorithm 3.1, let { ( (cid:101) c i,k , v i,k ) | i = 1 , , . . . , t } = MC ( B f , ( α , . . . , α k ω, . . . α n ) , ( ζ , . . . , ζ n ) , T ) b: For i = 1 , , . . . , t doIf c i,k (cid:54) = c i then return failure. end if.Compute e i,k from the discrete logarithm problem v i,k v i = ω e i,k in F q . Step 4:
For i = 1 , , . . . , t , compute c i = (cid:101) c i /ζ e i, · · · ζ e i,n n . Step 5:
Return (cid:80) ti =1 c i x e i, · · · x e i,n n . e first analyse the complexity of Algorithm 3.4. Our algorithm will require randomness.We assume we may obtain a random bit with bit-cost O (1). Theorem 3.5
Algorithm 3.4 needs n +1) T evaluations of f plus O ∼ ( nT log q + nT √ D log q ) bit operations.Proof. In Step 1, randomly choosing 2 n elements cost O ∼ ( n log q ) bit operations.In Step 2 and a of Step 3, it calls n + 1 times Algorithm MC , by Lemma 3.2, it needs2( n + 1) T evaluations and O ∼ ( nT log q ) bit operations.In b of Step 3, it totally needs to solve nt discrete logarithms. A good approach over anarbitrary finite field was given in [32], where we can take advantage of the fact that the orderof each discrete log is bounded by D ≥ deg x i f , with a cost of O ( √ D ) operations in F q for eachdiscrete logarithm. So the complexity is O ∼ ( nt √ D log q ) bit operations.In Step 4, to compute ζ e i, · · · ζ e i,n n , it costs O ∼ ( n log D log q ) bit operations. So it needs O ∼ ( nt log D log q ) bit operations.So the total complexity of the algorithm is O ∼ ( nT log q + nT √ D log q ) bit operations. Remark 3.6
The most expensive step in Algorithm 3.4 is b Step . Here, we need to solve nT discrete logarithm. But for some special q where q − has only small prime factor, thediscrete logarithm can be computed quickly with O (log D ) bit operations. Unfortunately, nopolynomial-time algorithm is known for arbitrary finite fields. Now we analyse the success rate. As mentioned before, the correct return of Algorithm 3.4 relieson the Assumption 1,2,3. First we prove the following lemma.
Lemma 3.7
Assume m and m are two different monomials with each degree no more D . Let c be a nonzero element in F q . Then there exists no more than D ( q − n − n -tuples ( α , . . . , α n ) ∈ F ∗ nq such that m ( α , . . . , α n ) = c · m ( α , . . . , α n ) .Proof. Let g be a generator of the multiplicative group F ∗ q . Then for each n -th tuple ( α , . . . , α n )we can assign another n -th tuple −→ a = ( a , . . . , a n ) ∈ N such that α i = g a i . The a i are elementsof Z / ( q − c = g b . If two terms m ( α , . . . , α n ) = c · m ( α , . . . , α n ) then m ( α , . . . , α n ) = α −→ e = g −→ a ·−→ e = g b g −→ a ·−→ e = c · m ( α , . . . , α n )So −→ a · −→ e = b + −→ a · −→ e mod ( q − −→ a · ( −→ e − −→ e ) = b mod ( q − k ( q − n − such tuples such that −→ a · ( −→ e −−→ e ) = 0 mod ( q − k is the GCD of the elements of −→ e − −→ e and q −
1. So there areat most k ( q − n − tuples such that −→ a · ( −→ e − −→ e ) = b mod ( q − k ≤ D , there areat most D ( q − n − tuples causing the two terms take on the same value.We give the following theorem which will be used to analyse an upper bound on the proba-bility that Assumption 1,2,3 are satisfied when we randomly choose α , . . . , α n , ζ , . . . , ζ n from F ∗ q . heorem 3.8 Let f = c m + · · · + c t m t ∈ F q [ x , . . . , x n ] be a n -variable polynomial. Let ω ∈ F ∗ q , T ≥ t and D ≥ max ni =1 deg x i f . If α , . . . , α n , ζ , . . . , ζ n be elements from F ∗ q chosen atrandom. Then with probability ≥ − ( n + 2) T ( T − D q − the Assumption 1,2,3 are satisfied.Proof. For Assumption 1, it needs to make sure m i ( α , . . . , α n ) (cid:54) = m j ( α , . . . , α n ) , if i (cid:54) = j For each pair ( i, j ) with i (cid:54) = j , by Lemma 3.7, it exists at most D ( q − n − n -tuples( α , . . . , α n , ζ , . . . , ζ n ) such that m i ( α , . . . , α n ) = m j ( α , . . . , α n ). Since there are at most T ( T − such pairs, at most T ( T − D ( q − n − tuples in F ∗ nq do not satisfy Assumption 1.For Assumption 2, it needs to make sure m i ( α , . . . , α k ω, . . . , α n ) (cid:54) = m j ( α , . . . , α k ω, . . . , α n ) , if i (cid:54) = j for any fixed k in { , , . . . , n } . Since m i ( α , . . . , α k ω, . . . , α n ) = ω e i,k m i ( α , . . . , α n ) and m j ( α , . . . , α k ω, . . . , α n ) = ω e j,k m i ( α , . . . , α n ), it equals to m i ( α , . . . , α n ) (cid:54) = c i,j m j ( α , . . . , . . . , α n )where c i,j = ω e j,k − e i,k . For each pair ( i, j ) with i (cid:54) = j , by Lemma 3.7, it exists at most D ( q − n − n -tuples ( α , . . . , α n , ζ , . . . , ζ n ) such that m i ( α , . . . , α n ) = c i,j m j ( α , . . . , α n ).Since there are at most T ( T − such pairs and k = 1 , , . . . , n , at most nT ( T − D ( q − n − tuplesin F ∗ nq do not satisfy Assumption 2.For Assumption 3, it needs to make sure c i m i ( ζ , . . . , ζ n ) (cid:54) = c j m j ( ζ , . . . , ζ n ) , if i (cid:54) = j For each pair ( i, j ) with i (cid:54) = j , by Lemma 3.7, it exists at most D ( q − n − n -tuples( α , . . . , α n , ζ , . . . , ζ n ) such that c i m i ( ζ , . . . , ζ n ) = c j m j ( ζ , . . . , ζ n ). Since there are at most T ( T − such pairs, at most T ( T − D ( q − n − tuples in F ∗ nq do not satisfy Assumption 3.In total, at most ( n + 2) T ( T − D ( q − n − α , . . . , α n , ζ , . . . , ζ n ) ∈ F ∗ nq do not satisfy at least one of the Assumption 1,2,3.As there are ( q − n different points in F ∗ nq , with probability ≥ ( q − n − ( n +2) T ( T − D ( q − n − ( q − n = 1 − ( n + 2) T ( T − D q − Corollary 3.9
Algorithm 3.4 is correct.Proof.
As described earlier, once ( α , . . . , α n , ζ , . . . , ζ n ) satisfies Assumption 1,2,3, Algorithm3.4 returns the correct polynomial f . In the input of Algorithm, q ≥ n + 2) T D + 1, so( n + 2) T ( T − D q − ≤ ( n + 2) T D q − ≤ ≥ − = . Remark 3.10
By the analysis of Theorem 3.8, Algorithm 3.1 returns the correct polynomialwith probability ≥ − ( n +2) T ( T − D q − . So for any < ε < , if q ≥ ( n +2) T ( T − D ε + 1 , it returnsthe correct polynomial with probability ≥ − ε . An example
We demonstrate our algorithm in the following example. For ease of calculation, we let F q = Z p where p is a prime. Here we use x, y and z for variables instead of x , x and x . Example 4.1
Let f = 91 yz + 91 x yz + 61 x y z + 61 z + 1 and p = 101 . Given the numberof terms t = 5 , the number of variables n = 3 , a degree bound D = 5 and the black box thatcomputes f , we want to find f . The first step is to randomly pick 2 n = 6 elements α = 5 , α = 59 , α = 78 , ζ = 34 , ζ =29 , ζ = 89 of Z ∗ p .We first show how Algorithm 3.1 works. We evaluate the black box at the points ζ ∗ β , . . . , ζ ∗ β t − where ζ ∗ β i = ( ζ α i , ζ α i , . . . , ζ n α in ). Thus we make 2 t probes to the blackbox. The reason to use random values from Z ∗ p is that it decreases the probability of two distinctmonomials having the same evaluation. Let a i be the output of the black box on input ζ ∗ β i and let A = ( a , . . . , a t − ). In this example we obtain A = (87 , , , , , , , , , A T and solve the Toeplitz system A t −→ λ t = −→ b t to recoverthe auxiliary polynomial Λ( z ).In our example, Λ( z ) = z + 61 z + 72 z + 10 z + 35 z + 23The next step is to find the roots of Λ( z ). We know that this polynomial is the product ofexactly t = 5 linear factors. The roots are v = 1 , v = 2 , v = 11 , v = 43 and v = 84. Nowwe need to compute the coefficients (cid:101) c i . We do this by solving the linear system of equations V −→ (cid:101) c = −→ a . After solving we obtain (cid:101) c = 1 , (cid:101) c = 54 , (cid:101) c = 50 , (cid:101) c = 43 , (cid:101) c = 33Sort in order of (cid:101) c i , the output of Algorithm 3.1 is { ( (cid:101) c i , v i ) | i = 1 , . . . , } = { (1 , , (33 , , (43 , , (50 , , (54 , } Now let’s look at the main step, which is to determine the degrees of each monomial in f in each variable. Consider the first variable x . Let ω be a generator of Z p . In this examplewe choose ω = 34. We choose the evaluation points ζ ∗ β , , ζ ∗ β , , . . . , ζ ∗ β t − , where β i, = ( ω i α i , α i , . . . , α in ). Note that we evaluated the first variable at powers of ωα instead of α . By Algorithm 3.1, it returns { ( c i, , v i, ) } = { (1 , , (33 , , (43 , , (50 , , (54 , } Since v i, = m i ( ωα , α , . . . , α n ) = ω e i m i ( α , α , . . . , α n ) = ω e i v i To compute e i , we can solve the problem ω e i ≡ v i, v i mod p We use coefficients to find the relevant terms and solve five discrete logarithm problems.After computing, we have( v i, v i | i = 1 , , . . . , t ) = (1 , , , , e = 0 , e = 0 , e = 2 , e = 2 , e = 0 Evaluation Output of Algorithm 3.1 i = 0 , . . . , (cid:101) c = 1 (cid:101) c = 33 (cid:101) c = 43 (cid:101) c = 50 (cid:101) c = 54 f ( ζ ∗ β i ) v = 1 v = 84 v = 43 v = 11 v = 2 f ( ζ ∗ β i, ) v , = 1 v , = 84 v , = 16 v , = 91 v , = 2 f ( ζ ∗ β i, ) v , = 1 v , = 84 v , = 16 v , = 71 v , = 68 f ( ζ ∗ β i, ) v , = 1 v , = 39 v , = 48 v , = 71 v , = 90 This gives us the degree of each monomial m i in the variable x .We proceed to the next variable y, z , just like the variable x . And we list the results in Table2. From the information of Table 2, we can compute the divisions of v i,k and v i and we list theresults in Table 3. Table 3: The divisions of v i,k and v i i = 1 i = 2 i = 3 i = 4 i = 5 v i, v v i, v v i, v We know e i,k = log ω v i,k v i , according to Table 3, we have m = 1 , m = z , m = x y z, m = x yz, m = yz Now all that’s left is the coefficients. As c i = (cid:101) c i m i ( ζ , . . . , ζ n )after dividing we obtain c = 1 , c = 61 , c = 61 , c = 91 , c = 91 and hence f = 91 yz +91 x yz + 61 x y z + 61 z + 1 and we are done. In this section, practical performances of the interpolation algorithm over finite fields will bereported. We implement Algorithm 3.1 and Algorithm 3.4 in Maple. The Maple code can befound in http://github.com/huangqiaolong/Maple-codes
The codes also include some test examples and their running times. The data are collectedon a desktop with Windows system, 3.19GHz Core i Roots in Maple to find the roots, and use the command mlog in Maple to solvethe discrete logarithm problem.We randomly construct five polynomials over the finite field F q within the given terms boundand partial degree bound, then regard them as black-box polynomials and reconstruct them withthe algorithm. The average times are collected. In our testing, we fix q = 140122640051 anduse the primitive element ω = 2.The results are shown in Figures 1, 2, 3. In each figure, two of the parameters n, T, D arefixed and one of them is variant. These data are basically in accordance with the complexity O ∼ ( nT √ D log q + nT log q ) of the algorithm. T Figure 2: Average times with varying D In this paper, we consider sparse interpolation for a polynomial given by a black box. The maincontribution is a new Monte Carlo algorithm which works over a large finite field . Our sparseinterpolation algorithm is a modification of the Ben-Or/Tiwari algorithm. It does 2( n + 1) T probes to the black box. Our algorithm does not interpolate each variable sequentially and thuscan more easily be parallelized. It has lower complexity than any existing algorithms in n, T, D .Experimental results show that for sparse polynomials, it does well even if the degree is largerthan 1000 , References [1] N. Alon and Y. Mansour. (cid:15) -discrepancy sets and their application for interpolation of sparsepolynomials.
Information Processing Letters , 54(6):337–342, 1995.[2] A. Arnold, M. Giesbrecht, and D. S. Roche. Faster sparse interpolation of straight-lineprograms. In
International Workshop on Computer Algebra in Scientific Computing , pages61–74. Springer, 2013. n [3] A. Arnold, M. Giesbrecht, and D. S. Roche. Sparse interpolation over finite fields via low-order roots of unity. In Proceedings of the 39th International Symposium on Symbolic andAlgebraic Computation , pages 27–34. ACM, 2014.[4] A. Arnold, M. Giesbrecht, and D. S. Roche. Faster sparse multivariate polynomial inter-polation of straight-line programs.
Journal of Symbolic Computation , 75:4–24, 2016.[5] A. Arnold and D. S. Roche. Multivariate sparse interpolation using randomized kroneckersubstitutions. In
Proceedings of the 39th International Symposium on Symbolic and Alge-braic Computation , pages 35–42. ACM, 2014.[6] M. Avenda˜no, T. Krick, and A. Pacetti. Newton–hensel interpolation lifting.
Foundationsof Computational Mathematics , 6(1):82–120, 2006.[7] M. Ben-Or and P. Tiwari. A deterministic algorithm for sparse multivariate polynomialinterpolation. In
Proceedings of the twentieth annual ACM symposium on Theory of com-puting , pages 301–309. ACM, 1988.[8] M. Bl¨aser and G. Jindal. A new deterministic algorithm for sparse multivariate polyno-mial interpolation. In
Proceedings of the 39th International Symposium on Symbolic andAlgebraic Computation , pages 51–58. ACM, 2014.[9] J. F. Canny, E. Kaltofen, and L. Yagati. Solving systems of nonlinear polynomial equationsfaster. In
Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic andalgebraic computation , pages 121–128. ACM, 1989.[10] A. Cuyt and W.-s. Lee. A new algorithm for sparse interpolation of multivariate polyno-mials.
Theoretical Computer Science , 409(2):180–185, 2008.[11] J. de Kleine, M. Monagan, and A. Wittkopf. Algorithms for the non-monic case of thesparse modular gcd algorithm. In
Proceedings of the 2005 international symposium onSymbolic and algebraic computation , pages 124–131. ACM, 2005.[12] A. D´ıaz and E. Kaltofen. On computing greatest common divisors with polynomials givenby black boxes for their evaluations. In
Proceedings of the 1995 international symposiumon Symbolic and algebraic computation , pages 232–239, 1995.[13] A. Dıaz and E. Kaltofen. Foxbox a system for manipulating symbolic objects in blackbox representation. In
Proc. 1998 Internat. Symp. Symbolic Algebraic Comput.(ISSAC98) ,volume 33, pages 30–37, 1998.[14] S. Garg and ´E. Schost. Interpolation of polynomials given by straight-line programs.
The-oretical Computer Science , 410(27-29):2659–2662, 2009.[15] M. Giesbrecht, Q.-L. Huang, and E. Schost. Sparse multiplication of multivariate lineardifferential operators.
Manuscript .
16] M. Giesbrecht, G. Labahn, and W.-s. Lee. Symbolic–numeric sparse interpolation of mul-tivariate polynomials.
Journal of Symbolic Computation , 44(8):943–959, 2009.[17] M. Giesbrecht and D. S. Roche. Diversification improves interpolation. In
Proceedings ofthe 36th international symposium on Symbolic and algebraic computation , pages 123–130.ACM, 2011.[18] D. Y. Grigoriev, M. Karpinski, and M. F. Singer. Fast parallel algorithms for sparsemultivariate polynomial interpolation over finite fields.
SIAM Journal on Computing ,19(6):1059–1063, 1990.[19] Z. Hao, E. L. Kaltofen, and L. Zhi. Numerical sparsity determination and early termina-tion. In
Proceedings of the ACM on International Symposium on Symbolic and AlgebraicComputation , pages 247–254. ACM, 2016.[20] M.-D. A. Huang and A. J. Rao. Interpolation of sparse multivariate polynomials over largefinite fields with applications.
Journal of Algorithms , 33(2):204–228, 1999.[21] Q.-L. Huang and X.-S. Gao. Faster interpolation algorithms for sparse multivariate poly-nomials given by straight-line programs.
Journal of Symbolic Computation , 2019.[22] Q.-L. Huang and X.-S. Gao. Revisit sparse polynomial interpolation based on random-ized kronecker substitution. In
International Workshop on Computer Algebra in ScientificComputing , pages 215–235. Springer, 2019.[23] S. M. M. Javadi and M. Monagan. A sparse modular gcd algorithm for polynomials overalgebraic function fields. In
Proceedings of the 2007 international symposium on Symbolicand algebraic computation , pages 187–194. ACM, 2007.[24] S. M. M. Javadi and M. Monagan. Parallel sparse polynomial interpolation over finite fields.In
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation ,pages 160–168, 2010.[25] E. Kaltofen, Y. N. Lakshman, and J.-M. Wiley. Modular rational sparse multivariatepolynomial interpolation. In
ISSAC , volume 90, pages 135–139. Citeseer, 1990.[26] E. Kaltofen and W.-s. Lee. Early termination in sparse interpolation algorithms.
Journalof Symbolic Computation , 36(3-4):365–400, 2003.[27] E. Kaltofen and B. M. Trager. Computing with polynomials given byblack boxes for theirevaluations: Greatest common divisors, factorization, separation of numerators and de-nominators.
Journal of Symbolic Computation , 9(3):301–320, 1990.[28] E. Kaltofen and L. Yagati. Improved sparse multivariate polynomial interpolation algo-rithms. In
International Symposium on Symbolic and Algebraic Computation , pages 467–474. Springer, 1988.[29] E. L. Kaltofen. Fifteen years after dsc and wlss2 what parallel computations i do today:invited lecture at pasco 2010. In
Proceedings of the 4th International Workshop on Paralleland Symbolic Computation , pages 10–17. ACM, 2010.[30] A. R. Klivans and D. Spielman. Randomness efficient identity testing of multivariate poly-nomials. In
Proceedings of the thirty-third annual ACM symposium on Theory of computing ,pages 216–223. ACM, 2001.[31] Y. Mansour. Randomized interpolation and approximation of sparse polynomials.
SIAMJournal on Computing , 24(2):357–368, 1995.[32] J. M. Pollard. Monte carlo methods for index computation (mod p ). Mathematics ofcomputation , 32(143):918–924, 1978.[33] J. Von Zur Gathen and J. Gerhard.
Modern computer algebra . Cambridge university press,1999.[34] R. Zippel. Probabilistic algorithms for sparse polynomials. In
International Symposium onSymbolic and Algebraic Manipulation , pages 216–226. Springer, 1979.[35] R. Zippel. Interpolating polynomials from their values.
Journal of Symbolic Computation ,9(3):375–403, 1990.,9(3):375–403, 1990.