Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Inversion on a non square matrix using PDL (or similar?)

by Angharad (Pilgrim)
on Jul 28, 2005 at 16:34 UTC ( #479031=perlquestion: print w/ replies, xml ) Need Help??
Angharad has asked for the wisdom of the Perl Monks concerning the following question:

I'm having a little play with PDL at the moment. Neat but I was wondering if anyone knew of a way in which you can invert a matrix that isnt square.
There is a function in MatLab called pinv which will invert a rectangular matrix. Perhaps there is something similar offered in PDL?
Or, if not, does anyone know of another way to implement this using Perl?

Comment on Inversion on a non square matrix using PDL (or similar?)
Re: Inversion on a non square matrix using PDL (or similar?)
by gjb (Vicar) on Jul 28, 2005 at 16:56 UTC

    You're looking for the Moore-Penrose pseudoinverse. It is defined on MathWorld and is easy to implement for a matrix A as (A^t A)^{-1} A^t where A^t is A transposed, A^t A is a square matrix, (A^t A)^{-1} being its inverse (if it exists).

    Hope this helps, -gjb-

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://479031]
Approved by gjb
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (17)
As of 2015-07-02 17:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (44 votes), past polls