# How would you “complement” a basis in this way?

Suppose we have a subspace

$$\mathcal{L} = (a_1,a_2,a_3,a_4)$$

generated by orthonormal vectors $a_1,a_2,a_3,a_4$.

We then split this basis into two parts: $(a_1,a_2)$ and $(a_3,a_4)$.

Now, a paper I am reading says we then take the basis

$$(a_1,a_2,b_1,b_2)$$

where $(b_1,b_2)$ is "any orthonormal sequence that complements $(a_1,a_2)$ to a basis in $\mathcal{L}$." And like wise, we do the same to the other part to obtain a second basis $(a_3,a_4,b_3,b_4)$.

My question is, given the original basis $(a_1,a_2,a_3,a_4)$ how would we find a complement $(b_1,b_2)$?

I know how to construct a vector orthogonal to $a_1$ and $a_2$, namely as

$$x - <a_1,x> a_1 - <a_2,x>a_2$$

for some $x$. But how can I be sure the resulting basis results in the original space $\mathcal{L}$?

• I'm not sure what you're asking. Do you mean how do you know all the vectors lie in $L$, or how do you know they span $L$? (Sorry, I don't know how to make that fancy script $L$.) – saulspatz Jan 27 '18 at 7:35
• it is probably a "\mathcal L" $\mathcal L$, yep it was – mathreadler Jan 27 '18 at 8:04

You're starting with an orthonormal basis $(a_1, a_2, a_3, a_4)$ for a space $\mathcal{L}$. You then restrict the basis to the orthonormal list $(a_1, a_2)$, and want to find $(b_1, b_2)$ such that $(a_1, a_2, b_1, b_2)$ is also an orthonormal basis for $\mathcal{L}$.

If this is the case, then there's one particular, obvious answer: take $b_1 = a_3$ and $b_2 = a_4$. It satisfies the conditions laid out, as far as I can tell.

There's a more general problem of extending an orthonormal basis $B$ of a subspace $W$ (e.g. $W = \operatorname{span}(a_1, a_2)$ and $B = (a_1, a_2)$) into an orthonormal basis for the entire space. To do this, probably the easiest way is to first extend $B$ to a basis $B'$ for the entire space, then perform Gram-Schmidt.

To extend $B = (w_1, w_2, \ldots, w_m)$, consider a basis $C = (v_1, v_2, \ldots, v_n)$ for the entire space (there must be one, in order for this method to work!). Perform the following algorithm:

1. Set $i = 1$
2. Compute $\langle v_i, w_1 \rangle w_1 + \langle v_i, w_2 \rangle w_2 + \ldots + \langle v_i, w_m \rangle w_m - v_i$
3. If the above computation results in a non-zero vector, then extend $B$ by adding $\frac{v_i - \operatorname{proj}_{\operatorname{span} B} v_i}{\|v_i - \operatorname{proj}_{\operatorname{span} B} v_i\|}$ to it. (Otherwise, do nothing.)
4. If $B$ has length $n$ then terminate. This resulting list is $B'$, an extension of $B$ that spans the whole space.
5. Add $1$ to $i$ and go back to step 2.

The computation in step $2$ is the projection of $v_i$ onto $\operatorname{span} B$, with $v_i$ subtracted from it. If the projection coincides with $v_i$ itself, then this difference will be zero, otherwise it will be non-zero. So, we are testing to see if $v_i \in \operatorname{span} B$. If this is not the case (i.e. the difference is non-zero), then adding in $v_i$ to $B$, as per step 3, will not break linear independence. So long as we maintain linear independence, we will have a basis by the time we've added the $n$th vector.

I hope that helps.

• Yes, that helped a lot thanks. – Patty Jan 27 '18 at 11:35