PseudoInverse Matrix VI

Owning Palette: Linear Algebra VIs

Requires: Full Development System

Finds the PseudoInverse Matrix of Input Matrix. Wire data to the Input Matrix input to determine the polymorphic instance to use or manually select the instance.

Details  Example

Use the pull-down menu to select an instance of this VI.

 Add to the block diagram  Find on the palette

Real PseudoInverse Matrix

Input Matrix is a rectangular, real matrix. When Input Matrix is not a square matrix, or when Input Matrix is singular, the inverse of Input Matrix does not exist. You can compute the pseudoinverse of Input Matrix instead. Using the Inverse Matrix VI to compute A–1 is more efficient than using this VI.
tolerance defines a level such that the number of singular values greater than this level is the rank of Input Matrix. The default is –1. If tolerance is negative, the internal tolerance used to determine rank is set as shown in the following equation.

tolerance = max(m,n)*||A||*,

where A represents the Input Matrix, m represents the number of rows in A, n represents the number of columns in A, ||A|| is the 2-norm of A, is the smallest, floating point number that can be represented by type double, as shown in the following relationship.

= 2–52 = 2.22e – 16

PseudoInverse Matrix is the pseudoinverse matrix of the Input Matrix. If Input Matrix A is square and not singular, then the pseudoinverse is the same as the inverse of a matrix, and the Inverse Matrix VI should be used as a more efficient method of computing the inverse of the Input Matrix.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

Complex Pseudoinverse Matrix

Input Matrix is usually a rectangular complex matrix. When Input Matrix is not a square matrix, or when Input Matrix is singular, the inverse of Input Matrix does not exist. You can compute the pseudoinverse of Input Matrix instead.
tolerance defines a level such that the number of singular values greater than this level is the rank of Input Matrix. The default is –1. If tolerance is negative, the internal tolerance used to determine rank is set as shown in the following equation.

tolerance = max(m,n)*||A||*,

where A represents the Input Matrix, m represents the number of rows in A, n represents the number of columns in A, ||A|| is the 2-norm of A, is the smallest, floating point number that can be represented by type double, as shown in the following relationship.

= 2–52 = 2.22e – 16

PseudoInverse Matrix is the pseudoinverse matrix of Input Matrix. If Input Matrix is square and not singular, then the pseudoinverse is the same as the inverse of a matrix, and the Inverse Matrix VI should be used as a more efficient method of computing the inverse of the Input Matrix.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

PseudoInverse Matrix Details

The m-by-n matrix A+ is called the pseudoinverse of matrix A if A+ satisfies the following four Moore-Penrose conditions:

The VI computes PseudoInverse Matrix A+ using the SVD algorithm. For example, assume the singular value decomposition of A equals USV*. Then A+ = VS+U*. You can calculate the pseudoinverse matrix of a diagonal matrix S by taking the reciprocal of each element on the diagonal. When the elements are smaller than the tolerance, this VI sets the reciprocals to zero.

The pseudoinverse provides a least-squares solution to a system of linear equations. For example, for a linear system Ax = b, the following equation is the least-squares solution: x = A+b.

Example

Refer to the Linear Algebra Calculator VI in the labview\examples\Mathematics\Linear Algebra directory for an example of using the PseudoInverse Matrix VI.

 Open example  Find related examples