Contents Previous Next Subchapters

Moore-Penrose Pseudo Inverse of a Matrix
Syntax y = pinv(x)
y = pinv(xtol)
See Also null , orth , svd

Description
Computes the Moore-Penrose pseudo inverse of the integer, real, double-precision or complex matrix x. Thus
     x * y * x = x
     y * x * y = y
and both x * y and y * x are Hermitian.

If x is an integer matrix, y is double-precision. Otherwise y has the same type as x. The dimensions of y are equal to the dimensions of the transpose of x.

Tolerance
If the integer, real or double-precision argument tol is present, it specifies the minimum absolute singular value of x that will be considered nonzero. If tol is not present, the value
     eps * max([rowdim(x), coldim(x)]) * smax
is used where smax is the maximum absolute singular value of x.

Example
If you enter
     x = { [1 , 1], [2 , 2] }
     y = pinv(x)
     y
O-Matrix will reply
     {
     [ 0.1 , 0.2 ]
     [ 0.1 , 0.2 ]
     }
Continuing with
     x * y * x
results in
     {
     [ 1 , 1 ]
     [ 2 , 2 ] 
     }
and
     y * x * y
results in
     {
     [ 0.1 , 0.2 ]
     [ 0.1 , 0.2 ]
     }