QR-Zerlegung

Neue Frage »

Sabrina90 Auf diesen Beitrag antworten »
QR-Zerlegung
Meine Frage:
hallo!!

ich habe eine frage bzgl der QR-Zerlegung.
Eigentlich ist diese Aufgabe mein Problem:
Schreiben Sie ein Programm, das unter Verwendung des QR-Algorithmus alle Eigenwerte einer Matrix
berechnet. Die Matrix soll zunächst mittels Ähnlichkeitstransformation auf Hessenberggestalt gebracht werden. Verwenden Sie sowohl für die Ähnlichkeitstransformation als auch für die auftretenden
QR-Zerlegungen Givensrotationen. Das Verfahren soll abbrechen, sobald die unteren Nebendiagonalelemente der Iterierten alle betragsmäßig kleiner als 10^-15 sind oder eine gewisse Anzahl an Iterationen überschritten wird. Geben Sie neben den Approximationen der Eigenwerte in sortierter Reihenfolge auch eine Näherung der Konditionszahl der Matrix an.

Meine Ideen:
So,bevor ich anfange zu programmieren,würd ich erst einmal gerne verstehen,was genau ich da machen soll..
So viel habe ich verstanden:
Ich soll zuerst meine Matrix A mit Hilfe der Givensrotation auf Hessenberggestalt bringen.Muss ich das machen,damit das Verfahren schneller konvergiert??Oder hat das einen anderen Grund?

So,nun hab ich also meine Matrix umgeformt.Und jetzt soll ich wieder mit der Givensrotation diese Matrix in Q und R zerlegen.
Aber was bringt mir das??Ich meine,wo genau kann ich denn da meine gesuchten Eigenwerte ablesen?Und sind das dann genau die Eigenwerte oder nur eine Näherung?
Bin dankbar für jede Hilfe!
tigerbine Auf diesen Beitrag antworten »
RE: QR-Zerlegung
Eigentlich solltest du die antworten hier finden: http://de.wikipedia.org/wiki/QR-Algorithmus

Es geht hier nicht um eine QR-Zerlegung, sondern um einen QR-Algorithmus. Auch wenn er auf der QR-Zerlegung basiert.
sabrina90 Auf diesen Beitrag antworten »

hmm,ja,das hab ich mir bereits durchgelesen.
ich habs nicht ganz verstanden...ich muss das verfahren doch so lange durchführe,bis ich meine rechte obere Dreiecksmatrix R hab,mit der ich ja dann mein Q berechne,oder?
Nur wo genau sollen denn da die Eigenwerte von A stehen?Auf der Hauptdiagonalen von R oder von Q`?oder von beiden?
tigerbine Auf diesen Beitrag antworten »

Auf der von R. http://www-user.tu-chemnitz.de/~benner/L...10/ready/qr.pdf Seite 5 z.B.

Applet, kann aber sein, dass die nur eine Zerlegung berechnen: http://techmath.uibk.ac.at/numbau/alex/a...hmus/index.html
sabrina90 Auf diesen Beitrag antworten »

ahh,ok,super,vielen dank.
also,hab ich dann am ende meine eigenwerte auf der diagonalen von R stehen...gut,aber im aufgabentext steht,dass ich eine Approximation der eigenwerte angeben soll...ich kenne mich da nicht so gut aus,aber liegt das einfach daran,dass meine nxn-matrix für sehr große n ziemlich groß´wird und ich deswegen viel zu viele schritte brauche,um die eigenwerte genau anzugeben??und das man dann nach einer bestimmten anzahl schritten,aufhören soll und nur eine näherung der EW angeben soll?oder denke ich da jetzt ganz falsch?
tigerbine Auf diesen Beitrag antworten »

Mit dem Algorithmus berechnest du nicht "die Dreiecksmatrix" von der du dann die EW abliest. Du erzeugst eine Folge von ähnlichen Matrizen, die gegen eine Dreiecksmatrix konvergiert.

Guck noch mal in das PDF.
 
 
sabrina90 Auf diesen Beitrag antworten »

aha,ok,also demnach kann ich also die EW nur naeherungsweise angeben,oder?

jetzt nochmal zu der qr-zerlegung meiner hessenberg-matrix: ich muss doch dann eigentlich nur die nebendiagonale "wegebekommen",oder?also,quasi fuer jede spalte eine schritt...nur,ich hab doch eigentlich schon meine marix A per givensrotation veraendert,und habe nullen erzeugt..warum verringert sich denn da der aufwand?wieso macht man das denn nun eigentlich mit der hessenbergform?
tigerbine Auf diesen Beitrag antworten »

Das Problem ist doch, eine QR-Zerlegung ist noch "einfach" zu realisieren. Jedoch ist die Matrix R i.A. nicht ähnlich zu Matrix A. Ähnlich ist , da wird aber i.A. die Dreiecksstruktur wieder zerstört.

Bringst du A auf Hessenbergform, so bleibt diese aber im Algorithmus erhalten.
http://de.wikipedia.org/wiki/QR-Algorith...Hessenberg-Form
sabrina90 Auf diesen Beitrag antworten »

ahh,ok,danke!!

ich hab jetzt mein programm geschrieben...mein problem ist jetzt allerdings,dass ich nicht weiss,wie ich es starte.arbeite mit linux.
dachte es muesste mit ./programmname funktionieren,aber das tut es nicht..kann mir jemand sagen,was ich falsch mache?
tigerbine Auf diesen Beitrag antworten »

Mach dazu am besten einen neuen Thread im Programmforum auf. Augenzwinkern Das erhöht die Antwortchancen. Wink
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »