Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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?)
Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2016-02-14 23:04 GMT
Find Nodes?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?

    Results (471 votes), past polls