-
-
Notifications
You must be signed in to change notification settings - Fork 489
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
matrix multiplication over integer mod ring is slow #9888
Comments
comment:1
I don't think anything has gone into non-word-sized modulus, so this is probably using totally generic per-element wrapping code :(. Should be an easy fix to get better than this, doing something real would be a bit more work. |
comment:2
I just tried the timings again:
so now the discrepancy is up to a factor of 100! My recollection is that lifting the multiplication up to Z is in fact the correct algorithmic approach. In practice, this hands the problem off to FLINT, where (in this size range) the multiplication is done multimodular. |
comment:3
See #12177 for a related discussion. |
Changed keywords from none to sd90 |
comment:5
There appears to be special-purpose code using Linbox for modulus up to 223 in |
Sage 4.5.3, 2.6GHz Opteron, Linux
This is ok:
(That's about 4 times slower than Magma, but I can put up with that, that's a ticket for another day.)
Here is the problem:
In other words, I can multiply the matrices over R roughly 20x faster by multiplying over Z and then reducing! That's ridiculous!
Component: performance
Keywords: sd90
Issue created by migration from https://trac.sagemath.org/ticket/9888
The text was updated successfully, but these errors were encountered: