#17663: clean sparse matrices
-------------------------+-------------------------------------------------
Reporter: | Owner:
vdelecroix | Status: needs_work
Type: | Milestone: sage-6.5
enhancement | Resolution:
Priority: major | Merged in:
Component: | Reviewers: Martin von Gagern
linear algebra | Work issues:
Keywords: | Commit:
Authors: | b7e215dfc871214b8c74997d65422ea7467b3502
Vincent Delecroix | Stopgaps:
Report Upstream: N/A |
Branch: |
public/17663 |
Dependencies: |
#17658 |
-------------------------+-------------------------------------------------
Comment (by vdelecroix):
Hello,
Replying to [comment:2 gagern]:
> Interesting. Looks mostly good.
>
> This is wrong, though:
>
> <...>
>
Right
> I haven't yet figured out where the `m1` construction converts its
argument, but perhaps we can deprecate or even immediately remove that
code path dealing with a single flat list.
Done
> I also wonder whether we should have a custom cythonized type to be used
as key, instead of the generic CPython tuple or arbitrary size and types.
Might make things a lot faster and memory-efficient again.
Nope. I think we sould get rid of Python there. Sparse graphs have a much
better implementation (though not very much documented either). But you
are right, having a customized Cython type for pair of Py_ssize_t would be
indeed much faster. Let me have a try.
> As far as I can see, most other (non-generic) sparse matrix
implementations <...>
Hash table is cool. But not in the way it is done currently. We should not
use Python objects other than to wrap the ring elements.
An important question is whether you want to access quickly to the
following data:
- nonzero entries in a fixed row
- nonzero entries in a fixed column
The best would be as you did: look at the literature and other
softwares/libraries.
> The whole class has poor docstring and doctest coverage.
Right, I added some. But I will not go any further.
Vincent
--
Ticket URL: <http://trac.sagemath.org/ticket/17663#comment:5>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.