<< Chapter < Page | Chapter >> Page > |
A large number of polynomials with random coefficients were factored with the Lindsey-Fox program on a 2.6 MHz Pentium with 1 GB RAM in August 2003. The following table shows the average time required for different polynomial degrees. The first column is the polynomial degree (length minus one), the second column is the time in seconds required by Matlab using "roots", and the third column is the time in seconds using the Lindsey-Fox program "lroots" written in Matlab [14]. The polynomial coefficients were random numbers generated by Matlab.
Polynomial Degree | Time using roots() | Time using lroots() |
50 | 0.004 | 0.04 |
100 | 0.020 | 0.06 |
200 | 0.140 | 0.10 |
500 | 3.110 | 0.23 |
1,000 | 24.750 | 0.50 |
2,000 | 250.740 | 1.20 |
5,000 | 13,891.000 | 6.34 |
6,000 | "Out of memory" | 7.49 |
10,000 | "Out of memory" | 21.45 |
100,000 | "Out of memory" | 1,769.00 |
150,000 | "Out of memory" | 4,822.00 |
250,000 | "Out of memory" | 9,875.00 |
500,000 | "Out of memory" | 45,574.00 |
1,000,000 | "Out of memory" | 353,848.00 |
In order to better understand the Lindsey-Fox program, the individual times required by the three stages algorithm factoring a 2,080,000 degree random coefficient polynomial on a 3 GHz Pentium with 4 GB RAM (run on 1/6/2006) was measured and is presented in the table below. Note the efficient search stage, the time consuming second stage (which can be easily parallelized), and the moderately demanding third stage which can be partially parallelized and which is not always needed.
Operation | Time in seconds | Time in days | Percent of total run time |
Grid search | 16,692 | 0.2 | 3.2% |
Polish | 295,388 | 3.4 | 58.0% |
Unfactor&Deflate | 196,675 | 2.3 | 38.8% |
The references for the Lindsey-Fox algorithm can be found here
Notification Switch
Would you like to follow the 'Factoring polynomials of high degree' conversation and receive update notifications?