#13584: Add rcm to matrix/matrix2.pyx
-------------------------------------+-------------------------------------
       Reporter:  r.gaia.cs          |        Owner:  r.gaia.cs
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.5
      Component:  linear algebra     |   Resolution:
       Keywords:  matrix, rcm        |    Merged in:
        Authors:  William A. Stein,  |    Reviewers:
  Marco Mezzarobba, Rob Beezer,      |  Work issues:  Cython issues
  Frédéric Chapoton, Ralf Stephan    |       Commit:
Report Upstream:  N/A                |  c3fb93fe197a6d47643fc66f7beb8cd06888c551
         Branch:                     |     Stopgaps:
  public/ticket/13584                |
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by jdemeyer):

 * status:  needs_review => needs_work
 * work_issues:   => Cython issues
 * milestone:  sage-6.4 => sage-6.5


Comment:

 There are various Cython issues:
 1. (*) The code cannot be interrupted, see
 [http://www.sagemath.org/doc/developer/coding_in_cython.html#interrupt-
 and-signal-handling]
 1. Sometimes there is `cdef int i` when there is no `i`.
 1. When you use `for i in xrange(n)`, you should declare the type of `i`.
 1. You can replace `xrange()` by `range()` in such code.
 1. More generally, try to declare the types of your variables.
 1. (*) When you `cdef` a type, make sure it is correct. In particular
 `ncols()` is not an `int`!
 1. Instead of `matrix.ncols()`, in Cython you can use `matrix._ncols`.
 1. About the private methods you add (like
 `_find_pseudo_peripheral_node`): you should consider making them `cpdef`
 for speed.

 The (*) items must be fixed, the rest are suggestions.

--
Ticket URL: <http://trac.sagemath.org/ticket/13584#comment:14>
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