#20287: Implement the Moore–Penrose matrix pseudoinverse
-------------------------------------+-------------------------------------
       Reporter:  jdemeyer           |        Owner:
           Type:  enhancement        |       Status:  positive_review
       Priority:  major              |    Milestone:  sage-7.2
      Component:  linear algebra     |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jeroen Demeyer     |    Reviewers:  Frédéric Chapoton
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/jdemeyer/pseudoinverse           |  3a3f5521eb8ced6c64a329918ac3544633286e89
   Dependencies:  #20286             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by mjo):

 Replying to [comment:16 jdemeyer]:
 > General principle: because I see no reason to ''not'' offer the choice.
 If a choice is available, why not allow the user to override that choice?
 Of course, offer a good default.

 I generally agree, but I wanted to be sure that the choice we're giving
 the user isn't `do_it_wrong=True`. If the default always does the right
 thing, and one of the other algorithms might not, then it's just noise in
 the docstring. And we'd have to go through a deprecation cycle to change
 it in the future.

 > I disagree completely. This has nothing to do with the `type()` of the
 matrix, but with the mathematical properties of the parent.

 Fair enough, but the resulting type of the matrix is determined by the
 ring that you pass in (and whether or not it's sparse).

 > With your proposal, `pseudoinverse()` would no longer work for matrices
 over `RR` or `CC` or for sparse matrices.

 You would at least get the exact(conj) implementation in every case. But
 you would have to override that in every subclass where it makes sense,
 like the generic_dense ones for RR/CC. If that's difficult or results in
 code duplication, then it's fine as-is. I just brought it up in case you
 hadn't considered it.

--
Ticket URL: <http://trac.sagemath.org/ticket/20287#comment:17>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to