#14007: When computing determinant over GF(p), don't lift to ZZ
----------------------------------+-----------------------------------------
       Reporter:  jdemeyer        |         Owner:  jason, was         
           Type:  enhancement     |        Status:  needs_work         
       Priority:  blocker         |     Milestone:  sage-5.7           
      Component:  linear algebra  |    Resolution:                     
       Keywords:                  |   Work issues:                     
Report Upstream:  N/A             |     Reviewers:  Charles Bouillaguet
        Authors:  Jeroen Demeyer  |     Merged in:                     
   Dependencies:                  |      Stopgaps:                     
----------------------------------+-----------------------------------------
Changes (by Bouillaguet):

  * status:  positive_review => needs_work


Comment:

 There are cases where the patch is in fact a huge regression !

 I ran the following test :
 {{{
 sage: sage: for i in range(1,6):
     M = random_matrix( Integers(p), 75*i )
     time d = M.det()
 }}}
 with ``p = next_prime( factorial(20) )`` and ``sage: p = next_prime(
 factorial(21) )``

 Before patch:
 {{{
 # 20!
 Time: CPU 0.10 s, Wall: 0.10 s
 Time: CPU 0.56 s, Wall: 0.55 s
 Time: CPU 1.56 s, Wall: 1.51 s
 Time: CPU 3.62 s, Wall: 3.10 s
 Time: CPU 6.46 s, Wall: 5.26 s

 # 21!
 Time: CPU 0.17 s, Wall: 0.17 s
 Time: CPU 0.61 s, Wall: 0.59 s
 Time: CPU 1.72 s, Wall: 1.67 s
 Time: CPU 3.92 s, Wall: 3.36 s
 Time: CPU 6.85 s, Wall: 5.63 s
 }}}

 After patch:
 {{{
 # 20!
 Time: CPU 0.11 s, Wall: 0.11 s
 Time: CPU 0.51 s, Wall: 0.51 s
 Time: CPU 1.17 s, Wall: 1.17 s
 Time: CPU 2.15 s, Wall: 2.15 s
 Time: CPU 3.43 s, Wall: 3.43 s            # this is cool

 # 21!
 Time: CPU 0.17 s, Wall: 0.17 s
 Time: CPU 0.65 s, Wall: 0.65 s
 Time: CPU 1.77 s, Wall: 1.77 s
 Time: CPU 4.06 s, Wall: 4.06 s
 Time: CPU 36.89 s, Wall: 36.89 s        # problem here
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14007#comment:6>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to