Givens-Rotation

Givens-Rotation

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

Die Transformation lässt sich durch eine 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 Produkt GT(i,k,θ)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

  • 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) Matrixmultiplikationen 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 aij = 0 erreichen, so setzt man c = ajj / ρ und s = aij / ρ, 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

  • 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

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Givens rotation — In numerical linear algebra, a Givens rotation is a rotation in the plane spanned by two coordinates axes. Givens rotations are named after Wallace Givens who introduced them to numerical analysts in the 1950s while he was working at Argonne… …   Wikipedia

  • Givens-Drehung — 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 …   Deutsch Wikipedia

  • Rotation matrix — In linear algebra, a rotation matrix is a matrix that is used to perform a rotation in Euclidean space. For example the matrix rotates points in the xy Cartesian plane counterclockwise through an angle θ about the origin of the Cartesian… …   Wikipedia

  • Givens — Der Nachname Givens gehört Philip Gerald Givens, der 55. Bürgermeister von Toronto. Edward Givens, einem US amerikanischen Astronautenanwärter. Jack Givens (* 1956), US amerikanischer Basketballspieler Robin Givens, einer US amerikanischen… …   Deutsch Wikipedia

  • James Wallace Givens — James Wallace Givens, Jr. (* 14. Dezember 1910 in Alberene bei Charlottesville; † 5. März 1993) war Mathematiker und Pionier der Informatik. Nach ihm ist die Givens Rotation benannt. Er erhielt 1928 im Alter von 17 Jahren seinen Bachelor… …   Deutsch Wikipedia

  • James Wallace Givens, Jr — James Wallace Givens, Jr. (* 14. Dezember 1910 in Alberene bei Charlottesville; † 5. März 1993) war Mathematiker und Pionier der Informatik. Nach ihm ist die Givens Rotation benannt. Er erhielt 1928 im Alter von 17 Jahren seinen Bachelor… …   Deutsch Wikipedia

  • Wallace Givens — James Wallace Givens, Jr. (1910 December 14–1993 March 5) was a mathematician and a pioneer in computer science. He is the eponym of the well known Givens rotations. Born the son of two teachers in Alberene, Virginia (a small town near… …   Wikipedia

  • Wallace Givens — James Wallace Givens, Jr. (* 14. Dezember 1910 in Alberene bei Charlottesville; † 5. März 1993) war Mathematiker und Pionier der Informatik. Nach ihm ist die Givens Rotation benannt. Er erhielt 1928 im Alter von 17 Jahren seinen Bachelor… …   Deutsch Wikipedia

  • Jacobi rotation — In numerical linear algebra, a Jacobi rotation is a rotation, Q k ℓ, of a 2 dimensional linear subspace of an n dimensional inner product space, chosen to zero a symmetric pair of off diagonal entries of an n × n real symmetric matrix, A , when… …   Wikipedia

  • Matrice de rotation — En mathématiques, et plus précisément en algèbre linéaire, une matrice de rotation Q est une matrice orthogonale de déterminant 1, ce qui peut s exprimer par les équations suivantes : QtQ = I = QQt et det Q = 1, où Qt est la matrice… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”