#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.