#5310: Add an spkg to Sage for Msieve factoring program
-------------------------------------+-------------------------------------
       Reporter:  jblakeslee         |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.4
      Component:  packages:          |   Resolution:
  experimental                       |    Merged in:
       Keywords:  msieve,            |    Reviewers:  David Kirkby, Leif
  factorization                      |  Leonhardy, Paul Zimmermann
        Authors:  André Apitzsch     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  1d4525f85e2ec7fd412c97898c475e12cce58b91
  u/kartikv/5310-msieve              |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by kartikv):

 * status:  needs_work => needs_review
 * component:  packages: optional => packages: experimental
 * branch:   => u/kartikv/5310-msieve
 * commit:   => 1d4525f85e2ec7fd412c97898c475e12cce58b91
 * work_issues:  does not work on 32-bit, Solaris not handled well, no spkg-
     check file =>


Old description:

> This addition of Msieve will hopefully enhance Sage's Integer
> Factorization ability for all integers of a reasonable size, and provide
> the opportunity for users to utilize the Number Field Sieve.
>
> spkg located:
>
> http://309codesign.com/code/
>
> An explanation of Msieve from its documentation:
> "There are plenty of algorithms for performing integer factorization.
> The Msieve library implements most of them from scratch, and relies on
> optional external libraries for the rest of them. Trial division and
> Pollard Rho is used on all inputs; if the result is less than 25 digits
> in size, tiny custom routines do the factoring. For larger numbers, the
> code
> switches to the GMP-ECM library and runs the P-1, P+1 and ECM algorithms,
> expending a user-configurable amount of effort to do so. If these do not
> completely factor the input number, the library switches to the heavy
> artillery. Unless told otherwise, Msieve runs the self-initializing
> quadratic
> sieve algorithm, and if this doesn't factor the input number then you've
> found a library problem. If you know what you're doing, Msieve also
> contains
> a complete implementation of the number field sieve, that has helped
> complete
> some of the largest public factorization efforts known."
> and
> "To be as fast as possible. I claim (without proof) that for
>           completely factoring general inputs between 40 and 100 digits
>           in size, Msieve is faster than any other code implementing any
>           other algorithm."
>
> ----
>
> '''New spkg:''' [http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/5310/msieve-1.49.p0.spkg]
>
> '''Apply:'''
>  1. [attachment:trac_5310_msieve_149.patch]
> to the Sage library.

New description:

 This addition of Msieve will hopefully enhance Sage's Integer
 Factorization ability for all integers of a reasonable size, and provide
 the opportunity for users to utilize the Number Field Sieve.

 http://309codesign.com/code/

 An explanation of Msieve from its documentation:
 "There are plenty of algorithms for performing integer factorization.
 The Msieve library implements most of them from scratch, and relies on
 optional external libraries for the rest of them. Trial division and
 Pollard Rho is used on all inputs; if the result is less than 25 digits
 in size, tiny custom routines do the factoring. For larger numbers, the
 code
 switches to the GMP-ECM library and runs the P-1, P+1 and ECM algorithms,
 expending a user-configurable amount of effort to do so. If these do not
 completely factor the input number, the library switches to the heavy
 artillery. Unless told otherwise, Msieve runs the self-initializing
 quadratic
 sieve algorithm, and if this doesn't factor the input number then you've
 found a library problem. If you know what you're doing, Msieve also
 contains
 a complete implementation of the number field sieve, that has helped
 complete
 some of the largest public factorization efforts known."
 and
 "To be as fast as possible. I claim (without proof) that for
           completely factoring general inputs between 40 and 100 digits
           in size, Msieve is faster than any other code implementing any
           other algorithm."

 ----

 Upstream tarball: http://downloads.sourceforge.net/msieve/msieve149.tar.gz

 (rename to msieve-1.49.tar.gz)

--

Comment:

 Changed to an experimental package in order to get into Sage for 64-bit
 systems, seems to work fine on those. Reasonably tested with good speed
 and documentation for main function provided, may be useful to include
 additional doctests.
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=6e11d0cc5b7aa394bb09dc2403b69bb61793800f
 6e11d0c]||{{{trac 5310: msieve interface}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=1d4525f85e2ec7fd412c97898c475e12cce58b91
 1d4525f]||{{{msieve wrapper for sage}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/5310#comment:40>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to