in reply to
Moore-Penrose Pseudo-Inverse Matrix

My recollection (which may be in error) is that the Moore-Penrose inverse of `A` is: `(A^tA)^{-1}A^t ` which exists
if `A^tA` is invertible (i.e. if the columns of `A` are independent.) (I'm using ^ to indicate exponenents as in TeX
source.) `A^tA` is square, and there are many existing routines
to invert a square matrix - I'm sure there are some Perl modules that do this, although you could write your own as an exercise. You indicate above that `A` and the M-P inverse are
symmetric, but I don't believe this is correct. The point of the M-P inverse is that it can be applied to non-square matrices.

chas

(Update: BTW, if you have a system of equations `Ax=b`
then `x=(A^tA)^{-1}A^tb` is the usual "least squares"
solution, i.e. the `x` for which `Ax` is closest to `b`.)