Givens-Rotation

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

In der linearen Algebra ist eine Givens-Rotation (nach Wallace Givens) eine Drehung in einer Ebene, die durch zwei Koordinaten-Achsen aufgespannt wird. Manchmal wird dies auch als Jacobi-Rotation (nach Carl Gustav Jacobi) bezeichnet.

Beschreibung[Bearbeiten]

Die Transformation lässt sich durch eine schiefsymmetrische orthogonale Matrix der Form

G(i, k, \theta) = 
       \begin{bmatrix}   1   & \cdots &    0   & \cdots &    0   & \cdots &    0   \\
                      \vdots & \ddots & \vdots &        & \vdots &        & \vdots \\
                         0   & \cdots &    c   & \cdots &    s   & \cdots &    0   \\
                      \vdots &        & \vdots & \ddots & \vdots &        & \vdots \\
                         0   & \cdots &   -s   & \cdots &    c   & \cdots &    0   \\
                      \vdots &        & \vdots &        & \vdots & \ddots & \vdots \\
                         0   & \cdots &    0   & \cdots &    0   & \cdots &    1
       \end{bmatrix}

beschreiben, wobei c = cos(θ) und s = sin(θ) in der i-ten und k-ten Zeile und Spalte erscheinen. Eine solche Matrix heißt Givens-Matrix. Formaler ausgedrückt:

G(i, k, \theta)_{j, l} = \begin{cases} \cos\theta & \mbox{ falls } j = i, l = i \mbox{ oder } j = k, l = k \\
                                                      \sin\theta & \mbox{ falls } j = i, l = k \\
                                                     -\sin\theta & \mbox{ falls } j = k, l = i \\
                                                      1          & \mbox{ falls } j = l \\
                                                      0          & \mbox{ sonst. }
       \end{cases}

Das Matrix-Vektor-Produkt G^T(i, k, \theta) x stellt eine Drehung des Vektors x um einen Winkel θ in der (i,k)-Ebene dar, diese wird Givens-Rotation genannt.

Die Hauptanwendung der Givens-Rotation liegt in der numerischen linearen Algebra, um Nulleinträge in Vektoren und Matrizen zu erzeugen. Dieser Effekt kann beispielsweise bei der Berechnung der QR-Zerlegung einer Matrix ausgenutzt werden. Außerdem werden solche Drehmatrizen beim Jacobi-Verfahren benutzt.

QR-Zerlegung mittels Givens-Rotationen[Bearbeiten]

  • Das Verfahren ist sehr stabil. Pivotisierung ist nicht erforderlich.
  • Flexible Berücksichtigung von schon vorhandenen 0-Einträgen in strukturierten (insbesondere dünnbesetzten) Matrizen.
  • Die Idee besteht darin, sukzessiv die Elemente unterhalb der Hauptdiagonalen auf Null zu setzen, indem man die Matrix von links mit Givens-Rotationen multipliziert. Zunächst bearbeitet man die erste Spalte von oben nach unten und dann nacheinander die anderen Spalten ebenfalls von oben nach unten.
  • Man muss also \mathcal{O}(m\,n) Matrizenmultiplikationen durchführen. Da sich jeweils pro Multiplikation höchstens 2n Werte verändern, beträgt der Aufwand für eine QR-Zerlegung einer vollbesetzten m x n-Matrix insgesamt \mathcal{O}(m\,n^2). Für dünn besetzte Matrizen ist der Aufwand allerdings erheblich niedriger.
  • Will man a_{ij}=0 erreichen, so setzt man c = a_{jj} / \rho und s = a_{ij} / \rho, wobei \rho = \sgn(a_{jj})  \sqrt{a_{jj}^2 + a_{ij}^2}.

Beispiel (QR-Zerlegung):

G_{2,4} \cdot G_{1,4} \cdot
       \begin{bmatrix}   3 & 5\\
                         0 & 2\\
                         0 & 0\\
                         4 & 5
       \end{bmatrix}
=

G_{2,4}\cdot 
       \begin{bmatrix}   5 & 7\\
                         0 & 2\\
                         0 & 0\\
                         0 & -1
       \end{bmatrix}
=
       \begin{bmatrix}   5 & 7\\
                         0 & \sqrt{5}\\
                         0 & 0\\
                         0 & 0
       \end{bmatrix}

mit

G_{1,4}= 
       \begin{bmatrix}  \frac{3}{5}  & 0 & 0 & \frac{4}{5} \\
                         0           & 1 & 0 &  0  \\
                         0           & 0 & 1 &  0  \\
                        \frac{-4}{5} & 0 & 0 & \frac{3}{5}
       \end{bmatrix}, G_{2,4} = 
       \begin{bmatrix}   1 & 0                  & 0 & 0 \\
                         0 & \frac{2}{\sqrt{5}} & 0 & -\frac{1}{\sqrt{5}}  \\
                         0 & 0                  & 1 & 0  \\
                         0 & \frac{1}{\sqrt{5}} & 0 & \frac{2}{\sqrt{5}}  \\
       \end{bmatrix}

Man erhält schließlich die QR-Zerlegung:

Q = (G_{2,4}\cdot G_{1,4})^{T} = (G_{1,4}^T \cdot G_{2,4}^{T}) =
       \begin{bmatrix}  \frac{3}{5}  & \frac{4}{5 \sqrt{5}} & 0 & -\frac{8}{5\sqrt{5}} \\
                         0 & \frac{2}{\sqrt{5}} & 0 &  \frac{1}{\sqrt{5}}  \\
                         0           & 0 & 1 &  0  \\
                        \frac{4}{5} & -\frac{3}{5\sqrt{5}} & 0 & \frac{6}{5\sqrt{5}}
       \end{bmatrix},\quad
       R = 
       \begin{bmatrix}   5 & 7\\
                         0 & \sqrt{5}\\
                         0 & 0\\
                         0 & 0
       \end{bmatrix},\quad
       Q \cdot R =        \begin{bmatrix}   3 & 5\\
                         0 & 2\\
                         0 & 0\\
                         4 & 5
       \end{bmatrix}

Literatur[Bearbeiten]

  • Gene H. Golub, Charles F. van Loan: Matrix Computations. 2nd Edition. The Johns Hopkins University Press, 1989.
  • Martin Hermann: Numerische Mathematik, 2., überarbeitete und erweiterte Auflage, Oldenbourg Verlag, München und Wien 2006, ISBN 3-486-57935-5, pp.155-159
  • W. Dahmen, A. Reusken: Numerik für Ingenieure und Naturwissenschaftler. . Springer-Verlag Berlin Heidelberg, 2006, ISBN 3-540-25544-3