Het orthogonaliseringsproces van Gram-Schmidt
(a)Stappen 1 en 2 (b)Stap 3 Figuur:Proces verbeeld
Om de orthogonale projectie van een vector y op een deelruimte W van Rn te bepalen gebruikten we een orthogonale basis van W (§6.3).
Hoe kunnen we aan een orthogonale basis komen want meestal hebben we die niet.
Er bestaat een algoritme (proces) waarmee een ‘gewone’ basis van W kan worden overgevoerd in een orthogonale basis van W .
Het orthogonaliseringsproces van Gram- Schmidt
Stel B = {x1, x2, . . . , xp} is een basis voor een deelruimte W van Rn. Op B passen we het orthogonaliseringsproces van Gram-Schmidt toe om een orthogonal basis C = {v10, v20, . . . , vp0} van W te vinden.
1 Stel v1= x1.
Als de kentallen van v1 breuken bevatten schaal dan zodat dit niet meer het geval is.
Dit geeft v01
2 Laat W1= Span{v01} Bepaal v2= x2− projW1(x2) Schaal eventueel. Dit geeft v20.
3 Laat W2= Span{v01, v02} Bepaal v3= x3− projW2(x3) Schaal eventueel. Dit geeft v30. Zet dit proces voort.
Laat Wk = Span{v01, v02, . . . , v0k} voor zekere 1 ≤ k < p al bekend zijn.
Bepaal vk+1 = xk+1− projWk(xk+1) Schaal eventueel. Dit geeft v0k+1.
Het Gram-Schmidt proces (zonder schaling) uitgeschreven
Stel B = {x1, x2, . . . , xp} is een basis voor een deelruimte W van Rn
v1= x1
v2= x2−x2 rv1
v1 rv1
v1
v3= x3− (x3 rv1
v1 rv1
v1+x3 rv2
v2 rv2
v2) ...
vp= xp− (xp rv1
v1 rv1
v1+xp rv2
v2 rv2
v2+ · · · + xp rvp−1
vp−1 rvp−1
vp−1)
is een orthogonale basis voor W . Verder
Span{x1, x2, . . . , xk} = Span{v1, v2, . . . , vk} voor 1 ≤ k ≤ p.
Voorbeeld
W = Span{x1, x2, x3} met
x1=
1 1 1 1
, x2=
0 1 1 1
en x3=
0 0 1 1
.
Bepaal een orthogonale basis voor W .
v1= x1=
1 1 1 1
, v2= x2−x2 rv1 v1 rv1v1=
0 1 1 1
−34
0 1 1 1
=14
−3 1 1 1
v2=14
−3 1 1 1
dus v20 =
−3 1 1 1
v3= x3− (x3 rv1
v1 rv1v1+x3 rv2 v2 rv2v2) =
0 0 1 1
− (12
1 1 1 1
+16
−3 1 1 1
) =
1 3
0
−2 1 1
dus v03=
0
−2 1 1
.
Het is gemakkelijk na te gaan dat {v1, v02, v03} inderdaad een orthogonale basis is van W .
Opgaven
§6.4, opgave 5
B = {x1, x2} is een basis voor W met x1=
1
−4 0 1
en
x2=
7
−7
−4 1
.
Bepaal een orthogonale basis voor W .
v1= x1=
1
−4 0 1
en
v2= x2−x2 rv1 v1 rv1v1=
7
−7
−4 1
− 2
1
−4 0 1
=
5 1
−4
−1
.
Opgaven
§6.4, opgave 9
Bepaal een orthogonale basis voor Col(A) waarbij
A =
3 −5 1
1 1 1
−1 5 −2
3 −7 8
v1= a1=
3 1
−1 3
en
v2= a2−a2 rv1 v1 rv1v1=
−5 1 5
−7
− (−2040)
3 1
−1 3
=
−5 1 5
−7
+
6 2
−2 6
=
1 3 3
−1
.
v3= a3− (a2 rv1
v1 rv1v1+a2 rv2 v2 rv2v2)
=
1 1
−2 8
− (30 20
3 1
−1 3
−10 20
1 3 3
−1
)
=
1 1
−2 8
−
4 0
−3 5
=
−3 1 1 3
.
Stelling
Laat A een m × n matrix zijn met lineair onafhankelijke kolommen.
Dan kan A geschreven worden als QR waarbij Q een n × n matrix is met orthonormale kolommen en R een m × m bovendriehoeksmatrix met positieve elementen op de diagonaal.
Bewijs.
Bepaal, door toepassing van het orthoganaliseringsproces van Gram-Schmidt, en vervolgens normalisatie, een orthonormale basis {q1, q2, . . . , qn} van Col(A). Het is gemakkelijk in te zien dat Span{a1, a2, . . . , ak} = Span{q1, q2, . . . , qk}.
En dus ak= r1kq1+ r2kq2+ · · · + rk−1krk−1+ rkkqk+ 0qk+1+ · · · + 0qn. We mogen aannemen dat rkk > 0. Zo niet vervang dan qken rkk door hun tegengestelde.
Is rk=
r1k
r2k
.. . rk−1k
rkk
0 .. . 0
dan ak= Qrk (k = 1, 2, . . . , n) zodat
A = [a1a2· · · an] = [Qr1Qr2· · · Qrn] = QR.
Opmerking
Hoe kan de matrix R eenvoudig worden bepaald?
De kolommen van Q zijn orthonormaal dus QTQ = Im.
Hieruit volgt dat QTA = QT(QR) = (QTQ)R = ImR = R zodat
R = QTA
Opgave
§6.4, opgave 13
Laat A =
5 9
1 7
−3 −5
1 5
en Q = 16
5 −1
1 5
−3 1
1 3
.
Q is uit A verkregen door toepassing van het orthogonaliseringsproces van Gram-Schmidt toe te passen op de kolommen van A en die vervolgens te normaliseren. Bepaal de matrix R zodat A = QR.
R = QTA =16
"
5 1 −3 1
−1 5 1 3
#
5 9
1 7
−3 −5
1 5
=16
"
6 12 0 6
#
=
"
1 2 0 1
#
. Wanneer QR de matrix A oplevert is R correct bepaald.