Journal of Complexity, volume 87, pages 101922

Fast interpolation of multivariate polynomials with sparse exponents

JORIS VAN DER HOEVEN
Grégoire Lecerf
Publication typeJournal Article
Publication date2025-04-01
scimago Q1
wos Q1
SJR1.115
CiteScore3.1
Impact factor1.8
ISSN0885064X, 10902708
van der Hoeven J., Lecerf G.
2024-04-27 citations by CoLab: 2 Abstract  
Consider a multivariate polynomial $$f \in K [x_1, \ldots , x_n]$$ over a field K, which is given through a black box capable of evaluating f at points in $$K^n$$ , or possibly at points in  $$A^n$$ for any K-algebra A. The problem of sparse interpolation is to express f in its usual form with respect to the monomial basis. We analyze the complexity of various old and new algorithms for this task in terms of bounds D and T for the total degree of f and its number of terms. We mainly focus on the case when K is a finite field and explore possible speed-ups.
Giorgi P., Grenet B., Perret du Cray A., Roche D.S.
2022-07-04 citations by CoLab: 6 Abstract  
Given a way to evaluate an unknown polynomial with integer coefficients, we present new algorithms to recover its nonzero coefficients and corresponding exponents. As an application, we adapt this interpolation algorithm to the problem of computing the exact quotient of two given polynomials. These methods are efficient in terms of the bit-length of the sparse representation, that is, the number of nonzero terms, the size of coefficients, the number of variables, and the logarithm of the degree. At the core of our results is a new Monte Carlo randomized algorithm to recover a polynomial f(x) with integer coefficients given a way to evaluate f(θ) mod m for any chosen integers θ and m. This algorithm has nearly-optimal bit complexity, meaning that the total bit-length of the probes, as well as the computational running time, is softly linear (ignoring logarithmic factors) in the bit-length of the resulting sparse polynomial. To our knowledge, this is the first sparse interpolation algorithm with soft-linear bit complexity in the total output size. For polynomials with integer coefficients, the best previously known results have at least a cubic dependency on the bit-length of the exponents.
Harvey D., van der Hoeven J.
Annals of Mathematics scimago Q1 wos Q1
2021-03-01 citations by CoLab: 86 Abstract  
We present an algorithm that computes the product of two $n$-bit integers in $O(n \mathrm{log}\, n)$ bit operations, thus confirming a conjecture of Schönhage and Strassen from 1971. Our complexity analysis takes place in the multitape Turing machine model, with integers encoded in the usual binary representation. Central to the new algorithm is a novel ``Gaussian resampling" technique that enables us to reduce the integer multiplication problem to a collection of multidimensional discrete Fourier transforms over the complex numbers, whose dimensions are all powers of two. These transforms may then be evaluated rapidly by means of Nussbaumer's fast polynomial transforms.
Huang Q.
2019-07-08 citations by CoLab: 12 Abstract  
In this paper, we propose a new interpolation algorithm for a sparse multivariate polynomial represented by a straight-line program (SLP). Our algorithm is a Monte Carlo randomized algorithm and works over fields with large or zero characteristic. Let f be an n-variate polynomial given by a straight-line program, which has a degree bound D and a term bound T. For fields of large characteristic, the bit complexity of our algorithm is linear in n,T,łog D in the Soft-Oh sense. Since n,T,łog D are factors of the size of f, our algorithm is optimal in n,T and łog D in the Soft-Oh sense. For fields of characteristic 0, the arithmetic complexity of our algorithm is also linear in n,T,łog D in the Soft-Oh sense. But the arithmetic complexity does not account for coefficient growth and therefore might be a poor reflection of reality.
Asadi M., Brandt A., Moir R.H., Moreno Maza M.
2018-08-22 citations by CoLab: 2 Abstract  
We discuss algorithms for pseudo-division and division with remainder of multivariate polynomials with sparse representation. This work is motivated by the computations of normal forms and pseudo-remainders with respect to regular chains. We report on the implementation of those algorithms with the BPAS library.
Monagan M., Tuncer B.
2018-07-13 citations by CoLab: 8 Abstract  
Our goal is to develop a high-performance code for factoring a multivariate polynomial in n variables with integer coefficients which is polynomial time in the sparse case and efficient in the dense case. Maple, Magma, Macsyma, Singular and Mathematica all implement Wang’s multivariate Hensel lifting, which, for sparse polynomials, can be exponential in n. Wang’s algorithm is also highly sequential. In this work we reorganize multivariate Hensel lifting to facilitate a high-performance parallel implementation. We identify multivariate polynomial evaluation and bivariate Hensel lifting as two core components. We have also developed a library of algorithms for polynomial arithmetic which allow us to assign each core an independent task with all the memory it needs in advance so that memory management is eliminated and all important operations operate on dense arrays of 64 bit integers. We have implemented our algorithm and library using Cilk C for the case of two monic factors. We discuss details of the implementation and present experimental timing results.
Roche D.S.
2018-07-11 citations by CoLab: 27 Abstract  
Simply put, a sparse polynomial is one whose zero coefficients are not explicitly stored. Such objects are ubiquitous in exact computing, and so naturally we would like to have efficient algorithms to handle them. However, with this compact storage comes new algorithmic challenges, as fast algorithms for dense polynomials may no longer be efficient. In this tutorial we examine the state of the art for sparse polynomial algorithms in three areas: arithmetic, interpolation, and factorization. The aim is to highlight recent progress both in theory and in practice, as well as opportunities for future work.
Doliskani J., Giorgi P., Lebreton R., Schost E.
2018-01-03 citations by CoLab: 5 Abstract  
We present an algorithm for simultaneous conversions between a given set of integers and their Residue Number System representations based on linear algebra. We provide a highly optimized implementation of the algorithm that exploits the computational features of modern processors. The main application of our algorithm is matrix multiplication over integers. Our speed-up of the conversions to and from the Residue Number System significantly improves the overall running time of matrix multiplication.
Groves A.W., Roche D.S.
2016-11-04 citations by CoLab: 2 Abstract  
We have implemented a high-performance C library for sparse polynomials, which is provided as an add-on module to the open-source computation library FLINT [7]. Our implementation incorporates a number of recent theoretical advances in supersparse polynomial arithmetic, most notably recent algorithms for sparse interpolation and multiplication. We provide a summary of the provided functionality, a selection of key implementation decisions, and some preliminary timing data.
Hoeven J.V., Lecerf G., Quintin G.
2016-08-29 citations by CoLab: 7 Abstract  
Modular integer arithmetic occurs in many algorithms for computer algebra, cryptography, and error correcting codes. Although recent microprocessors typically offer a wide range of highly optimized arithmetic functions, modular integer operations still require dedicated implementations. In this article, we survey existing algorithms for modular integer arithmetic and present detailed vectorized counterparts. We also describe several applications, such as fast modular Fourier transforms and multiplication of integer polynomials and matrices. The vectorized algorithms have been implemented in C++ inside the free computer algebra and analysis system M athemagix . The performance of our implementation is illustrated by various benchmarks.
Hu J., Monagan M.
2016-07-20 citations by CoLab: 16 Abstract  
We present a parallel GCD algorithm for sparse multivariate polynomials with integer coefficients. The algorithm combines a Kronecker substitution with a Ben-Or/Tiwari sparse interpolation modulo a smooth prime to determine the support of the GCD. We have implemented our algorithm in Cilk C. We compare it with Maple and Magma's implementations of Zippel's GCD algorithm.
Arnold A., Giesbrecht M., Roche D.S.
Journal of Symbolic Computation scimago Q2 wos Q4
2016-07-01 citations by CoLab: 19 Abstract  
Given a straight-line program whose output is a polynomial function of the inputs, we present a new algorithm to compute a concise representation of that unknown function. Our algorithm can handle any case where the unknown function is a multivariate polynomial, with coefficients in an arbitrary finite field, and with a reasonable number of nonzero terms but possibly very large degree. It is competitive with previously known sparse interpolation algorithms that work over an arbitrary finite field, and provides an improvement when there are a large number of variables.
Monagan M., Tuncer B.
2015-11-24 citations by CoLab: 1 Abstract  
Suppose that we seek to factor a multivariate polynomial a ε R = Z[ x 1 , ..., x n ] and a = fg with f, g in R . The multivariate Hensel lifting algorithm (MHL) developed by Wang [1] uses a prime number p and an ideal I = 〈 x 2 − α 2 , ..., x n − α n 〉 of Z p [ x 1 , ..., x n ] where α 2 , α 3 , ..., α n ε Z p is an evaluation point chosen by the algorithm.

Top-30

Journals

1
1

Publishers

1
1
  • We do not take into account publications without a DOI.
  • Statistics recalculated only for publications connected to researchers, organizations and labs registered on the platform.
  • Statistics recalculated weekly.

Are you a researcher?

Create a profile to get free access to personal recommendations for colleagues and new articles.
Share
Cite this
GOST | RIS | BibTex
Found error?