Symmet. Matrix diagonalisieren < Eigenwerte < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Hallo,
ich muss ein Programm schreiben, dass eine symmetrische Matrix diagonalisiert, dazu schon mal eine Frage vorab: Ist es möglich eine SYMMETRISCHE Matrix zu diagonalisieren, indem ich einfach ihre Eigenwerte in die Hauptdiagonale schreibe? Ich meine ohne eine passende ONB aus den Eigenvektoren der Matrix, o.ä.
Falls das möglich ist, zu meiner Hauptfrage: Gibt es ein alternatives Verfahren zum berechnen von Eigenwerten einer symmetrischen Matrix (das möglichst einfach ist....) Mein Problem ist nämlich, dass sich bei den gegebenen Matrizen das charakteristische Polynom nicht in Linearfaktoren zerlegen lässt (mit der Programmierumgebung die ich nutzen muss). Oder aber: Gibt es andere Verfahren um eine symmetrische Matrix zu diagonalisieren (außer "simultane Zeilen- und Spaltenumformung" und Basiswechsel, etc. also im Prinzip etwas das sich auch gut programmieren lässt).
Danke im Voraus
|
|
|
|
> Ist
> es möglich eine SYMMETRISCHE Matrix zu diagonalisieren,
> indem ich einfach ihre Eigenwerte in die Hauptdiagonale
> schreibe?
Hallo,
wenn Du eine symmetrische Matrix hast, ist diese ähnlich zu einer Diagonalmatrix, welche auf der Diagonalen die Eigenwerte (entsprechend der jeweiligen Vielfachheit) stehen hat.
Du brauchst zum Diagonalisieren keine ONB - es sei denn, das ist ausdrücklich gefordert.
Etwas Orthogonalität hast Du sowieso "automatisch eingebaut", ob Du willst oder nicht: die Eigenvektoren zu VERSCHIEDENEN Eigenwerten sind senkrecht zueinander.
Die Konsequenz: wenn Deine Matrix nur einfache Eigenwerte hat, liefern Dir die zugehörigen Eigenvektoren eine Orthogonalbasis.
> Ich meine ohne eine passende ONB aus den Eigenvektoren der Matrix, o.ä.
Wenn es nur darauf ankommt, die passende Diagonalmatrix zu finden, brauchst Du bei symmetrischen Matrizen nur die Eigenwerte.
Wenn Du die Transformation mit angeben sollst, brauchst Du eine Basis aus Eigenvektoren.
Wenn eine orthogonale Transformation gefordert ist, brauchst Du eine Orthogonalbasis.
> Falls das möglich ist, zu meiner Hauptfrage: Gibt es ein
> alternatives Verfahren zum berechnen von Eigenwerten einer
> symmetrischen Matrix (das möglichst einfach ist....) Mein
> Problem ist nämlich, dass sich bei den gegebenen Matrizen
> das charakteristische Polynom nicht in Linearfaktoren
> zerlegen lässt
Das kann nicht sein. Wenn die Matrix symmetrisch ist, zerfällt das CP in Linearfaktoren.
> (mit der Programmierumgebung die ich nutzen
> muss).
Achso!
> Oder aber: Gibt es andere Verfahren um eine
> symmetrische Matrix zu diagonalisieren (außer "simultane
> Zeilen- und Spaltenumformung" und Basiswechsel, etc. also
> im Prinzip etwas das sich auch gut programmieren lässt).
Auf diesem Gebiet bin ich Analphabet. Da weiß ich weniger als nichts.
Gruß v. Angela
|
|
|
|
|
Also das seltsame ist, dass ich eine symmetrische Matrix diagonalisieren kann, indem ich simultane Zeilen- und Spaltenumformung benutze, und bekomme dann auf der Hauptdiagonalen schöne Werte wie 1,2,3, dies sind aber nicht die Eigenwerte, diese sind teilweise sehr unschön, sowas wie -2,1736273623736... Eine Matrix mit solchen Zahlen soll aber nicht ausgegeben werden. Naja....ich werd mal ein bisschen weiterprobieren.
Danke
|
|
|
|
|
> Also das seltsame ist, dass ich eine symmetrische Matrix
> diagonalisieren kann, indem ich simultane Zeilen- und
> Spaltenumformung benutze,
Hallo,
wie geht denn dieser Algorithmus?
Und was soll er leisten lt. Skript/Literatur o.ä.?
Funktioniert er für jede beliebige symmetrische Matrix, oder gibt es besondere Anforderungen?
und bekomme dann auf der
> Hauptdiagonalen schöne Werte wie 1,2,3, dies sind aber
> nicht die Eigenwerte, diese sind teilweise sehr unschön,
> sowas wie -2,1736273623736... Eine Matrix mit solchen
> Zahlen soll aber nicht ausgegeben werden.
Wer sagt, daß keine krummen Werte geliefert werden sollen?
Sucht der Algorithmus möglichst gute ganzzahlige Näherungen???
Gruß v. Angela
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:10 Di 19.06.2007 | Autor: | rainman_do |
Hat sich mittlerweile erledigt, ich hatte es aufgegeben. Wollte aber trotzdem nochmal antworten wegen des Algo:
Diagonalisierung mit simultanen Zeilen- und Spaltenumformungen:
Gegeben sei eine symmetrische Matrix A [mm] \in Mat_{n}(\IR). [/mm] Dann kann man A mit simultanen Zeilen- und Spaltenoperationen in Diagonalgestalt überführen. Wenden wir dabei eine elementare Zeilenoperation [mm] {C_{i}}^{tr} [/mm] an, so müssen wir anschließend sofort die entsprechende Spaltenoperation [mm] C_i [/mm] durchführen.
Gehe dabei wie folgt vor:
(a) Ist [mm] a_{ii} \not= [/mm] 0, so kann man die i-te Zeile/Spalte mit Hilfe von [mm] a_{ii} [/mm] "ausräumen".
(b) Ist [mm] a_{ii} [/mm] = 0 und ein weiteres [mm] a_{jj} [/mm] = 0, und gibt es in der i-ten Zeile/Spalte ein Element [mm] b_{ij} [/mm] = [mm] b_{ji} \not= [/mm] 0, so addiere die j-te Zeile/Spalte zur i-ten und erhalte auf der Diagonalen
[mm] {a'}_{ij} [/mm] = [mm] 2b_{ij}. [/mm] Wende dann (a) an.
Beispiel:
[Dateianhang nicht öffentlich]
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
|
|
|
|