2020
DOI: 10.1007/978-3-030-52200-1_48
|View full text |Cite
|
Sign up to set email alerts
|

Implementing the Tangent Graeffe Root Finding Method

Abstract: The tangent Graeffe method has been developed for the efficient computation of single roots of polynomials over finite fields with multiplicative groups of smooth order. It is a key ingredient of sparse interpolation using geometric progressions, in the case when blackbox evaluations are comparatively cheap. In this paper, we improve the complexity of the method by a constant factor and we report on a new implementation of the method and a first parallel implementation.Note: This paper received funding from NS… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
3
0

Year Published

2020
2020
2020
2020

Publication Types

Select...
1

Relationship

1
0

Authors

Journals

citations
Cited by 1 publication
(3 citation statements)
references
References 15 publications
(15 reference statements)
0
3
0
Order By: Relevance
“…To do this, we determine the constant factors in the complexities of both algorithms, under the assumption that arithmetic in p [x] is done using FFT-based algorithms. We first implemented a sequential version of the tangent Graeffe method in C, with the optimizations from sections 3.2 and 3.3; see [27]. Section 4 is devoted to a more elaborate parallel implementation in Cilk C. We detail how we parallelized the different steps of the algorithm, and how we organized the memory so we could factor a polynomial of degree 10 9 over p , for p = 5 ⋅ 2 55 + 1.…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations
“…To do this, we determine the constant factors in the complexities of both algorithms, under the assumption that arithmetic in p [x] is done using FFT-based algorithms. We first implemented a sequential version of the tangent Graeffe method in C, with the optimizations from sections 3.2 and 3.3; see [27]. Section 4 is devoted to a more elaborate parallel implementation in Cilk C. We detail how we parallelized the different steps of the algorithm, and how we organized the memory so we could factor a polynomial of degree 10 9 over p , for p = 5 ⋅ 2 55 + 1.…”
Section: Introductionmentioning
confidence: 99%
“…We used a multi-core computer with two 10 core Intel Xeon E5 2680 v2 CPUs and 128 gigabytes of RAM. The factorization takes just under 4,000 seconds on 10 cores and uses 121 gigabytes of RAM.We used the tangent Graeffe root finding algorithm from [19,27] which is a factor of O(log d) faster than the Cantor-Zassenhaus algorithm. We implemented the tangent Graeffe algorithm in C using our own library of 64 bit integer FFT based in-place polynomial algorithms then parallelized the FFT and main steps using Cilk C.In this article we discuss the steps of the tangent Graeffe algorithm, the sub-algorithms that we used, how we parallelized them, and how we organized the memory so we could factor a polynomial of degree 10 9 .…”
mentioning
confidence: 99%
See 1 more Smart Citation