SVD and GSVD

Let your imagination run wild

SVD and GSVD

PostPosted by seary » Sat Apr 01, 2017 4:22 pm

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.
seary
 
Posts: 8
Joined: Tue Jan 27, 2009 10:38 pm

Re: SVD and GSVD

PostPosted by forummaster » Sat Apr 01, 2017 8:18 pm

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.
forummaster
 
Posts: 554
Joined: Wed Jan 23, 2013 1:00 pm


Return to New Primitive Functions

Who is online

Users browsing this forum: No registered users and 1 guest

cron