← Module 04 / SVD & matrix tools

Lesson 04.5 · §3.16

Can you undo a map that loses information?

Construct the Moore–Penrose pseudoinverse and verify its four conditions.

In this lesson 6 ideas
  1. Undo only what survives
  2. Reverse the SVD
  3. Verify the four conditions
  4. Transfer
  5. Explore the relationship
  6. Check your reasoning

Source scope: §3.16, PDF pages 25. Numerical examples, experiments, added derivations, and practice are teaching supplements unless identified as source results.

Undo only what survives

Let A=[200000]A=\begin{bmatrix}2&0&0\\0&0&0\end{bmatrix}. Its output contains twice the first input coordinate and no information about the other two. The map A†(y1,y2)T=(y1/2,0,0)TA^\dagger(y_1,y_2)^T=(y_1/2,0,0)^T recovers the visible component and sets unrecoverable input coordinates to zero. It cannot recover a discarded value from nothing.

For every A∈Rm×nA\in\mathbb R^{m\times n} the Moore–Penrose pseudoinverse A†∈Rn×mA^\dagger\in\mathbb R^{n\times m} exists and is uniquely characterized by

AA†A=A,A†AA†=A†,(AA†)T=AA†,(A†A)T=A†A.AA^\dagger A=A,\qquad A^\dagger AA^\dagger=A^\dagger,\qquad (AA^\dagger)^T=AA^\dagger,\qquad(A^\dagger A)^T=A^\dagger A.

The source states existence and uniqueness without a uniqueness proof. If AA is invertible, A†=A−1A^\dagger=A^{-1}: the inverse satisfies all four conditions. A nonsquare matrix has no two-sided inverse, but still has this pseudoinverse.

Reverse the SVD

For A=UΣVTA=U\Sigma V^T,

A†=VΣ†UT.A^\dagger=V\Sigma^\dagger U^T.

Transpose the m×nm\times n diagonal array Σ\Sigma to an n×mn\times m array and replace every positive σi\sigma_i by 1/σi1/\sigma_i. Keep zero entries zero. For the example, A†=[1/200000]A^\dagger=\begin{bmatrix}1/2&0\\0&0\\0&0\end{bmatrix}. A zero singular value is never divided into one.

Verify the four conditions

The source leaves verification as an exercise. The following solution is a teaching supplement. Let Dm=ΣΣ†D_m=\Sigma\Sigma^\dagger and Dn=Σ†ΣD_n=\Sigma^\dagger\Sigma. Both are diagonal masks with rr leading ones and zeros elsewhere. Hence

ΣΣ†Σ=Σ,Σ†ΣΣ†=Σ†.\Sigma\Sigma^\dagger\Sigma=\Sigma,\qquad \Sigma^\dagger\Sigma\Sigma^\dagger=\Sigma^\dagger.

Insert UTU=IU^TU=I and VTV=IV^TV=I into the products to get AA†A=UΣVT=AAA^\dagger A=U\Sigma V^T=A and A†AA†=VΣ†UT=A†A^\dagger AA^\dagger=V\Sigma^\dagger U^T=A^\dagger. Also AA†=UDmUTAA^\dagger=UD_mU^T and A†A=VDnVTA^\dagger A=VD_nV^T are symmetric because the masks are symmetric. All four defining properties hold.

For the running example the two masks are diag⁡(1,0)\operatorname{diag}(1,0) and diag⁡(1,0,0)\operatorname{diag}(1,0,0), so the same verification can be done entry by entry. These products are orthogonal projections onto the column and row spaces. In particular A†AxA^\dagger Ax returns the row-space component of xx, not necessarily xx itself.

Transfer

For B=[0003]B=\begin{bmatrix}0&0\\0&3\end{bmatrix}, B†=diag⁡(0,1/3)B^\dagger=\operatorname{diag}(0,1/3). As a positive singular value approaches zero its reciprocal grows; at zero the pseudoinverse assigns zero. This explains why the pseudoinverse can be sensitive to small measurement errors near a change of rank.

Explore the relationship

Explore it yourself

Recover the visible component

Predict what A†Ax recovers when a singular value becomes zero.

Preparing interactive controls…

xy0-3-2-11234mapped xA†Ax

x = (0.9063, 0.4226); Ax = (1.7986, 0.6435); rank = 2.

A†Ax = (0.9063, 0.4226); lost component x − A†Ax = (0, 0). Zero singular values stay zero in Σ†.

A (the 2 × 3 view appends a zero column)
1.57830.8712
0.09471.3195

Dashed: original unit circle. Solid: image in coordinate units. Factors use rotations here; the theorem also allows reflections. The planar graph shows the first two coordinates; the rectangular sphere view and readout track the discarded coordinate.

Check your reasoning

Make a prediction

For a rank-deficient A, what does A\u2020Ax recover?