seary wrote:I notice that {domino} has no been extended to use the Moore-Penrose Inverse. Very nice!

Since this uses the SVD, why not make SVD available directly?

Use:

UDVt{is} {Quad-Slope} M

UDVt is (U D Vt) in strand notation

M is any matrix

{Quad-slope} is the glyph from the IBM APL2 program product = {quad}AV[212+{quad}IO] (in APL2 for Windows)

Dyadic form would give the Generalized SVD.

Interesting idea! As you know, SVD means we need to calculate eigen-vectors, so perhaps that would be a more basic primitive than SVD itself.

BTW, I didn't write the SVD code -- instead I linked to the GSL (GNU Scientific Library) code which they wrote.

Also, we need to consider what method to use for inverting other matrices such as MP Rational and Hypercomplex MP Rational. The current method uses Gauss-Jordan elimination which has the advantage of producing an exact (Rational) result. We need to retain that capability as sometimes you need an exact result, even if it can't invert singular matrices as Moore-Penrose using SVD can.