Documentation Center

  • Trial Software
  • Product Updates


Compute Moore-Penrose pseudoinverse of matrix


Math Functions / Matrices and Linear Algebra / Matrix Inverses



The Pseudoinverse block computes the Moore-Penrose pseudoinverse of input matrix A.

[U,S,V] = svd(A,0)							% Equivalent MATLAB code

The pseudoinverse of A is the matrix such that

where U and V are orthogonal matrices, and S is a diagonal matrix. The pseudoinverse has the following properties:

Dialog Box

Show error status port

Select to enable the E output port, which reports a failure to converge. The possible values you can receive on the port are:

  • 0 — The pseudoinverse calculation converges.

  • 1 — The pseudoinverse calculation does not converge.

If the pseudoinverse calculation fails to converge, the output at port X is an undefined matrix of the correct size.


Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.

Supported Data Types

PortSupported Data Types


  • Double-precision floating point

  • Single-precision floating point


  • Double-precision floating point

  • Single-precision floating point


  • Boolean

See Also

Cholesky InverseDSP System Toolbox
LDL InverseDSP System Toolbox
LU InverseDSP System Toolbox
Singular Value DecompositionDSP System Toolbox

See Matrix Inverses for related information.

Was this topic helpful?