QR-Zerlegung < Numerik < Hochschule < Mathe < Vorhilfe
|
Hallo Zusammen,
Ich habe den Givens-Algorithmus am folgenden Beispiel versucht:
[mm]A := \begin{pmatrix}-2&-3\\0&3\\2&3\\-3&-3\end{pmatrix}[/mm]
Da [mm]A[/mm] vollen Rang hat, müßte es hier funktionieren. Und zwar will ich mit [mm]G_{34}[/mm] zuerst den Eintrag [mm]a_{41}[/mm] auf 0 bringen:
[mm]c := \frac{a_1}{\sqrt{\left|a_1\right|^2+\left|a_4\right|^2}} = -\frac{2}{\sqrt{13}}\wedge s:=\frac{a_4}{\sqrt{\left|a_1\right|^2+\left|a_4\right|^2}} = -\frac{3}{\sqrt{13}}[/mm]
[mm]\Rightarrow G_{34} := \begin{pmatrix}1 & 0 & 0 & 0\\0&1&0&0\\0&0&-\frac{2}{\sqrt{13}}&-\frac{3}{\sqrt{13}}\\0&0&\frac{3}{\sqrt{13}}&-\frac{2}{\sqrt{13}}\end{pmatrix}[/mm]
Und wenn man die 4te Zeile davon mit [mm]A[/mm] multipliziert, so sieht man, daß aufgrund der gleichen Vorzeichen bei [mm]a_{41}[/mm] keine 0 rauskommen kann.
Aber was habe ich dann falsch gemacht?
Danke für die Hilfe!
Grüße
Karl
|
|
|
|
Hallo,
ich mag mich ja irren, weil ich zu Givens nie etwas gelernt habe, aber müsste man nicht zuerst mit [mm] $G_{13}$ [/mm] multiplizieren? Man sollte die zu löschenden Elemente nur mithilfe der Teil-Dreiecksmatrix oben löschen.
Also wäre die komplette Lösung:
$A' = [mm] G_{24}*G_{14}*G_{13}*A$
[/mm]
Gruß
Martin
|
|
|
|
|
Hallo Martin!
> [mm]A' = G_{24}*G_{14}*G_{13}*A[/mm]
Also ich gebe mal den Algorithmus an, den ich in einem Skript gefunden habe und nach dem ich vorgegangen bin:
[mm]\begin{array}{l}
\textbf{F"ur}\ k=1,\dotsc,n\\
\quad\textbf{F"ur}\ l=m,m-1,\dotsc,k+1\\
\quad\quad\texttt{L"ose die Grundaufgabe f"ur }\left(a_{k1},\dotsc,a_{km}\right)^T\texttt{ und }G_{l-1,l}\\
\quad\quad\texttt{Berechne }A:=G_{l-1,l}A.
\end{array},[/mm]
wobei mit der "Grundaufgabe" (- so wie ich das vestehe -) das Aufstellen von [mm]G_{l-1,l}[/mm] gemeint ist, wofür die Formeln:
[mm]c = \frac{a_k}{\sqrt{\left|a_k\right|^2+\left|a_l\right|^2}}[/mm] und [mm]s = \frac{a_l}{\sqrt{\left|a_k\right|^2+\left|a_l\right|^2}}[/mm]
benutzt werden. Nur bei deiner Lösung(, die ich allerdings noch nicht ausprobiert habe,) kommen z.B. Matrizen wie [mm]G_{14}[/mm] vor, wo der Abstand zwischen den Indizes größer 1 ist. Und beim obigen Algorithmus kann so etwas ja nicht auftreten, oder? Ist denn der Algorithmus, so wie er da steht, richtig? (Übrigens wird im Dokument, wo ich das her habe, mit [mm]G_{l,l-1}[/mm] und nicht mit [mm]G_{l-1,l}[/mm] gearbeitet, was aber irgendwie keinen Sinn für mich macht, weshalb ich das oben abgeändert habe.)
Viele Grüße
Karl
|
|
|
|
|
Hallo,
ich glaube, es gibt keinen wirklichen "Givens-Algorithmus" sondern nur eine "QR-Zerlegung über Givens-Rotationen ". Hier ist die Reihenfolge nicht festgelegt, in der die Matrixelemente ausgelöscht werden und auch nicht, welche Zeilen dabei abgezogen werden.
Nach deinem Algorithmus wird ein Element immer mithilfe der Zeile darüber ausgelöscht, deswegen immer nur die Differenz 1. Da dieses Verfahren aber numerisch sehr stabil sein soll, ist eine Pivotisierung nicht nötig, also sollte es auch möglich, beliebige Zeilen auszusuchen.
Deinem Algorithmus zufolge musst du rechnen:
$A' = [mm] G_{23}*G_{34}*G_{12}*G_{23}*G_{34}*A$
[/mm]
Allerdings ist mir nicht ganz klar, ob das nun eine mxn- oder eine nxm-Matrix sein soll.
Die einzelnen Schritte ergeben die folgenden Matrizen:
[mm]\begin{pmatrix} -2.0000 & -3.0000\\
0 & 3.0000\\
3.6056 & 4.1603\\
0 & 0.8321\end{pmatrix}[/mm]
[mm]\begin{pmatrix} -2.0000 & -3.0000\\
3.6056 & 4.1603\\
0 & -3.0000\\
0 & 0.8321\end{pmatrix}[/mm]
[mm]\begin{pmatrix} 4.1231 & 5.0932\\
0 & 0.6054\\
0 & -3.0000\\
0 & 0.8321\end{pmatrix}[/mm]
[mm]\begin{pmatrix} 4.1231 & 5.0932\\
0 & 0.6054\\
0 & 3.1132\\
0 & 0\end{pmatrix}[/mm]
[mm]\begin{pmatrix} 4.1231 & 5.0932\\
0 & 3.1716\\
0 & 0\\
0 & 0\end{pmatrix}[/mm]
Bei meiner Reihenfolge ($A' = [mm] G_{24}*G_{23}*G_{14}*G_{13}*G_{12}*A$) [/mm] ist das Ergebnis dasselbe, nur die Zwischenschritte sind anders.
Gruß
Martin
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:40 Do 11.01.2007 | Autor: | Karl_Pech |
Hallo Martin!
Danke für die Hilfe! Jetzt sollte es klappen...
Grüße
Karl
|
|
|
|