[Math] Enlarge $S$ to an orthonormal basis

inner-productslinear algebra

Question:

Let $S=\{ \bar{u}_1 , \bar{u}_2 \}$ be an orthonormal set in $\mathbb{R^3}$ and let $\bar{u} \in \mathbb{R^3}$. Enlarge $S$ to an orthonormal basis for $\mathbb{R^3}$

I am unsure how to go about writing the answer to the above mentioned question.

I know there is a theorem which states:

Every orthogonal/orthonormal set in a finite-dimensional inner product space $W$ can be enlarged to an orthogonal/orthonormal basis for $W$

But how do I go about writing the application of that theorem to the question?

Will the following work:

Let $u = u_1 \times u_2$. Let $u_3$ be the normalized version of $u$. Adding this to $S$ results in a set of 3 linearly independent, orthonormal vectors which will span $\mathbb{R^3}$. Hence $\{u_1 , u_2 , u_3 \}$ is a basis for $\mathbb{R^3}$ ?

Best Answer

Find a nonzero solution of $$ \begin{cases} u_1^Tx=0 \\ u_2^Tx=0 \end{cases} $$ Then normalize it, calling $u_3$ the found vector. Then the set $\{u_1,u_2,u_3\}$ is an orthogonal set consisting of three nonzero vectors having norm $1$, hence it is an orthonormal basis.

More generally, if $\{u_1,\dots,u_k\}$ is an orthogonal basis for a subspace of $\mathbb{R}^n$, we can complete it to an orthogonal basis of $\mathbb{R}^n$ as follows.

Consider the matrix $A=\begin{bmatrix}u_1 & \dots & u_k\end{bmatrix}$ having the given vectors as its columns. Find a basis of the null space of $A^T$ or, in other words, the solution space of $$ \begin{cases} u_1^T x = 0\\ \cdots\\ u_k^T x = 0 \end{cases} $$ and call it $\{v_{k+1},\dots,v_n\}$. The null space has indeed dimension $n-k$, because $A^T$ has $n$ columns and the rank of $A$ is $k$. Then orthogonalize the set $\{v_{k+1},\dots,v_n\}$ (with the Gram-Schmidt algorithm or whatever method you prefer) to get the vectors $\{u_{k+1},\dots,u_n\}$. Such vectors are pairwise orthogonal and orthogonal to the given vectors $u_1,\dots,u_k$. Thus $$ \{u_1,\dots,u_k,u_{k+1},\dots,u_n\} $$ is an orthogonal set of nonzero vectors, so a basis of $\mathbb{R}^n$. Normalizing it is a standard procedure.

In the case of $\mathbb{R}^3$ a shortcut is to consider $u=u_1\times u_2$ (the vector product), which is orthogonal to both $u_1$ and $u_2$ and nonzero. So just normalizing it is sufficient. However, this uses a very special property of $\mathbb{R}^3$; the vector product cannot be defined in $\mathbb{R}^n$ for $n\ne3$.