This week there are two important results:
The Gauss sum implementation was tested and, as expected, it works slowly. Proof of primality of 50 digits number: 29927402397991286489627837734179186385188296382227 takes near 200 seconds.- Gauss sum test implemented and works;
- Written operations in \mathbb{Z}[\zeta_{p^k}].
To speed up the algorithm can be used Jacobi sums instead of Gauss sums. The Jacobi sum J(\chi_1, \chi_2) defined by: J(\chi_1, \chi_2) = \sum\limits_{x \in \mathbb{Z}/q\mathbb{Z}}{\chi_1(x)\chi_2(1-x)} J(\chi_1, \chi_2) \in \mathbb{Z}[\zeta_p], much smaller finite ring, so the computation is much faster. As before we represent elements of \mathbb{Z}[\zeta_p] as \mathbb{Z}[X]/(X^p-1). It was implemented multiplication, addition, memory management, powering and reduction modulo cyclotomic polynomial \Phi_{p^k}(x) = \sum\limits_{i = 0}^{p - 1}{x^{ip^{m-1}}}. All these operations are documented and tested.
I also implement computation of Jacobi sum as described in "Implementation of a New Primality Test" by H. Cohen and A.K. Lenstra.
This week I am going to finish simple version of Jacobi sum test. Then we can implement some optimizations described in "Implementation of a New Primality Test" and, maybe, think about the new.
No comments:
Post a Comment