#8096: Speed up parent creation for multiplication of square matrices
------------------------------+---------------------------------------------
   Reporter:  boothby         |       Owner:  boothby     
       Type:  defect          |      Status:  needs_review
   Priority:  minor           |   Milestone:              
  Component:  linear algebra  |    Keywords:              
     Author:                  |    Upstream:  N/A         
   Reviewer:                  |      Merged:              
Work_issues:                  |  
------------------------------+---------------------------------------------

Comment(by SimonKing):

 Replying to [comment:6 robertwb]:

 > This is because they have only been optimized for large dimension and
 word-sized p. I bet !MeatAxe is slower for 1000 x 1000 matrices.

 You just lost the bet.

 {{{
 sage: from pGroupCohomology.mtx import MTX
 sage: F = GF(3)
 sage: A = random_matrix(F,2000)
 sage: B = random_matrix(F,2000)
 sage: a = MTX(3,[list(r) for r in A.rows()])
 sage: b = MTX(3,[list(r) for r in B.rows()])
 sage: timeit("C=A*B")
 5 loops, best of 3: 12.6 s per loop
 sage: timeit("c=a*b")
 5 loops, best of 3: 2.01 s per loop
 sage: C = A*B
 sage: a*b == MTX(3,[list(r) for r in C.rows()])
 True
 }}}
 When I did some benchmarks two years ago, I was often astonished how
 !MeatAxe outperformed the usual matrices in Sage in basic operations such
 as computing hash, copying, getting the list of coefficients, changing a
 coefficient, etc: Hash and copying took ''seconds'' for size 10000x10000!

 I complained, and things did improve: hash and copy is alright. But with
 the above matrix, loads(dumps(A)) did not terminate after a minute, and
 ate 90% of my computer's memory.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8096#comment:7>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to