Maths WorkshopMaths problems with full solutions
Exercise 661Topology › Topology of Mn(ℝ) › Rank, spectrum and normsL2Added 6 Nov 2026

The Moore-Penrose pseudo-inverse is discontinuous

#pseudo-inverse#discontinuity#rank#singular value decomposition

Statement

For A=UΣVTA=U\Sigma V^T (singular value decomposition) the Moore-Penrose pseudo-inverse is A+=VΣ+UTA^+=V\Sigma^+U^T, where Σ+\Sigma^+ inverts the nonzero diagonal entries and keeps the zeros. Show that A↦A+A\mapsto A^+ is discontinuous at every matrix of rank r<nr<n.

Hint

Start with A=0A=0 and Aε=εe1e1TA_\varepsilon=\varepsilon e_1e_1^T. For rank r>0r>0, add a small multiple of a rank-one term built from singular vectors.

Show solutionHide solution

Solution

The case A=0A=0. 0+=00^+=0. Let Aε=diag⁡(ε,0,…,0)A_\varepsilon=\operatorname{diag}(\varepsilon,0,\dots,0) with ε>0\varepsilon>0. Then Aε→0A_\varepsilon\to0 but Aε+=diag⁡(1/ε,0,…,0)A_\varepsilon^+=\operatorname{diag}(1/\varepsilon,0,\dots,0) has norm 1/ε→∞1/\varepsilon\to\infty. So A↦A+A\mapsto A^+ is not continuous at 00 (it is not even bounded near 00).

General rank r<nr<n. Write A=∑i=1rσiuiviTA=\sum_{i=1}^r\sigma_iu_iv_i^T with σi>0\sigma_i>0, where (ui)(u_i) and (vi)(v_i) are orthonormal families. Since r<nr<n we can complete the families and pick unit vectors ur+1,vr+1u_{r+1},v_{r+1} orthogonal to the previous ones. Put
Aε=A+εur+1vr+1T.A_\varepsilon=A+\varepsilon u_{r+1}v_{r+1}^T.
This is a singular value decomposition of AεA_\varepsilon with σr+1=ε>0\sigma_{r+1}=\varepsilon>0, so rank⁡Aε=r+1\operatorname{rank}A_\varepsilon=r+1 and
Aε+=∑i=1rσi−1viuiT+ε−1vr+1ur+1T,∥Aε+∥=max⁡(σr−1,ε−1) →ε→0 ∞.A_\varepsilon^+=\sum_{i=1}^r\sigma_i^{-1}v_iu_i^T+\varepsilon^{-1}v_{r+1}u_{r+1}^T,\qquad\|A_\varepsilon^+\|=\max(\sigma_r^{-1},\varepsilon^{-1})\ \xrightarrow[\varepsilon\to0]{}\ \infty.
But ∥Aε−A∥=ε→0\|A_\varepsilon-A\|=\varepsilon\to0 while A+A^+ is a fixed matrix. So A+A^+ is not the limit of Aε+A_\varepsilon^+.

Remark. The pseudo-inverse is continuous exactly on the set of matrices of *locally constant rank*, i.e. on each stratum {rank⁡=r}\{\operatorname{rank}=r\} and at the invertible matrices (where A+=A−1A^+=A^{-1}). This is why numerical rank decisions ("is this singular value zero?") are delicate.