Videos for Section 6.5


So far we've worked on decomposing vectors in an orthogonal (or orthonormal) basis. But you don't need and entire basis to do the decomposition. If you have a single vector ${\bf v}$, then you can decompose an arbitrary vector ${\bf x}$ as $${\bf x} = c {\bf v} + {\bf x}_\perp,$$ where ${\bf x}_\perp$ is orthogonal to ${\bf v}$, and $c = \frac{\langle {\bf v} | {\bf x} \rangle}{\langle {\bf v}| {\bf v} \rangle}$, and we have the projection operator $$P_{\bf v} = \frac{|{\bf v} \rangle \langle {\bf v}|}{\langle {\bf v}|{\bf v} \rangle}.$$ If we have an orthogonal set ${\mathcal{B}} = \{ {\bf b}_1, \ldots, {\bf b}_k\}$, then we can decompose ${\bf x}$ as $${\bf x} = c_1 {\bf b}_1 + \cdots + c_k {\bf b}_k + {\bf x}_\perp,$$ where ${\bf x}_\perp$ is orthogonal to all of the ${\bf b}_j$ vectors and $c_j {\bf b}_j = P_{\bf b_j} {\bf x}$. The first video goes over these decompositions and how they work.

Using the tools from the first video, we now go over the Gram-Schmidt process for converting an arbitrary basis $\{ {\bf x_1}, {\bf x_2}, \ldots, {\bf x_n} \}$ to an orthogonal basis $\{ {\bf y_1}, {\bf y_2}, \ldots, {\bf y_n} \}$ to an orthonormal basis $\{ {\bf z_1}, {\bf z_2}, \ldots, {\bf z_n} \}$.

The key idea is to recursively decompose each ${\bf x_j}$ as $${\bf x}_j = c_1 {\bf y}_1 + \cdots + c_{j-1} {\bf y}_{j-1} + ({\bf x_j})_\perp$$ and let $${\bf y}_j = ({\bf x_j})_\perp = {\bf x_j} - \sum_{i=1}^{j-1} P_{\bf y_i} {\bf x_j}.$$ To get an orthonormal basis, just take ${\bf z}_j = {\bf y}_j/|{\bf y}_j|$. There are two extremely common mistakes that you need to avoid:

  1. Be sure to use $P_{\bf y_i}$, not $P_{\bf x_i}$. This doesn't make a difference when $i=1$ (since ${\bf y_1} = {\bf x_1}$), but it makes a huge difference once $i>1$.
  2. When working with complex vector spaces, be sure to take the complex conjugate of the first factor when computing inner products.