Gram-Schmidt Process
Wanho Choi (wanochoi.com)
Gram-Schmidt Process
• Input:
Non-orthogonal set of independent vectors
• Output:
Orthogonal set of vectors
It takes a linearly independent vector set for and generates an orthogonal set
that spans the same -dimensional subspace of as .
k S = {v1, ⋯, vk} k ≤ n
S′ = {u1, ⋯, uk}
k IRn S
{vi}
Gram-Schmidt Process
v v2
Gram-Schmidt Process
v = u
Gram-Schmidt Process
v = u
Gram-Schmidt Process
v1 = u1 v2
e1 = u1 u
Gram-Schmidt Process v1 = u1 v2 e1 = u1 u e1 ⋅v2
Gram-Schmidt Process v1 = u1 v2 e1 = u1 u e1 ⋅v2 = proju1
( )
v2Gram-Schmidt Process v1 = u1 v2 e1 = u1 u e1 ⋅v2 = proju1
( )
v2 u2 = v2 − proju 1( )
v2Gram-Schmidt Process v1 = u1 v2 e1 = u1 u e1 ⋅v2 = proju1
( )
v2 u2 = v2 − proju 1( )
v2 e2 = u2 u2Gram-Schmidt Process u2 = v2 − proju 1
( )
v2 u1 = v1 u3 = v3 − proju 1( )
v3 − proju2( )
v3 ! uk = vk − proju j( )
vk j=1 k∑
Gram-Schmidt Process u2 = v2 − proju 1
( )
v2 u1 = v1 u3 = v3 − proju 1( )
v3 − proju2( )
v3 ! uk = vk − proju j( )
vk j=1 k∑
e1 = u1 / u1 e2 = u2 / u2 e3 = u3 / u3 ek = uk / uk !Gram-Schmidt Process u2 = v2 − proju 1