Numerische Behandlung des Eigenwertproblems



Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Eigenwerte und Eigenvektoren von Matrizen

Musterlösungen zur Linearen Algebra II Blatt 5

Lineare Gleichungssysteme

7 Rechnen mit Polynomen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

5 Eigenwerte und die Jordansche Normalform

Kapitel 15. Lösung linearer Gleichungssysteme

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Professionelle Seminare im Bereich MS-Office

Lineare Gleichungssysteme

Primzahlen und RSA-Verschlüsselung

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Einführung in die Algebra

3.1. Die komplexen Zahlen

Repetitionsaufgaben Wurzelgleichungen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Informationsblatt Induktionsbeweis

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

1.9 Eigenwerte und Eigenvektoren

Mathematischer Vorbereitungskurs für Ökonomen

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Bestimmung einer ersten

Erwin Grüner

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Anleitung über den Umgang mit Schildern

Approximation durch Taylorpolynome

Wir arbeiten mit Zufallszahlen

Analysis I für Studierende der Ingenieurwissenschaften

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

1 Vom Problem zum Programm

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Lineare Gleichungssysteme I (Matrixgleichungen)

Gleichungen und Ungleichungen

Grundlagen der Theoretischen Informatik, SoSe 2008

6.2 Scan-Konvertierung (Scan Conversion)

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

DIFFERENTIALGLEICHUNGEN

Hans Walser, [ a] Wurzeln aus Matrizen

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Das Mathematik-Abitur im Saarland

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Betragsgleichungen und die Methode der Fallunterscheidungen

Lineare Algebra und analytische Geometrie II (Unterrichtsfach)

Repetitionsaufgaben: Lineare Gleichungen

Media Teil III. Begriffe, Definitionen, Übungen

Lineare Gleichungssysteme

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erstellen von x-y-diagrammen in OpenOffice.calc

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

Lineare Gleichungssysteme

8. Quadratische Reste. Reziprozitätsgesetz

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Konzepte der Informatik

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Kap. 8: Speziell gewählte Kurven

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Quadratische Gleichungen

Maple-Skripte. A.1 Einleitung. A.2 Explizite Zweischritt-Runge-Kutta-Verfahren. Bei der Ausführung

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Info zum Zusammenhang von Auflösung und Genauigkeit

Datenbanken Kapitel 2

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Kulturelle Evolution 12

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

AutoCAD Dienstprogramm zur Lizenzübertragung

R ist freie Software und kann von der Website.

Die reellen Lösungen der kubischen Gleichung

Vorkurs Mathematik Übungen zu Polynomgleichungen

W-Rechnung und Statistik für Ingenieure Übung 11

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

1 Mathematische Grundlagen

1 topologisches Sortieren

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Leichte-Sprache-Bilder

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Das Briefträgerproblem

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

Taylorentwicklung der k ten Dimension

Plotten von Linien ( nach Jack Bresenham, 1962 )

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Grundbegriffe der Informatik

Transkript:

Numerische Behandlung des Eigenwertproblems Zusammenfassung Das Ziel dieses Vortrages ist, zwei gute Methoden für die numerische Bestimmung der Eigenwerte zu zeigen und wie man diese mit Matlab anwenden kann (implementieren). Namentlich wären das die Vektoriteration und die QR-Zerlegung. 0. Einleitung Wie wir bereits gesehen haben, benötigt man zum Lösen von den verschiedensten Problemen oft die Eigenwerte (EW) einer Matrix; sei es um die Hauptspannungen einer belasteten Probe auszurechnen oder eine Matrix in der Normalform zu schreiben. Deshalb möchte man die Eigenwerte möglichst gut und einfach berechnen können. In der Praxis geschieht dies natürlich numerisch mittels Computern. Mit der Methode des charakteristischen Polynoms, die wir ja meist anwenden, hat der Computer seine Mühen, besonders wenn die Eigenwerte sehr nahe beieinander liegen. In diesem Fall können unverhältnismässig grosse Fehler entstehen, was gelinde gesagt, nicht wünschenswert ist. Ein Auszug vom Buch Lineare Algebra von K. Nipp auf der Seite 25 soll diese Problematik verdeutlichen: P ( λ) = ( λ.4)( λ 3 2)( λ 2) 3 2 = λ + 4.842λ 7.6083λ + 3.9598 Das Polynom mit 5-stelliger Numerik ausgerechnet, ist mit 3-stelligen Fehlern behaftet. * 3 = [ λ λ ].6*0 * 3 = [ λ3 λ3 ].3*0 Wobei das die exakten Eigenwerte sind λ =.4 λ = 2 λ 2 2 = [ λ λ ].6*0 * 2 3 5 2 3 = Zusammenfassend kann man sagen, dass die Methode des charakteristischen Polynoms folgende Nachteile besitzt: - Bei Polynomen höheren Grades ist die Bestimmung der Nullstellen schwer und fehleranfällig - imaginäre Lösungen können auftreten - relativ grosse Fehler bei nah zusammenliegenden EWs - (es werden alle EW ausgerechnet) Es sind also andere Methoden von Nöten, um die EW zu bestimmen. 2 Samuele Laffranchini, Maya Matthias

. Vektoriteration.. Vektoriteration für symmetrische Matrizen Die Vektoriteration ist ein Verfahren zur Berechung von Eigenvektoren und Eigenwerten. Es wird dabei jeweils nur der betragsmässig kleinste Eigenwert berechnet, in der Praxis reicht das aber oft aus. Wir betrachten hier nur die Vektoriteration für symmetrische Matrizen, am Beispiel einer 2x2 Matrix A. Für eine solche Matrix A gilt: Alle Eigenwerte sind reell Es existiert eine orthonormale Eigenbasis zu A Aufgrund dieser Voraussetzungen lässt sich ein beliebiger 2x Vektor x a als Linearkombination der beiden normierten Eigenvektoren x () und x (2) der Matrix A schreiben: x a = c a x () + c 2 a x (2) Es gelten ausserdem folgende Identitäten: A x () = λ x () A x (2) = λ 2 x (2) (Definition des Eigenwerts) A x a = A c a x () + A c 2 a x (2) = λ c a x () + λ 2 c 2 a x (2)..2 erste Iteration Wir definieren nun eine Folge von Vektoren x 0, x, x 2,, x k. Der obere Index ohne Klammer bezeichnet den jeweiligen Iterationsschritt. x 0 ist ein zufällig gewählter Startvektor. Es soll nun gelten: A x = x 0 A x 2 = x A x 3 = x 2 Usw. Dies ist unsere Iterationsvorschrift. Für die Iteration muss in jedem Schritt eine Gleichung A x k = x k- mit Hilfe einer LR-Zerlegung gelöst werden, dies führt am Ende zu einem Vektor x k...3 Eigenschaften dieser Iteration Unter Anwendung obiger Identitäten lässt sich die Gleichung schreiben als: λ c x () + λ 2 c 2 x (2) = c 0 x () + c 2 0 x (2) (λ c - c 0 ) x () + (λ 2 c 2 c 2 0 ) x (2) = 0 Da x () und x (2) die Eigenbasis von A bilden, sind sie linear unabhängig und die obige Gleichung wird nur Null, wenn die Koeffizienten gleich Null sind: (λ c - c 0 ) = 0 (λ 2 c 2 - c 2 0 ) = 0 c = (/ λ ) c 0 c 2 = (/ λ 2 ) c 2 0 Samuele Laffranchini, Maya Matthias 2

Der Iterationsvorschrift zufolge lässt sich der Vektor: x = c x () + c 2 x (2) also schreiben als: x = (/ λ ) c 0 x () + (/ λ 2 ) c 2 0 x (2) In einem 2. Iterationsschritt können wir x 2 bestimmen: A x 2 = x λ c 2 x () + λ 2 c 2 2 x (2) = c x () + c 2 x (2) Mit der gleichen Rechung wie oben lassen sich wieder c 2 und c 2 2 durch c und c 2 ausdrücken: c 2 = (/ λ ) c c 2 2 = (/ λ 2 ) c 2 c 2 = (/ λ ) 2 c 0 c 2 2 = (/ λ 2 ) 2 c 2 0 Daraus folgt für den Vektor x 2 : x 2 = (/ λ ) 2 c 0 x () + (/ λ 2 ) 2 c 2 0 x (2) = (/ λ ) 2 (c 0 x () + (λ / λ 2 ) 2 c 2 0 x (2) ) Für k Iterationsschritte gilt: x k = (/ λ ) k (c 0 x () + (λ / λ 2 ) k c 2 0 x (2) ) Wir definieren nun λ als den betragsmässig kleinsten Eigenvektor der Matrix A. Dann konvergiert der zweite Term der Summe für k gegen Null, da (λ / λ 2 ) <. Es gilt dann: x k = (/ λ ) k c 0 x () = d x () d ist dabei nur ein Skalar, d.h. die Iteration führt zu einem x k, welches gegen einen Vektor in Richtung des Eigenvektors konvergiert...4 zweite Iteration Mit diesem Wissen modifizieren wir die Iterationsvorschrift so, dass wir jeden iterierten Vektor normieren. Dies spielt vor allem für die spätere Berechnung von λ eine Rolle. Wir starten mit einem normierten x 0 : A x = x 0 A x 2 = (x / x ) A x 3 = (x 2 / x 2 ) usw. Für k gilt dann: (x k / x k )= x () Somit kann man mit dieser Iteration den Eigenvektor zum kleinsten Eigenwert der Matrix A berechnen. Die Iteration wird solange durchgeführt bis die Vektoren (x k / x k ) und (x k- / x k- ) bis zur gewünschten Genauigkeit übereinstimmen. Samuele Laffranchini, Maya Matthias 3

Für die Berechnung des Eigenwertes λ zu diesem Eigenvektor, betrachten wir die folgende Gleichung: Für k gross genug gilt: (x k / x k )= x () A(x k / x k )= Ax () (Ax k )/ x k = λ x () (x k- / x k- )/ x k = λ x () ((x k- / x k- )/ x k ) = λ x () / x k = λ (Da x () und (x k- / x k- ) die Norm besitzen) Somit kann man durch die Vektoriteration bis zum k-ten Schritt den kleinsten Eigenwert und den dazugehörigen Eigenvektor berechnen..2 Die Implementierung der Vektoriteration in Matlab.2. Vorgehensweise Um ein Algorithmus erfolgreich zu implementieren, ist es sicher sinnvoll die einzelnen Schritte des Verfahrens in der logischen Reihenfolge zu skizzieren: Zur Erinnerung: Gegeben ist: Gesucht ist: A sei eine beliebige, symmetrische ( A = A T ) Matrix vom Rang r und x 0 sei ein beliebiger Spaltenvektor ( r x ), jedoch kein EV von A Betragsmässig kleinster EW von A Input: Dimension Toleranz Matrix x 0 normieren Gleichungssystem Ax = x 0 nach x lösen Nein x normieren Output: kl. Eigenwert Eigenvektor Ja x mit x 0 vergleichen Genügend genau? Samuele Laffranchini, Maya Matthias 4

.2.2 Das Programm Das Schema aus.2. in die Sprache von Matlab übersetzt wäre dann: % Vektoriteration Titel d = 3 legt die Dimension fest A = randn(d,d); erstellt eine dxd Matrix, hier 3x3 A = A'*A; macht sie symmetrisch A = round(0*a) rundet Werte (zwischen 0 und 0) x0 = randn(d,); erstellt zufälliger Spaltenvektor x0 = round(x0) rundet den Spaltenvektor x0 = x0/norm(x0); x0 wird durch seine Norm ersetzt (Normierung) for i=:00 Begin der Schleife (*) x = A\x0; neuer Vektor x n = norm(x); x = x/n; normiert den Vektor x if (abs(x-x0)<.e-5) Abbruchsbedingung, Toleranz break; else x0 = x; Definiert x als neues x0 end (es geht zurück zu (*)) end fprintf('anzahl von Schritten %i\n',i) fprintf('eigenwert ist %f\n',/n) x Ausgabe der benötigten Schritte zeigt den EW zeigt den EV [V D] = eig(a); Kontrollrechnung D(,) zeigt den EW V(:,) zeigt den EV Es muss nicht jeder einzelne Tag (Code) verstanden werden, sondern die Vorgehensweise ist entscheidend. Zeichenerklärung: % kommentiert eine Zeile aus (deaktiviert) ; Unterdrückt die Anzeige dieser Zeile im Output fprintf(' ') Textfeld for Erstellt i Schleifen (i geht von bis 00) break Stoppt die for-schleife if else Wenn (if) die Bedingung erfüllt ist, dann mache dies, sonst (else) mach das. randn Erzeugt eine Zufallszahl norm() Normiert einen Vektor round() Rundet Zahlen [V D] = eig(a) Erstellt eine Matrix V bestehend aus den EV und einer Diagonalmatrix D mit den EW. Hier wurde eine Zufallsmatrix der Dimension d erstellt. Man kann auch eine selbstgewählte (symmetrische) Matrix verwenden. Beispielsweise: A =[ 2 ; 2 ] Die Toleranz oder die Mindestgenauigkeit wird bei if mit: (abs(x-x0)<.e-5) bestimmt. Das Programm läuft bis diese Genauigkeit erreicht wurde (oder i=00). Dass das Programm tatsächlich funktioniert, zeigt das Beispiel im Anhang 3. Samuele Laffranchini, Maya Matthias 5

.2.3 Vergleich: Methode des charakteristischen Polynoms und der Vektoriteration Wir kommen zurück zur Methode des charakteristischen Polynoms und möchten diese mit der Vektoriteration vergleichen. Dazu wurde auch die Methode des charakteristischen Polynoms in Matlab implementiert. (Der Quellcode befindet sich im Anhang 3.2) Da es schwer ist Rechenschritt an sich zu zählen, möchten wir die benötigte Zeit der beiden Algorithmen vergleichen. Die Zeit ist schlussendlich ja das entscheidende Effizienzkriterium. Dazu wurde die Zeit mit der Funktion tic toc vom Computer selbst gemessen. Natürlich mussten die beiden Algorithmen die gleiche Zufallsmatrix bearbeiten. Es wurden verschiedene d für die Dimension verwendet. Dabei hat sich herauskristallisiert, dass bei kleinen d beide Algorithmen praktisch gleich schnell sind, hingegen bei grösseren d, die Vektoriteration deutlich schneller ist. Jedoch muss man eingestehen, dass bei der Methode des charakteristischen Polynoms alle Eigenwerte ausgerechnet wurden..2.4 Gesamtbeurteilung der Vektoriteration Somit hat die Vektoriteration gegenüber der Methode des charakteristischen Polynoms folgende Vorteile: - Liefert beliebig genaue Resultate - Geringe Fehleranfälligkeit, keine komplexen Zahlen - Hohe Effizienz - Es wird nur das berechnet, was man wirklich braucht. Eine Schwachstelle des Algorithmus ist, wenn der zufällige Vektor gerade ein Eigenvektor der Matrix ist. Dies ist aber unwahrscheinlich und deshalb nicht weiter störend. Da es aber auch vielfach Fälle gibt, wo man alle Eigenvektoren und alle Eigenwerte einer Matrix ausrechnen will, braucht man noch einen zweiten Algorithmus. 2. QR Algorithmus 2. Ziel QR-Algorithmus: Finden alle Eigenwerte und Eigenvektoren ( auch Komplexe) einer allgemeinen reellen n x n- Matrix. 2..2 Vorwissen aus QR-Zerlegung: Zu jeder m x n-matrix A, mit m > n, existiert eine orthogonale m x m-matrix Q, so dass gilt: A = QR mit R = ( R 0 / 0) Wobei R 0 eine n x n-rechtsdreiecksmatrix ist und 0 die (m-n) x n-nullmatrix. Samuele Laffranchini, Maya Matthias 6

2..3 Theorie: Zwei quadratischen Matrizen A und B werden ähnlich genannt, falls es eine reguläre n x n- Matrix T gibt, so dass: B = T - AT In diesen Fall, haben A und B die gleiche Eigenwerte, nämlich, wenn λ Eigenwerte von A ist, und wenn x seine Eigenvektor ist, es gilt: BT - x = T - Ax = λ T - x Beweis: Ist λ Eigenwert von A und x seine Eigenvektor, es gilt Ax = λx Wir müssen beweisen, dass es gilt: B x 2 = λx 2 x x 2 Wir wissen auch dass es gilt: B = T - AT Wir können probieren, diese Gleichung zu benutzen, aber es folgt: T-AT x = λ x!!!!! Diese ist falsch!!! Das T zwischen A und x muss verschwinden! Um diese T zu eliminieren, können wir B multiplizieren nach T -. B T - = T - AT T - = T - AI = T - A Jetzt können wir T - A benutzen: T - Ax = λ T - x = BT - x Wir sehen, dass die Eigenwert von A und B ist gleich, aber die Eigenvektoren sind verschiedene: Eigenvektor von A = x= x Eigenvektor von B = T - x = x 2 Also λ ist auch Eigenwerte von B und seine Eigenvektor ist T - x. Die Methoden, die sie gleichzeitig alle Eigenwerte von einer Matrix zu aproximieren erlauben, sind generell auf die Idee begründet sich die Anfangsmatrix in eine ähnliche Dreiecksmatrix zu verwandeln. Davon entsteht, dass die Eigenwerte von die Diagonalelement dargestellt werden. Die QR-Algorithmus ist das mehr benutzte Methode, um die Eigenwerte zu berechnen, auch, weil das wirksamste ist. Samuele Laffranchini, Maya Matthias 7

2..4 QR-Algorithmus: Zerlege: A = Q R Bilde A 2 = R Q [ = Q T AQ ] Dieser zwei Schritte sind die Basis des QR-Algorithmus, findet einmal A, es muss dem gleichen Verfahren folgen, um A 3 A 4, A n zu finden. Je höher n wird, desto genauer sind die gefundene Eigenwerte. In allgemein für das QR-Algorithmus gilt: A k = Q k R k und A k+ = R k Q k Von diese zwei Beziehungen folgt, dass: R k = Q k - A k A k+ = Q k - A k Q k =Q k T A k Q k Also die Matrizen der Folge {A k } sind alle ähnliche, und also haben die gleiche Eigenvektor. Die Matrix A k für k konvergiert zu eine Dreiecksmatrix. 2..5 Die Eigenvektoren: Um die Eigenvektor x (j) der Matrix A zu finden, muss man die folgende Gleichung zu lösen: x (j) = Q y (j) Wobei y (j) ist die Eigenvektor der Matrix A k (und es ist einfach zu berechnen!) und Q = Q *Q 2 *..*Q k ist die Produkt aller orthogonale Matrizen Q i, die wir benutzen haben, um das QR-Algorithmus zu führen. 2..6 Einfach Beispiel: (mit MATLAB durchgeführt) Bestimmen alle Eigenwerte dieser Matrix mit das QR-Algorithmus: A = [ 3 4 ; 4 ] Zerlegung von A : A = Q R = [ -0.6000-0.8000 ; -0.8000-0.6000] * [ -5.0000-3.2000 ; 0-2.6000] Bildung von A 2 : A 2 = R Q = [5.5600 2.0800 ; 2.0800 -.5600] Zerlegung von A 2 : A 2 = Q 2 R 2 =[-0.9366-0.3504 ; -0.3504 0.9366] * [-5.9363 -.405 ; 0-2.899] Samuele Laffranchini, Maya Matthias 8

Bildung von A 3 : A 3 =R 2 Q 2 = [6.05 0.7673 ; 0.7673-2.05] Zerlegung von A 3 : A 3 =Q 3 R 3 = [-0.992-0.258 ; -0.258 0.992] *[-6.0996-0.5032 ; 0-2.33] Bildung von A 4 : A 4 = R 3 Q 3 = [6.44 0.268 ; 0.268-2.44].. Bildung von A 7 : A 7 = R 6 Q 6 = [6.23 0.02 ; 0.02-2.23] Jetzt können wir stoppen, weil wir eine hinlänglich Genauigkeit erreichen haben. Die gefundene Eigenwerte sind deshalb 6.23 und -2.23. Wenn wir mit der Methode der Determinante die Eigenwerte berechnen, erhalten wir die gleiche Resultat. Berechnen nun die Eigenvektoren: Q = [0.789-0.643 ; 0.9295-0.3688] y () = [ 0.004 ; -] y (2) = [ - ; -0.004] Benutzen wir jetzt die Formel x (j) = Q y (j) : x () = [ 0.654 ; 0.370] x (2) = [ -0.7882 ; -0.9290] Samuele Laffranchini, Maya Matthias 9

2.2 Beispiele zum QR-Algorithmus [mit Matlab] 2.2. Einfache 2x2-Matrix A = [ 2;2 ] A = 2 2 Kontrolle eig(a) ans = - 3 Eigenwerte: - und 3 Samuele Laffranchini, Maya Matthias 0

2.2.. Schrittweise Berechnung [Q R] = qr(a) Q = -0.4472-0.8944-0.8944 0.4472 R = -2.236 -.7889 0 -.346 A= Q*R A =.0000 2.0000 2.0000.0000 A= R*Q A = 2.6000.2000.2000-0.6000 A3=R2*Q2 A3 = 2.9945 0.479 0.479-0.9945 [Q R]= qr(a) Q = -0.9080-0.49-0.49 0.9080 R = -2.8636-0.838 0 -.0476 [Q3 R3]= qr(a3) Q3 = -0.9988-0.0493-0.0493 0.9988 R3 = -2.9982-0.0987 0 -.0006 A2= R*Q A2 = 2.952 0.4390 0.4390-0.952 [Q2 R2]=qr(A2) A4=R3*Q3 A4 = 2.9994 0.0494 0.0494-0.9994 usw. Q2 = -0.989-0.47-0.47 0.989 R2 = -2.9837-0.2943 0 -.0055 Samuele Laffranchini, Maya Matthias

2.2..2 Direkte Berechnung mit Matlab A = [ 2;2 ] Matrix A = 2 2 Genauigkeit oder Toleranz tol=.e-5; Maximaler Lauf maxn=00; Titel fprintf('qr Algorithmus\n') QR Algorithmus for i=:maxn [Q R] = qr(a); A= Q'*A*Q; Abbruchbedingung if (abs(a(2,))<tol) Eigenwerte von A ev= diag(a); break end end i = 2 ev = 3.0000 -.0000 Samuele Laffranchini, Maya Matthias 2

2.2.2 Beliebige 5x5 Matrix tol=.e-5; maxn=700; Beliebige 5x5-Matrix B= randn(5,5); Symmetrische Matrix B=B'*B Matrix B = 4.8707 0.302-2.5578 0.3060-2.2967 0.302.5799 -.200-0.950-0.0056-2.5578 -.200 4.9952 0.648-0.4092 0.3060-0.950 0.648 2.305-0.9062-2.2967-0.0056-0.4092-0.9062 2.795 Titel fprintf('qr Algorithmus\n') QR Algorithmus for i=:maxn [Q R]=qr(B); B=Q'*B*Q; if (abs(b(2,))<tol) Samuele Laffranchini, Maya Matthias 3

Eigenwerte von B ev=diag(b); break end end i = 26 ev = 8.0322 5.0220.996.0449 0.2808 Kontrolle eig(b) ans = 8.0322 5.0220.996.0449 0.2808 Samuele Laffranchini, Maya Matthias 4

3. Anhang 3. Matlab Ausgabe einer Vektoriteration Ein Beispiel einer Vektoriteration mit Matlab d = 4 A = 80-5 -52-5 -5 9-4 3-52 -4 66 36-5 3 36 50 x0 = 0 - - x = -0.389 0.859 0.259-0.58 x = -0.264 0.870 0.232-0.529 x = -0.259 0.87 0.236-0.526 x = -0.259 0.872 0.236-0.526 x = -0.259 0.872 0.236-0.526 Gewählte Dimension Zufällige symmetrische Matrix Zufälliger Startvektor Erste Iteration Zweite Iteration Dritte Iteration Vierte Iteration Fünfte Iteration Anzahl von Schritten 5 Eigenwert ist 0.48955 x = -0.259 0.872 0.236-0.526 Eigenwert (Lösung) Eigenvektor (Lösung) Samuele Laffranchini, Maya Matthias 5

3.2 Programm: Algorithmen-Vergleich Dieses Programm vergleicht die Laufdauer der beiden Methoden. % Parameter festlegen tol =.e-6; maxn = 00; d = 4; % Matrix wird erstellt A = randn(d,d); A = A'*A; A = round(0*a) % Toleranz % Maximale Anzahl Schleifen % Dimension % Erstellt eine beliebige Matrix % Wird symmetrisch gemacht % Eigenwerte ausrechnen % Kontrollrechnung fprintf('genaue Eigenwerte\n') [EV EW] = eig(a); ev = diag(ew) % Gibt die Ews aus % Errechnet die EW mit dem charakteristischem Polynom fprintf('löst mit der Methode des charakteristischen Polynoms\n') tic % Startet Zeitmessung syms lambda p = det(a-lambda*eye(d)); % Das charakteristische Polynom ev = solve(p); % Findet Nullstellen ev = eval(ev) % Gibt die Ews aus toc % Stoppt Zeitmessung % Vektoriteration fprintf('löst mit der Methode der Vektoriteration\n') tic y0 = randn(d,); y0 = y0/norm(y0); for i=:maxn y = A\y0; n = norm(y); y = y/n; if (abs(y-y0)< tol) ev = /n; break; else y0 = y; end end ev toc % Startet Zeitmessung % Zufälliger Startvektor % Normiert % Nächster Vektor % Normiert % Prüft das Stoppkriterium % Stoppt % Neue Itineration % Gibt den EW aus % Stoppt Zeitmessung return Samuele Laffranchini, Maya Matthias 6