Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

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 scrutinizing the Monastery: (6)
As of 2015-11-26 13:35 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (700 votes), past polls