Friday, May 24, 2024
HomeMatlabWhat Is the Pseudoinverse of a Matrix? – Nick Higham

# What Is the Pseudoinverse of a Matrix? – Nick Higham

The pseudoinverse is an extension of the idea of the inverse of a nonsingular sq. matrix to singular matrices and rectangular matrices. It’s one in all many generalized inverses, however the one most helpful in apply because it has plenty of particular properties.

The pseudoinverse of a matrix $Ainmathbb{C}^{mtimes n}$ is an $m times n$ matrix $X$ that satisfies the Moore–Penrose situations

$notag begin{array}{rcrc} mathrm{(1)} & AXA = A, ; & mathrm{(2)} & XAX=X, mathrm{(3)} & (AX)^* = AX, ; & mathrm{(4)} & (XA)^* = XA. end{array}$

Right here, the superscript $*$ denotes the conjugate transpose. It may be proven that there’s a distinctive $X$ satisfying these equations. The pseudoinverse is denoted by $A^+$; some authors write $A^dagger$.

An important property of the pseudoinverse is that for any system of linear equations $Ax = b$ (overdetermined or underdetermined) $x = A^+b$ minimizes $|Ax - b|_2$ and has the minimal $2$-norm over all minimizers. In different phrases, the pseudoinverse offers the minimal $2$-norm least squares answer to $Ax = b$.

The pseudoinverse might be expressed by way of the singular worth decomposition (SVD). If $A = USigma V^*$ is an SVD, the place the $mtimes m$ matrix $U$ and $ntimes n$ matrix $V$ are unitary and $Sigma = mathrm{diag}(sigma_1,dots , sigma_p)$ with $sigma_1 ge sigma_2 ge cdots ge sigma_r > sigma_{r+1} = cdots =sigma_p = 0$ (in order that $mathrm{rank}(A) = r$) with $p = min(m,n)$, then

$notag A^+ = Vmathrm{diag}(sigma_1^{-1},dots,sigma_r^{-1},0,dots,0)U^*, qquad (1)$

the place the diagonal matrix is $ntimes m$. This formulation provides a simple method to show many identities glad by the pseudoinverse. In MATLAB, the operate `pinv` computes $A^+$ utilizing this formulation.

From the Moore–Penrose situations or (1) it may be proven that $(A^+)^+ = A$ and $(A^*)^+ = (A^+)^*$.

For full rank $A$ we’ve got the concise formulation

$notag A^+ = begin{cases} (A^*A) ^{-1}A^*, & textrm{if}~mathrm{rank}(A) = n le m, A^*(AA^*)^{-1}, & textrm{if}~ mathrm{rank}(A) = m le n. end{cases} qquad (2)$

Consequently,

$notag A^+A = I_n ~~mathrm{if}~ mathrm{rank}(A) = n, qquad AA^+ = I_m ~~mathrm{if}~ mathrm{rank}(A) = m.$

Some particular instances are price noting.

$notag begin{bmatrix} 0 & 1 & 0 0 & 0 & 1 0 & 0 & 0 end{bmatrix}^+ = begin{bmatrix} 0 & 0 & 0 1 & 0 & 0 0 & 1 & 0 end{bmatrix}.$

The pseudoinverse differs from the standard inverse in numerous respects. For instance, the pseudoinverse of a triangular matrix is just not essentially triangular (right here we’re utilizing MATLAB with the Symbolic Math Toolbox):

```>> A = sym([1 1 1; 0 0 1; 0 0 1]), X = pinv(A)
A =
[1, 1, 1]
[0, 0, 1]
[0, 0, 1]
X =
[1/2, -1/4, -1/4]
[1/2, -1/4, -1/4]
[  0,  1/2,  1/2]
```

Moreover, it’s not typically true that $(AB)^+ = B^+A^+$ for $Ainmathbb{C}^{mtimes n}$ and $Binmathbb{C}^{ntimes p}$. A enough situation for this equality to carry is that $mathrm{rank}(A) = mathrm{rank}(B) = n$.

It’s not normally essential to compute the pseudoinverse, however whether it is required it may be obtained utilizing (1) or (2) or from the Newton–Schulz iteration

$notag X_{k+1} = 2X_k - X_kAX_k, quad X_0 = alpha A^*,$

for which $X_k to A^+$ as $ktoinfty$ if $0 < alpha < 2/|A|_2^2$. The convergence is at an asymptotically quadratic price. Nonetheless, about $2log_2kappa_2(A)$ iterations are required to achieve the asymptotic part, the place $kappa_2(A) = |A|_2 |A^+|_2$, so the iteration is gradual to converge when $A$ is unwell conditioned.

## Notes and References

The pseudoinverse was first launched by Eliakim Moore in 1920 and was independently found by Roger Penrose in 1955. For extra on the pseudoinverse see, for instance, Ben-Israel and Greville (2003) or Campbell and Meyer (2009). For evaluation of the Newton–Schulz iteration see Pan and Schreiber (1991).

RELATED ARTICLES