Enlarge $S$ to an orthonormal basis

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}$ ?

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$.

• 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}$ ? – DJS Feb 22 '15 at 13:56
• @Dillon Yes, it will work, but it uses a very special property of $\mathbb{R}^3$. I'll augment my answer. – egreg Feb 22 '15 at 13:57
• Thank you! :). Please leave a comment when you augmented your answer :). I am using my cellphone, so it does not refresh automatically. :). Just so that I'd know when to refresh :) – DJS Feb 22 '15 at 14:03
• @Dillon I improved my answer for the general case. – egreg Feb 22 '15 at 14:05

Use Gram-Schmidt Orthonormalization process..can be found here http://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process