New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[with patch, positive review, depends on #3780] matrix multiplication should use Strassen's algorithm #3376
Comments
comment:1
Hi Paul, check out #3204 which has been merged into 3.0.3.a1. The discussion about speeding up m4ri lasted 85 messages - see http://groups.google.com/group/sage-devel/browse_thread/thread/aa4edc241ca4d6bb/7b928e8c28dfd4a2 The final number according to malb were:
There is likely more work planned on this at Dev1 next week. Maybe malb can comment on this a little more. Cheers, Michael |
comment:2
Actually, some clarifications:
as you can see: It isn't really much faster than M4RM yet, since the tricky part is cache friendliness in that region and our M4RM as seen some love there (see the thread mentioned by Michael). |
comment:4
Thank you very much Michael and Martin. It seems indeed you had some fun My initial interest was modular composition: Brent and Kung's 1978 Algo 2.1 Do you know if Sage implements modular composition, i.e, f(g) mod h over |
comment:5
I forwarded your question to [sage-devel] http://groups.google.com/group/sage-devel/browse_thread/thread/96433650dd75b104 since I don't know the answer. Though, quite likely Sage doesn't implement it. Thanks for the link to the GF(2)[x] paper! |
comment:7
Attachment: m4ri_strassen_standard.patch.gz The patch requires http://sage.math.washington.edu/home/malb/spkgs/libm4ri-20080601.spkg |
Attachment: m4ri_20080620.patch.gz |
comment:8
=Correction=
|
comment:9
Positive review for the spkg. Note that there is some debug output to be killed:
Cheers, Michael |
comment:10
The two patches here look good. |
comment:11
The |
comment:12
Martin, I have deleted the line rlm pointed out against policy in the src directory. Please make sure to fix it upstream. I have also cleaned up SPKG.txt a little, so please base the next libm4ri.spkg off the one in Sage 3.1.2.alpha3 since I saw another updated libm4ri.spkg in you spkg directory on sage.math. Cheers, Michael |
comment:13
Merged both patches and the spkg in Sage 3.1.2.alpha3 |
comment:14
Note that the two patches attached to this ticket are diffs. I did commit them in Martin's name. Cheers, Michael |
Multiplication of large matrices over GF(2) seems to use a cubic algorithm in Sage, whereas Magma
implements Strassen's algorithm:
And in Magma:
CC: @malb
Component: linear algebra
Issue created by migration from https://trac.sagemath.org/ticket/3376
The text was updated successfully, but these errors were encountered: