The Problem
Consider the problem
A x = b \begin{align*} A\pmb x = \pmb b \end{align*} A x x = b b
where A ∈ C m × n A \in \mathbb C^{m \times n} A ∈ C m × n is full rank and m < n m < n m < n .
This is an under-determined system with an infinite number of solutions.
Suppose x 0 \pmb x_0 x x 0 is a solution to the problem such that A x 0 = b A \pmb x_0 = \pmb b A x x 0 = b b .
Since A A A has more columns than rows, the N ( A ) \mathcal N(A) N ( A ) is non-trivial
Therefore we now have an infinite set of solutions. For every v ∈ N ( A ) \pmb v \in \mathcal N(A) v v ∈ N ( A ) we have another solution A ( x 0 + v ) = b A(\pmb x_0 + \pmb v) = \pmb b A ( x x 0 + v v ) = b b .
These solutions form an affine set of solutions.
To pin down a specific x \pmb x x x we put a norm on x \pmb x x x that we want to minimize subject to satisfying this system of equations.
This new formulation is written as
arg min x ∥ x ∥ s . t . A x = b \begin{align*} \argmin_{\pmb x}\ \lVert \pmb x \rVert\ \ s.t.\ \ A\pmb x = \pmb b \end{align*} x x arg min ∥ x x ∥ s . t . A x x = b b
Solving
We know that all solutions to the problem must satisfy the constraint so let's investigate A A A and its null space a bit further.
Let the rows of A A A be written as:
A = [ y 1 H ⋮ y m H ] \begin{align*} A = \begin{bmatrix}\pmb y^H_1 \\ \vdots \\ \pmb y^H_m\end{bmatrix} \end{align*} A = ⎣ ⎡ y y 1 H ⋮ y y m H ⎦ ⎤
Then using knowledge that v ∈ N ( A ) \pmb v \in \mathcal N(A) v v ∈ N ( A ) we have
A v = [ y 1 H ⋮ y m H ] v = [ y 1 H v ⋮ y m H v ] = [ 0 ⋮ 0 ] \begin{align*} A \pmb v = \begin{bmatrix}\pmb y^H_1 \\ \vdots \\ \pmb y^H_m\end{bmatrix} \pmb v &= \begin{bmatrix}\pmb y^H_1 \pmb v\\ \vdots \\ \pmb y^H_m \pmb v\end{bmatrix} = \begin{bmatrix}0\\ \vdots \\ 0\end{bmatrix} \end{align*} A v v = ⎣ ⎡ y y 1 H ⋮ y y m H ⎦ ⎤ v v = ⎣ ⎡ y y 1 H v v ⋮ y y m H v v ⎦ ⎤ = ⎣ ⎡ 0 ⋮ 0 ⎦ ⎤
Since y i H v = 0 \pmb y_i^H \pmb v = 0 y y i H v v = 0 , each vector in the null space is orthogonal to y i H \pmb y_i^H y y i H .
Therefore N ( A ) = M ⊥ \mathcal N(A) = M^\perp N ( A ) = M ⊥ where M = span ( y 1 … , y m ) M = \text{span}(\pmb y_1 \dots, \pmb y_m) M = span ( y y 1 … , y y m ) .
Thus we now now know that the candidate solutions come from x 0 + M ⊥ \pmb x_0 + M^\perp x x 0 + M ⊥ .
We don't have enough tools to prove this next part beyond proof by picture but the "shortest" solution is orthogonal to M ⊥ M^\perp M ⊥ . In other words x ∈ ( M ⊥ ⊥ = M = span ( y 1 … , y m ) ) \pmb x \in (M^{\perp\perp}=M=\text{span}(\pmb y_1 \dots, \pmb y_m)) x x ∈ ( M ⊥⊥ = M = span ( y y 1 … , y y m )) . Therefore the best x \pmb x x x can be expressed as
x = ∑ i = 1 m c i y i \begin{align*} \pmb x = \sum_{i=1}^m c_i \pmb y_i \end{align*} x x = i = 1 ∑ m c i y y i
Now returning to the constraint A x = b A \pmb x = \pmb b A x x = b b and using our new found knowledge of x \pmb x x x we write
A x = b [ y 1 H ⋮ y m H ] x = [ b 1 ⋮ b m ] [ y 1 H x ⋮ y m H x ] = [ b 1 ⋮ b m ] [ y 1 H ∑ i = 1 m c i y i ⋮ y m H ∑ i = 1 m c i y i ] = [ b 1 ⋮ b m ] [ ∑ i = 1 m c i y 1 H y i ⋮ ∑ i = 1 m c i y m H y i ] = [ b 1 ⋮ b m ] [ c 1 y 1 H y 1 + ⋯ + c m y 1 H y m ⋮ c 1 y m H y 1 + ⋯ + c m y m H y m ] = [ b 1 ⋮ b m ] [ y 1 H y 1 … y 1 H y m ⋮ y m H y 1 … y m H y m ] [ c 1 ⋮ c m ] = [ b 1 ⋮ b m ] A A H c = b ⟹ c = ( A A H ) − 1 b \begin{align*} A\pmb x &= \pmb b \\[15pt] \begin{bmatrix}\pmb y^H_1 \\ \vdots \\ \pmb y^H_m\end{bmatrix} \pmb x &= \begin{bmatrix}b_1 \\ \vdots \\ b_m\end{bmatrix} \\[25pt] \begin{bmatrix}\pmb y^H_1 \pmb x \\ \vdots \\ \pmb y^H_m \pmb x\end{bmatrix} &= \begin{bmatrix}b_1 \\ \vdots \\ b_m\end{bmatrix} \\[25pt] \begin{bmatrix}\pmb y^H_1 \sum_{i=1}^m c_i \pmb y_i \\ \vdots \\ \pmb y^H_m \sum_{i=1}^m c_i \pmb y_i\end{bmatrix} &= \begin{bmatrix}b_1 \\ \vdots \\ b_m\end{bmatrix} \\[25pt] \begin{bmatrix} \sum_{i=1}^m c_i \pmb y^H_1 \pmb y_i \\ \vdots \\ \sum_{i=1}^m c_i\pmb y^H_m \pmb y_i\end{bmatrix} &= \begin{bmatrix}b_1 \\ \vdots \\ b_m\end{bmatrix} \\[25pt] \begin{bmatrix} c_1 \pmb y^H_1 \pmb y_1 + \dots + c_m \pmb y^H_1 \pmb y_m \\ \vdots \\ c_1 \pmb y^H_m \pmb y_1 + \dots + c_m \pmb y^H_m \pmb y_m\end{bmatrix} &= \begin{bmatrix}b_1 \\ \vdots \\ b_m\end{bmatrix} \\[25pt] \begin{bmatrix} \pmb y^H_1 \pmb y_1 & \dots & \pmb y^H_1 \pmb y_m \\ \vdots \\ \pmb y^H_m \pmb y_1 & \dots & \pmb y^H_m \pmb y_m\end{bmatrix} \begin{bmatrix} c_1 \\ \vdots \\ c_m\end{bmatrix} &= \begin{bmatrix}b_1 \\ \vdots \\ b_m\end{bmatrix} \\[25pt] AA^H \pmb c &= \pmb b \\ \implies \pmb c &= (AA^H)^{-1} \pmb b \end{align*} A x x ⎣ ⎡ y y 1 H ⋮ y y m H ⎦ ⎤ x x ⎣ ⎡ y y 1 H x x ⋮ y y m H x x ⎦ ⎤ ⎣ ⎡ y y 1 H ∑ i = 1 m c i y y i ⋮ y y m H ∑ i = 1 m c i y y i ⎦ ⎤ ⎣ ⎡ ∑ i = 1 m c i y y 1 H y y i ⋮ ∑ i = 1 m c i y y m H y y i ⎦ ⎤ ⎣ ⎡ c 1 y y 1 H y y 1 + ⋯ + c m y y 1 H y y m ⋮ c 1 y y m H y y 1 + ⋯ + c m y y m H y y m ⎦ ⎤ ⎣ ⎡ y y 1 H y y 1 ⋮ y y m H y y 1 … … y y 1 H y y m y y m H y y m ⎦ ⎤ ⎣ ⎡ c 1 ⋮ c m ⎦ ⎤ A A H c c ⟹ c c = b b = ⎣ ⎡ b 1 ⋮ b m ⎦ ⎤ = ⎣ ⎡ b 1 ⋮ b m ⎦ ⎤ = ⎣ ⎡ b 1 ⋮ b m ⎦ ⎤ = ⎣ ⎡ b 1 ⋮ b m ⎦ ⎤ = ⎣ ⎡ b 1 ⋮ b m ⎦ ⎤ = ⎣ ⎡ b 1 ⋮ b m ⎦ ⎤ = b b = ( A A H ) − 1 b b
Bringing it all home
x = ∑ i = 1 m c i y i = A H c = A H ( A A H ) − 1 b \begin{align*} \pmb x &= \sum_{i=1}^m c_i \pmb y_i\\ &= A^H \pmb c \\ &= A^H(AA^H)^{-1} \pmb b \end{align*} x x = i = 1 ∑ m c i y y i = A H c c = A H ( A A H ) − 1 b b