#5142: [with patch, needs review] speed up elementary_divisors for sparse
integer
matrices?
-----------------------------------------+----------------------------------
Reporter: jhpalmieri | Owner: was
Type: defect | Status: new
Priority: minor | Milestone: sage-3.4.1
Component: linear algebra | Resolution:
Keywords: sparse, elementary_divisors |
-----------------------------------------+----------------------------------
Comment (by jhpalmieri):
This is a simple patch, but may raise complicated issues:
Here's the situation, as I see it: the code for sparse matrices needs a
lot of work, and the particular problem on this ticket is one symptom of
this. Right now, if you call elementary_divisors on a sparse matrix, it
will likely take a long time, and might even crash. The patch proposes a
fix to this -- converting to a dense matrix first. This will crash, too,
for some matrices; I'm guessing that it will crash for strictly fewer
matrices than elementary_divisors will. Therefore this patch is not a
terrible idea.
It is rather makeshift, though. The ''right'' thing to do is to rewrite
the sparse matrix code so that it works and is faster (and also less buggy
-- see #5099, for instance).
This patch would be a temporary fix. Is it a good idea to include this
now, with the idea to fix it the right way later? Or is it better to
leave less than ideal code there now, first as an encouragement to fix it,
and second so that we don't leave a patch like this in as a longterm
solution?
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5142#comment:1>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---