Een givens-rotatie is in de numerieke lineaire algebra een rotatie in het vlak dat wordt gevormd door twee coördinaatassen. Givens-rotaties zijn genoemd naar de Amerikaanse wiskundige Wallace Givens (1910-1993).
Matrixvoorstelling
De givens-rotatie in wijzerzin van een vector
over een hoek van
radialen in het vlak van de
-de en
-de coördinaatassen in een
-dimensionele ruimte kan men berekenen uit het product
van de givens-matrix
met de vector
De givens-matrix is de vierkante
-matrix
![{\displaystyle G(i,j,\theta )={\begin{bmatrix}1&\ldots &0&\ldots &0&\ldots &0\\\vdots &\ddots &\vdots &&\vdots &&\vdots \\0&\ldots &c&\ldots &-s&\ldots &0\\\vdots &&\vdots &\ddots &\vdots &&\vdots \\0&\ldots &s&\ldots &c&\ldots &0\\\vdots &&\vdots &&\vdots &\ddots &\vdots \\0&\ldots &0&\ldots &0&\ldots &1\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e2aa5ec03f3efd724875829f8e58b209ca501c97)
waarin
en
voorkomen op de snijpunten van de
-de en
-de rijen en kolommen. De andere elementen op de hoofddiagonaal zijn gelijk aan 1, en alle andere elementen van een givens-matrix zijn nul. De vier elementen op de plaatsen
en
vormen de rotatiematrix van rotatie over de hoek
.
Toepassing
De givens-rotatie is numeriek stabiel. Givens-rotaties worden in numerieke lineaire algebra gebruikt om nulwaarden in vectoren en matrices te bekomen, bijvoorbeeld in het jacobi-eigenwaardealgoritme of bij de berekening van de QR-decompositie van een matrix.
QR-decompositie
In de QR-decompositie vermenigvuldigt men de matrix
achtereenvolgens links met givens-rotaties
zodanig dat de elementen onder de hoofddiagonaal nul worden en de matrix herleid wordt tot een bovendriehoeksmatrix
. Elke vermenigvuldiging met een givens-matrix verandert alleen de waarden in de
-de en
-de rij van de matrix.
![{\displaystyle R=G_{k}\ldots G_{1}A}](https://wikimedia.org/api/rest_v1/media/math/render/svg/60c16e80d5210b602e8e988096f7a2a17e9c668b)
De inverse, of equivalent de getransponeerde, van het product van de toegepaste givens-rotaties vormt een orthogonale matrix
zodat
Als in de
-de kolom van de matrix
onder de diagonaal in de
-de rij het getal
staat, kan dat omgezet worden in 0 door een givens-rotatie
met
en
. Er moet voldaan worden aan:
![{\displaystyle {\begin{bmatrix}c&-s\\s&c\end{bmatrix}}{\begin{bmatrix}a\\b\end{bmatrix}}={\begin{bmatrix}r\\0\end{bmatrix}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e525abe584f2495e0e69a8932af24fcc7602408)
waarin
het element op de diagonaal is. Daaruit volgt dat:
![{\displaystyle r={\sqrt {a^{2}+b^{2}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c06427751d7f71ba70ddfae47fb47e6386324ae6)
![{\displaystyle c=a/r}](https://wikimedia.org/api/rest_v1/media/math/render/svg/18ef5d31290bda04229be1f3b9963923dcd47793)
![{\displaystyle s=-b/r}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9e49ac008444bfdc96df508776f05d14fb2706c6)
Voorbeeld
De 3x3-matrix
wordt met QR-decompositie herleid tot een bovendriehoeksmatrix
met behulp van van givens-rotaties.
![{\displaystyle A={\begin{bmatrix}6&5&0\\5&1&4\\0&4&3\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5db8f0814f8263b678ce7058564ca669deecb5dd)
Er zijn twee rotaties nodig om de elementen
en
om te zetten in 0. Noem
de givens-matrix die
omzet in 0, dan worden
![{\displaystyle r={\sqrt {6^{2}+5^{2}}}={\sqrt {61}}=7{,}8102}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ced0215b8355481515a21fa758c668abffd7a947)
![{\displaystyle c=6/r=0{,}7682}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e3a13c97106b0a2b60875b3541add15737ee0b2)
![{\displaystyle s=-5/r=-0{,}6402}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c951e0ce3b0e8bd6b374818352162415270ed60e)
![{\displaystyle G_{1}={\begin{bmatrix}c&-s&0\\s&c&0\\0&0&1\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f54526ad4616797ededa1c5493add5da04a1933)
De matrixvermenigvuldiging
geeft de volgende getransformeerde matrix:
![{\displaystyle A'={\begin{bmatrix}7{,}8102&4{,}4813&2{,}5607\\0&-2{,}4327&3{,}0729\\0&4&3\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2923bd337ad5f95bbdd455b587b7325eb93c58a3)
Noem
de givens-matrix waarmee
op nul gezet wordt. Daarvoor geldt
![{\displaystyle G_{2}={\begin{bmatrix}1&0&0\\0&c&-s\\0&s&c\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5d3ad06a8e10f5478aa262f4ebf6cff512c6d6c5)
met
![{\displaystyle r={\sqrt {(-2{,}4327)^{2}+4^{2}}}=4{,}6817}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3e9bee63edfe883049f89720ad2d443d2825b67e)
![{\displaystyle c=-2{,}4327/r=-0{,}5196}](https://wikimedia.org/api/rest_v1/media/math/render/svg/78dca86b5d679bc2480023b1bcb2954aec5f6093)
![{\displaystyle s=-4/r=-0{,}8544}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4d234638d50ba59942ae68cb702844d2a4978a63)
Met deze waarden levert de matrixvermenigvuldiging de bovendriehoeksmatrix R:
![{\displaystyle R=G_{2}A'={\begin{bmatrix}7{,}8102&4{,}4813&2{,}5607\\0&4{,}6817&0{,}9664\\0&0&-4{,}1843\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f32010b6661a54e1d4ecfdbbc2de745c55edcca)
De matrix
in de decompositie
wordt dan gegeven door:
![{\displaystyle Q=(G_{1}G_{2})^{\text{T}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/61090f91933805313f9b12154723534cd64b2c23)
Dit is in dit voorbeeld de matrix:
![{\displaystyle Q={\begin{bmatrix}0{,}7682&0{,}3326&0{,}5470\\0{,}6402&-0{,}3992&-0{,}6564\\0&0{,}8544&-0{,}5196\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/28734f08c94bd15e8fd8a548c38cd8dcc4a16ed0)