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

Reply via email to