www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Numerik linearer Gleichungssysteme" - Givens-Rotation
Givens-Rotation < Lin. Gleich.-systeme < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Numerik linearer Gleichungssysteme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Givens-Rotation: Drehmatrix
Status: (Frage) beantwortet Status 
Datum: 22:05 Di 20.01.2009
Autor: Pacapear

Hallo.

Ich habe eine Frage zu den Givens-Rotationen, also zu diesen Drehmatrizen.

Sie sehen ja wie folgt aus (jetzt mal nur im [mm] \IR^2): [/mm]

[mm] \pmat{ c & s \\ -s & c } [/mm] mit [mm] c^2+s^2=1 [/mm]

c und s sollen ja quasi [mm]\ cos[/mm] und [mm]\ sin[/mm] darstellen und an die herkömmlichen Drehmatrizen erinnern.

Aber bei einer herkömmlichen Drehmatrix ist das Minuszeichen beim Sinus genau andersrum, oder?

Die herkömmlichen Drehmatrix (um den Winkel [mm] \phi) [/mm] lautet doch [mm] \pmat{ cos(\phi) & -sin(\phi) \\ sin(\phi) & cos(\phi) }. [/mm]

Wieso ist das Vorzeichen bei Givens-Rotationen vertauscht?

LG, Nadine

        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 22:36 Di 20.01.2009
Autor: legris

Givensrotationen sind orthogonal. Das heisst

[mm] U(\phi)^TU(\phi) [/mm] = [mm] \pmat{ cos(\phi) & -sin(\phi) \\ sin(\phi) & cos(\phi) } \pmat{ cos(\phi) & sin(\phi) \\ -sin(\phi) & cos(\phi) } [/mm] = [mm] \pmat{ 1 & 0 \\ 0 & 1 } [/mm]

Die "normale" Matrix, die du beschreibst, ist also die Transponierte der Givensrotation. Diese kannst du als Rücktransformation interpretieren, die einen Vektor [mm] \overline{c} [/mm] nach einer Givensrotation wieder zurückrotiert. In Formeln:

[mm] \overline{c} [/mm] = [mm] U(\phi)^T \underbrace{U(\phi) \* \overline{c}}_{rotiertes \overline{c}} [/mm]

Ich hoffe, das hilft weiter....

Bezug
                
Bezug
Givens-Rotation: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:20 Mi 21.01.2009
Autor: Pacapear

Hallo!



> Ich hoffe, das hilft weiter....

Hmm, ich weiß nicht so ganz.
Du meinst also, die Givensrotation ist die Transponierte der normalen Drehmatrix?
Aber warum?
Warum ist die Givensrotation nicht genau die Drehmatrix?
Sie soll ja gerade drehen.
Das ist was ich nicht verstehe [nixweiss]

Dreht Givens vielleicht im anderen Uhrzeigersinn als die normale Drehmatrix?




Wo wir schon bei Drehmatrix sind, ich versteh die Herleitung für die [mm]\ c[/mm] und [mm]\ s[/mm] nicht so ganz.

Ich hab hier folgendes stehen (im [mm] \IR^2): [/mm]

Ich will Einträge unterhalb der Diagonalen eliminiren, also will ich folgendes erreichen:
[mm] \pmat{ c & s \\ -s & c }*\vektor{x_i \\ x_j}=\vektor{r \\ 0} \gdw r=cx_i+sx_j [/mm] und [mm] 0=-sx_i+cx_j [/mm]
Nun sagt mein Buch, dass daraus folgt:
[mm] c=\bruch{x_i}{\wurzel{x_i^2+x_j^2}} [/mm] und [mm] s=\bruch{x_j}{\wurzel{x_i^2+x_j^2}} [/mm]

Also ich kann diese Folgerung überhaupt nicht sehen.
Hab's schon mit umstellen und einsetzen versucht, komme aber nicht drauf.
Kannst du mir vielleicht helfen?
Ach ja, was genau sind denn eigentlich die [mm] x_i [/mm] und die [mm] x_j? [/mm]



LG, Nadine

Bezug
                        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 13:10 Do 22.01.2009
Autor: leduart

Hallo
r ist die Laenge deines Vektors [mm] (x_i,x_j) [/mm] der gedreht werden soll.wenn du damit dann die 2 lin. gleichungen loest kommt das gesuchte ergebnis.
Was du damit meinst, dass du unter der Diagonalen 0 haben willst versteh ich nicht.
[mm] (x_i,x_j) [/mm] ist ein beliebiger Vektor, der offensichtlich in die x-Achse gedreht werden soll. warum da i,j statt 1,2 steht weiss ich nicht, vielleicht damit man es leichter mehrdimensional verallgemeinern kann?
Gruss leduart


Bezug
                                
Bezug
Givens-Rotation: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:14 Do 22.01.2009
Autor: Al-Chwarizmi


> Was du damit meinst, dass du unter der Diagonalen 0 haben
> willst versteh ich nicht.
>  [mm](x_i,x_j)[/mm] ist ein beliebiger Vektor, der offensichtlich in
> die x-Achse gedreht werden soll. warum da i,j statt 1,2
> steht weiss ich nicht, vielleicht damit man es leichter
> mehrdimensional verallgemeinern kann?



Hallo leduart,

die Methode der []Givens-Rotation verwendet man üblicher-
weise für die Umformung (insbesondere die QR-Zerlegung) von
umfangreicheren nxn-Matrizen.

Gruß     Al  


Bezug
                                
Bezug
Givens-Rotation: Völlig unklar
Status: (Frage) beantwortet Status 
Datum: 21:32 Do 22.01.2009
Autor: Pacapear

Hallo Leduart.



>  r ist die Laenge deines Vektors [mm](x_i,x_j)[/mm] der gedreht
> werden soll.wenn du damit dann die 2 lin. gleichungen loest
> kommt das gesuchte ergebnis.
>   Was du damit meinst, dass du unter der Diagonalen 0 haben
> willst versteh ich nicht.



Das versteh ich jetzt irgendwie gar nicht.

Also wir haben geschrieben, dass es bei der Givens-Rotations unser Ziel ist, zu Eliminieren.
Dann stand da das: [mm] \pmat{ c & s \\ -s & c }\cdot{}\vektor{x_i \\ x_j}=\vektor{r \\ 0} [/mm]
Ich hab das so verstanden, dass [mm]\ r[/mm] dabei nur irgendeine Zahl ist, und die [mm]\ 0[/mm] soll andeuten, dass ich unterhalb der Diagonalen Nullen erzeugen will (von Länge des Vektors und so haben wir nichts gesagt).
Denn ich will doch eine gegebene Matrix durch Multiplikation mit [mm] \pmat{ c & s \\ -s & c } [/mm] auf obere Dreiecksgestalt bringen, oder nicht?

[mm] \vektor{r \\ 0} [/mm] soll dann also unser Ziel sein (im [mm] \IR^2), [/mm] also rauskommen nach Anwendung der Matrix [mm] \pmat{ c & s \\ -s & c }. [/mm]
So hab ich mir das zumindest überlegt.
Ist das falsch [nixweiss]

Naja, und aus [mm] \pmat{ c & s \\ -s & c }\cdot{}\vektor{x_i \\ x_j}=\vektor{r \\ 0} [/mm] kann ich ja dann umformen in [mm] r=cx_i+sx_j [/mm] und [mm] 0=-sx_i+cx_j, [/mm] halt einfach mal die Matrixmultiplikation ausgerechnet.

Was ich halt nicht verstehe, ist, wie man jetzt von da auf folgende Werte für c und s kommt:

[mm] c=\bruch{x_i}{\wurzel{x_i^2+x_j^2}} [/mm] und [mm] s=\bruch{x_j}{\wurzel{x_i^2+x_j^2}}. [/mm]



Könnte mir nochmal jemand versuchen zu helfen?

LG, Nadine

Bezug
                                        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 09:19 Fr 23.01.2009
Autor: alex42

Hallo Nadine,

vielleicht nochmal kurz zur Zerlegung selbst: Bei QR-Zerlegung ist ja das Ziel, durch orthogonale Transformationen eine obere Dreiecksmatrix R zu erzeugen. Bei der Givens-Rotation werden die Einträge unterhalb der Diagonalen von A durch Drehungen eliminiert: Im Dreidimensionalen kann man z.B. einen Vektor in die [mm] $x_1 [/mm] - [mm] x_3 [/mm] - $Ebene drehen, dann hat er die Form
[mm] $\vektor{v_1 \\0\\ v_3}$ [/mm]
die zweite Komponente wurde also eliminiert. Das macht man dann sukzessive für alle Komponenten unterhalb der Diagonalen, pro Schritt also nur eine Komponente (-> aufwändig).

Wie diese Drehmatrizen im 2-dimensionalen aussehen, wurde oben ja schon beschrieben. Wo das Minus steht ist dabei ziemlich egal, das bestimmt nur die Richtung, in die gedreht wird, ist also reine Konvention.
Zur Bestimmung von $c$ und $s$ musst du nur die Gleichungen
$0 = -s [mm] x_i [/mm] + c [mm] x_j$ [/mm] und
$c² + s² = 1$
ineinander einsetzen.

Gruß,
Alex

Bezug
                                        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 01:02 So 25.01.2009
Autor: hannaK

Hallo Nadin,
ich beschäftige mich grad selbst mit dem Thema... da ich aber momentan leider nicht viel Zeit habe, versuche ich es ganz kurz zu erklären ( und leider ohne "perfekten Matrizen & co.)

Also, mit deiner Drehmatix möchtest du deinen Vektor (a,b) im R² so umdrehen, dass er auf der x1-Achse liegt und somit x2=0 wird.

wenn du also, deine Drematrix mit dem Vektor (a,b) als LGS schreiben würdest, erhälst du

ac + bs =r   (I)
-as +bc =0  (II)

mit (II) gilt c= as/b
dieses in (I) eingesetzt ergibt .... s=br/(a²+b²)

Wenn du s dann in (II) wieder einsetzt, erhälst du c=ar/(a²+b²).

Mit sin²+cos²=1 folgt
a²r²/ (a²+b²)²  + b²r²/ (a²+b²)² =1.

Wenn du diese Gleichung dann wieder nach r auflöst, bekommst du r=+-sqrt(a²+b²).

Setzt du dieses r in die zuvor berechneten c und s, so ergibt sich schließlich c=a/r und s=b/r, wobei r=sqrt(a²+b²) war!!!  [sqrt steht für Quadrat-Wurzel]



Wenn wir uns im mehrdimensionalen Raum befinden, so sind xi und xj zunächst aus der ersten Spalte zu wählen, wobei dein xj unterhalb von xi ist. Wenn du nun also deine Drehmatrix von links mit Matrix A multiplizierst, so wird dein gewähltes Element xi = r und dein xj=0.

Ein schönes Beispiel ist auf http://de.wikipedia.org/wiki/Givens-Rotation, an dem du erkennen kannst, wie a11 nach der ersten Multiplikation zu r=sqrt(3²+4²)=5 wurde, während a41=4 zu Null wurde.

Wie die Drehmatrix erstellt wird, ist dir klar???

Einheitsmatrix aufstellen, dann die (c,s,-s,c) so positionieren/ einbetten, dass in diesem Beispiel a11 und a41 "verändert" werden. Somit hast du i=1 und j=4, wodurch du deine Drehmatrik G14 dann aufstellst.... mit den c=a/r und s=b/r, wobei r=sqrt(a²+b²) war!!!

LG Hanna

Bezug
                                                
Bezug
Givens-Rotation: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 01:15 So 25.01.2009
Autor: hannaK

Sorry, hab mich vorher verklickt und jetzt erscheint meine eigentliche Anwort leider als Frage, ... weiß ehrlich gesagt nicht, wie ich das verstellen könnte :(

Kann da jemand helfen??? :)

Bezug
                                                
Bezug
Givens-Rotation: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:01 So 25.01.2009
Autor: Pacapear

Hi hannaK!

Danke für deine Herleitung, echt nett von dir :-)

Also scheint das r doch was mit der Länge des Vektors zu tun zu haben, dass erinnert mich irgendwie so an die Länge eines Vektors in der Polarkoordinatendarstellung?

LG, Nadine

P.S.: Habe deine Frage in eine Antwort umgemodelt :-)

Bezug
                                                        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 18:38 So 25.01.2009
Autor: leduart

Hallo
Sicher ist r die Laenge des Vektors! Eine reine drehung, die du mit [mm] c^2+s^2=1 [/mm] hast kann doch einen vektor nur drehen und nicht seine laenge aendern!
Gruss leduart

Bezug
                                                                
Bezug
Givens-Rotation: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:49 So 25.01.2009
Autor: Pacapear

Ok, hab ich das dann jetzt richtig verstanden:

Also ich will einen Vektor [mm] \vektor{a \\ b} [/mm] abbilden auf den ersten Einheitsvektor, also auf den Vektor [mm] \vektor{1 \\ 0}. [/mm]

Dazu will ich die Drehmatrix [mm] \pmat{ c & s \\ -s & c } [/mm] benutzen, also [mm] \pmat{ c & s \\ -s & c }*\vektor{a \\ b}. [/mm]

Und da soll ja dann als Ergebnis rauskommen [mm] \vektor{r \\ 0}. [/mm]



So, und jetzt das, was ich "neu" verstanden habe:

Dieser Vektor [mm] \vektor{r \\ 0} [/mm] ist ein verlängerter/verkürzter erster Einheitsvektor (um den Faktor r), ist das richtig?

Und r ist dann der Wert, den ich auf der x-Achse abtrage, also die Länge des Vektors, der gedreht wurde (weil ja drehen die Länge nicht verändert).

Und dann hat r quasi die gleiche Forum wie die Länge eines Vektors in Polarkoordinatenform?

Ist das so richtig?



Noch eine Frage zum Schluss:

Bilde ich immer auf den ersten Einheitsvektor ab?

Oder bilde ich auch noch auf andere Einheitsvektoren ab, und wenn ja, wann?



LG, Nadine

Bezug
                                                                        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 14:02 Mo 26.01.2009
Autor: hannaK

Hi Nadine,  
was du geschrieben hast klingt eigentlich ganz gut.... denn es stimmt, dass r wie der Betrag(Länge) eines Vektors ausschaut. So hab ich's nämlich noch garnicht gesehen. Und ja, die Drehung ist somit längenerhaltend des Vektors $ [mm] \vektor{a \\ b} [/mm] $.


> Ok, hab ich das dann jetzt richtig verstanden:

> Also ich will einen Vektor $ [mm] \vektor{a \\ b} [/mm] $ abbilden auf den
> ersten Einheitsvektor, also auf den Vektor $ [mm] \vektor{1 \\ 0}. [/mm] $

> Dazu will ich die Drehmatrix $ [mm] \pmat{ c & s \\ -s & c } [/mm] $ benutzen,
> also $ [mm] \pmat{ c & s \\ -s & c }\cdot{}\vektor{a \\ b}. [/mm] $

> Und da soll ja dann als Ergebnis rauskommen $ [mm] \vektor{r \\ 0}. [/mm] $



> So, und jetzt das, was ich "neu" verstanden habe:

> Dieser Vektor $ [mm] \vektor{r \\ 0} [/mm] $ ist ein verlängerter/verkürzter
> erster Einheitsvektor (um den Faktor r), ist das richtig?

> Und r ist dann der Wert, den ich auf der x-Achse abtrage, also die
> Länge des Vektors, der gedreht wurde (weil ja drehen die Länge
> nicht verändert).

> Und dann hat r quasi die gleiche Forum wie die Länge eines Vektors
> in Polarkoordinatenform?

> st das so richtig?




> Noch eine Frage zum Schluss:

> Bilde ich immer auf den ersten Einheitsvektor ab?

Ja und Nein. Wenn du im R² bist ja, aber wenn du im
mehrdinemsionalen Raum bist, dann bildest du auf den
ensprechenden Vektor, mit dem du ein gewünschtes Element aus A
gleich Null setzen willst. Denn Sinn dieser Transformation ist eine
obere Dreiecksmatrix zu erzeugen und somit schrittweise unter der
Diagonalen die Nullen zu erzeugen. Willst du nämlich z.B. das
Element a42 einer 4x2-Matrix eliminieren, wirst du z.B. eine G24-Givensmatrix brauchen, die das gewünschte Element um den Winkel(phi) in der (x2,x4)-Ebene auf glaub x2 dreht und somit dieses gewünschte Element zu Null transformiert wird.

Ich hoffe das konnte dir bißchen weiter helfen... und dich nicht noch mehr verwirren :) (Übrigens, diese Erklärung passt zum Beispiel von Wiki, von dem ich letztens erzählt hab).
Grüße HannaK


Oder bilde ich auch noch auf andere Einheitsvektoren ab, und wenn ja, wann?



LG, Nadine

Bezug
                                                                                
Bezug
Givens-Rotation: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:12 Mo 26.01.2009
Autor: hannaK

Hey Nadine,
und dankeschön für's Ummogeln ;)

Wenn Zeit hab, werd ich versuchen weitere Fragen zu beantworten, denn ich habe bald Prüfung.... und es schadet mir auch nicht auf meine Lücken aufmerksam gemacht zu werden :)


Grüße


Bezug
        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 10:19 Do 22.01.2009
Autor: fred97

Vielleicht hilft Dir auch

               [mm] $sin(-\phi) [/mm] = [mm] -sin(\phi)$ [/mm]  und  [mm] $cos(-\phi) [/mm] = [mm] cos(\phi) [/mm] $

weiter.

FRED

Bezug
                
Bezug
Givens-Rotation: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:36 Do 22.01.2009
Autor: Pacapear


> Vielleicht hilft Dir auch
>  
> [mm]sin(-\phi) = -sin(\phi)[/mm]  und  [mm]cos(-\phi) = cos(\phi)[/mm]
>  
> weiter.



Irgendwie leider auch nicht *verzweifel*

Bezug
        
Bezug
Givens-Rotation: einerlei
Status: (Antwort) fertig Status 
Datum: 10:49 Do 22.01.2009
Autor: Al-Chwarizmi

Hallo Nadine,

das spielt wohl gar keine Rolle, da man nachher
ohnehin wieder "zurückdreht".
Also reine Konventionssache.

Ersetzt man [mm] \phi [/mm] durch [mm] -\phi, [/mm] ergibt sich genau dieser
Vorzeichenwechsel (nur beim Sinus !).

Gruß


Bezug
                
Bezug
Givens-Rotation: "Zurückdrehen"
Status: (Frage) beantwortet Status 
Datum: 21:42 Do 22.01.2009
Autor: Pacapear

Hallo!



> das spielt wohl gar keine Rolle, da man nachher
>  ohnehin wieder "zurückdreht".
>  Also reine Konventionssache.

"Zurückdrehen"?
Was meinst du denn damit?
Davon höre ich heute zum ersten Mal.
Wann, wie und warum sollte ich denn zurückdrehen wollen?
Ich drehe doch nur einmal in eine Richtung, um irgendwo in meiner Ausgangsmatrix eine 0 zu erzeugen.
Warum sollte ich nun zurückdrehen, dann würde ich die 0 doch wahrscheinlich wieder weg machen, oder?
Das ist mir irgendwie nicht klar [nixweiss]

Wie dreht denn [mm] \pmat{ cos(\phi) & sin(\phi) \\ -sin(\phi) & cos(\phi) } [/mm] und wie dreht [mm] \pmat{ cos(\phi) & -sin(\phi) \\ sin(\phi) & cos(\phi) }? [/mm]

Irgendeinen Unterschied muss es doch geben...

Ist der einzige Unterschied vielleicht die Richtung, in den ich den Vektor, auf den ich diese Matrix anwende, drehe?
Wenn ja, ist die Drehmatrix [mm] \pmat{ cos(\phi) & sin(\phi) \\ -sin(\phi) & cos(\phi) } [/mm] bei Givens dann vielleicht verdreht im Vorzeichen, weil ich den Vektor in die andere Richtung drehe als bei Anwendung der "klassischen" Drehmatrix [mm] \pmat{ cos(\phi) & -sin(\phi) \\ sin(\phi) & cos(\phi) }? [/mm]



LG, Nadine

Bezug
                        
Bezug
Givens-Rotation: Antwort
Status: (Antwort) fertig Status 
Datum: 16:08 Fr 23.01.2009
Autor: Al-Chwarizmi

Hallo Nadine,

sorry, mit dem "Zurückdrehen" habe ich mich
wohl geirrt - das Thema Givensrotation ist mir
ja doch nicht sooo geläufig. Trotzdem spielt
dieses Vorzeichen beim Sinus in der Drehmatrix
keine wesentliche Rolle. Ob ich nun die
gewünschte Null unterhalb der Diagonale
mit einer Drehung um einen Winkel [mm] \phi [/mm] (als
Drehung des Raumes gegenüber dem Koordi-
natensystems) oder als Drehung des Koordina-
tensystems um den Winkel [mm] -\phi [/mm] beschreibe,
kommt auf dasselbe heraus.
Wichtig ist nur, dass es überhaupt eine
einfache Drehung gibt, die dies leistet.

Gruß   Al


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Numerik linearer Gleichungssysteme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]