Gram-Schmidt Orthogonalization/Inner Product Space

Theorem
Let $\struct {V, \innerprod \cdot \cdot}$ be an $n$-dimensional inner product space.

Let $\tuple {v_1, \ldots, v_n}$ be any ordered basis for $V$.

Then there is an orthonormal ordered basis $\tuple {b_1, \ldots, b_n}$ satisfying the following conditions:


 * $\forall k \in \N_{\mathop \le n} : \map \span {b_1, \ldots, b_k} = \map \span {v_1, \ldots v_k}$

Proof
Let $b_1 = \dfrac {v_1} {\size {v_1} }$ where $\size {\, \cdot \,}$ denotes the inner product norm.

For all $j \in \N$ such that $1 < j \le n$ let:


 * $\ds b_j = \frac {\ds v_j - \sum_{i \mathop = 1}^{j - 1} \innerprod {v_j} {b_i} b_i} {\ds \size {v_j - \sum_{i \mathop = 1}^{j - 1} \innerprod {v_j} {b_i} b_i} }$

We have that $v_1 \ne 0$.

Furthermore:


 * $\forall j \in \N : 2 \le j \le n : v_j \notin \map \span {b_1, \ldots b_{j - 1} }$

Take the inner product of $b_j$ and $b_k$: