Thomas Papanikolaou on Fri, 12 Jun 1998 11:05:22 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

New Factoring Method in PARI


Dear All,

we are happy to announce our implementation of the Self-Initializing
Multipolynomial Quadratic Sieve (SIMPQS) in PARI. Before anything else
here are some timings on a P6-200

-----------------------------------------------------------------------------
N: 1000000000000000000390900000000000000000351 (43 decimals)
Factors: [100000000000000000039, 10000000000000000000009]
Total time for MPQS = 10.020000 seconds

-----------------------------------------------------------------------------
N: 100000000000000000039000000005700000000000000002223 (51 decimals)
Factors: [100000000000000000039, 1000000000000000000000000000057]
Total time for MPQS = 26.370000 seconds
-----------------------------------------------------------------------------

On an Ultra 1 we have also factored 75 decimals in about 5 hours of user time
(the real time is probably above than this because of the file operations
that have to be done).

The code is in principle a rewrite of the function existing in the LiDIA
package. We reorganized many parts and written other parts from the scratch.
However, because of this, the copyright of the code is more restrictive than
the one for PARI. You are allowed to use it only for non-commercial, educational
purposes. Commercial licenses are available from papanik@math.u-bordeaux.fr

                                                                       1)
Xavier has already made a module for PARI, which is also sent to Karim. 
This provides a combination of the currently available factoring methods 
in PARI (Trial Division, ECM and MPQS) into a more generic factor function. 
The combined function is faster than what existed in PARI for numbers having
more the 15 decimals. According to our tests it gains a factor of 7 over
the old version already at 29 decimals.

If you are also happy about these news, don't hesitate to send us donations!
We accept FF, $ or DM and wine bottles :-)

	Best
		Thomas Papanikolaou & Xavier Roblot


1) Remark from Thomas Papanikolaou:
   The difference between the original package and the PARI module, is that
   the original code is divided into many small files :-) whereas the module
   is one BIG file :-) But anyway, this is the reason why we like PARI, isn't
   it? :-)

PS Here some more information on timing (in French)

------------------------------------------------------------------------------

Temps necessaire pour factoriser N = p*q (temps moyen sur 100 nombres en ms).

Nbr chiffres de N                E.C.M                M.P.Q.S.          Rapport
        15                         734                   191               4
        16                         790                   245               3
        17                        1210                   213               6
        18                        1849                   224               8
        19                        3008                   253              12
        20                        3989                   289              14
        21                        6904                   326              21
        22                        8320                   390              21
        23                       11314                   448              25
        24                       13627                   567              24
        25                       25810                   700              37
        26                       27777                   749              37
        27                       49153                   906              54
        28                       58065                  1115              52
        29                      105527                  1324              80

------------------------------------------------------------------------------

Temps necessaire pour factoriser N = p*q*r (temps moyen sur 100 nombres en ms).

Nbr chiffres de N                E.C.M                M.P.Q.S.          Rapport
        15                        130                   158                1
        16                        108                   159                1
        17                        327                   146                2
        18                        281                   157                2
        19                        350                   147                2
        20                        526                   149                4
        21                        625                   189                3
        22                        554                   189                3
        23                       1001                   210                5
        24                        964                   221                4
        25                       1136                   219                5
        26                       1802                   252                7
        27                       2434                   297                8
        28                       2819                   306                9
        29                       4613                   376               12

------------------------------------------------------------------------------

Temps necessaire pour factoriser N aleatoire (temps moyen sur 1000 nombres en ms).

Nbr chiffres de N        E.C.M        E.C.M. + M.P.Q.S.         Rapport 
        15                138               122                    1
        16                167               127                    1
        17                205               142                    1
        18                259               158                    2
        19                271               170                    2
        20                489               197                    2
        21                536               205                    3
        22                697               236                    3
        23                765               255                    3
        24               1179               302                    4
        25               1711               334                    5
        26               2261               394                    6
        27               2543               441                    6
        28               3284               507                    6
        29               4413               596                    7

------------------------------------------------------------------------------