17.2. THE GRAM SCHMIDT PROCESS 407
Lemma 17.2.2 Let {x1, · · · ,xn} be a linearly independent subset of an inner product spaceV. Then there exists an orthonormal set of vectors {u1, · · · ,un} which has the property thatfor each k ≤ n, span(x1, · · · ,xk) = span(u1, · · · ,uk) .
Proof: Let u1 ≡ x1/ |x1| . Thus for k = 1, span(u1) = span(x1) and {u1} is an or-thonormal set. Now suppose for some k < n, u1, · · · , uk have been chosen such that(u j,ul) = δ jl and span(x1, · · · ,xk) = span(u1, · · · ,uk). Then define
uk+1 ≡xk+1−∑
kj=1〈xk+1,u j
〉u j∣∣∣xk+1−∑
kj=1〈xk+1,u j
〉u j
∣∣∣ , (17.6)
where the denominator is not equal to zero because the x j form a basis, and so
xk+1 /∈ span(x1, · · · ,xk) = span(u1, · · · ,uk)
Thus by induction,
uk+1 ∈ span(u1, · · · ,uk,xk+1) = span(x1, · · · ,xk,xk+1) .
Also, xk+1 ∈ span(u1, · · · ,uk,uk+1) which is seen easily by solving 17.6 for xk+1 and itfollows
span(x1, · · · ,xk,xk+1) = span(u1, · · · ,uk,uk+1) .
If l ≤ k,
⟨uk+1,ul⟩ = C
(⟨xk+1,ul⟩−
k
∑j=1
〈xk+1,u j
〉〈u j,ul
〉)
= C
(⟨xk+1,ul⟩−
k
∑j=1
〈xk+1,u j
〉δ l j
)= C (⟨xk+1,ul⟩−⟨xk+1,ul⟩) = 0.
The vectors,{
u j}n
j=1 , generated in this way are therefore orthonormal because each vectorhas unit length. ■
As in the case of Fn, if you have a finite dimensional subspace of an inner product space,you can begin with a basis and then apply the Gram Schmidt process above to obtain anorthonormal basis.
There is nothing wrong with the above algorithm, but when you use it, it tends to getpretty intricate and it is easy to get lost in the details. There is a way to simplify it to producefewer steps using matrices. I will illustrate in the case of three vectors. Say {u1,u2,u3}is linearly independent and you wish to find an orthonormal set {v1,v2,v3} which has thesame span such that span(u1, · · · ,uk) = span(v1, · · · ,vk) for each k = 1,2,3. Then youwould have (
v1 v2 v3
)=(
u1 u2 u3
)R
where R is an upper triangular matrix. Then
δ jk =〈v j,vk
〉=
〈n
∑r=1
urRr j,n
∑s=1
usRsk
〉