Main Content


Compute Moore-Penrose pseudoinverse of matrix


Math Functions / Matrices and Linear Algebra / Matrix Inverses


  • Pseudoinverse block


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 A such that


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

  • AA=(AA)

  • AA=(AA)

  • AAA=A

  • AAA=A


Show error status port (E)

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.

Simulate using

Type of simulation to run. You can set this parameter to:

  • Interpreted execution (default)

    Simulate model using the MATLAB®  interpreter. This option shortens startup time. For this block, the simulation speed in this mode is faster than in Code generation.

  • Code generation

    Simulate model using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change. This option requires additional startup time but the simulation speed increases with subsequent simulations.


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.

Extended Capabilities

Version History

Introduced before R2006a