Math. B. Walther Institut für Mathematik

Werbung
Jun.-Prof. Dr. K. Worthmann
Dipl.-Math. B. Walther
Sommersemester 2015
TU Ilmenau
Institut für Mathematik
Praktikum im Lehrgebiet Numerik für Informatiker“
”
———————————————————————————————————Aufgabe-Nr. 1
Bearbeiter: .................................................................................
Thema: Iterative Verfahren für lineare Gleichungssysteme
Implementieren Sie jeweils das Gaußverfahren mit Pivotierung, das QR-Verfahren, das JacobiVerfahren und das Gauß-Seidel-Verfahren als MatLab-Funktion. Wenden Sie jedes dieser Verfahren auf ein lineares Gleichungssystem der Form Ax = b mit Matrix A ∈ lRn×n und Vektor
b ∈ lRn für n ∈ {10, 100, 250, 500, 1000, 2500, 10000} an, um die Lösung x∗ ∈ lRn zu approximieren. Erzeugen Sie dazu die Zufallsmatrizen A mit den MatLab-Befehlen:
A=randn(n)*100; A=round(A+norm(A,1)*eye(n));
und entsprechenden zufällig erzeugten Vektoren b.
Vergleichen Sie Ihre Verfahren in Bezug auf den Rechenaufwand und stellen Sie Ihre Ergebnisse graphisch dar (Abzisse: Dimension n, Ordinate: Rechenzeit, wählen Sie bitte ein geeignetes
Koordinatensystem). Testen Sie dazu alle vier Verfahren bis zu einer maximalen Rechenzeit
von 60 Minuten. Ermitteln Sie die Zeiten unter Verwendung von tic und toc.
Bestandteile des Vortrags:
- Überlegen Sie sich ein konkretes Problem aus der Informatik, für dessen Lösung ein lineares
Gleichungssystem gelöst werden muss und stellen Sie es vor.
- Kurze Einführung in iterative Verfahren zur Lösung linearer Gleichungssysteme. Grenzen Sie
diese insbesondere von der Klasse der direkten Verfahren ab.
- Erläuterung der Verfahrensweise des Gauß-Seidel-Verfahrens (Nutzen Sie dazu Formeln für
eine Herleitung).
- Vorführung und Erläuterung des Programms sowie Ihrer Graphiken. Gehen Sie dabei insbesondere auf Rechenaufwand und Speicherplatz sowie auf Vor- und Nachteile der Verfahren ein.
Vorstellungstermin: 22. Mai 2015
Konsultation: 13. Mai 2015 um 8:00 Uhr im Raum C 319 bzw. früher nach Vereinbarung
(Zur vereinbarten Konsultation soll das oben aufgeführte Arbeitsprogramm abgearbeitet sein
und vorliegen. Sprechen Sie bitte Frau Dipl.-Mathematikerin Walther an, falls Sie in Ihrer Vorbereitung Hilfe benötigen.)
Das Programm (kommentierter Quelltext) wird den anderen Studenten nach dem Vortrag zur
Verfügung gestellt.
Literatur:
1. Grüne, L.: Einführung in die numerische Mathematik, 5.Auflage,
http://num.math.uni-bayreuth.de/de/team/Gruene_Lars/lecture_notes/index.html
2. Neundorf, W.: Numerische Mathematik, Shaker Verlag Aachen, 2002
Jun.-Prof. Dr. K. Worthmann
Dipl.-Math. Brigitte Walther
Sommersemester 2015
TU Ilmenau
Institut für Mathematik
Praktikum im Lehrgebiet Numerik für Informatiker“
”
———————————————————————————————————Aufgabe-Nr. 2
Bearbeiter: .................................................................................
Thema: Multiplikation von Polynomen - Computeralgebra
Implementieren Sie die Multiplikation von zwei Polynomen einmal auf herkömmliche“ Weise
”
und unter Verwendung des Algorithmus von A.A. Karazuba jeweils als MatLab-Funktion.
Nutzen Sie diese Funktionen zur Berechnung des Produkts zweier reeller Polynome Pn (x) =
n−1
m−1
P
P
xn +
pi x und Qm (x) = xm +
qi x, wobei die ganzen Zahlen n (Grad des Polynoms Pn (x))
i=0
i=0
und m (Grad des Polynoms Qm (x)) zu Beginn des Programms einzulesen sind und die Koeffizienten mit den MatLab-Befehlen:
P=randn(n,1)*10-5; Q=randn(m,1)*6-2;
erzeugt werden.
Vergleichen Sie Ihre Verfahren in Bezug auf den Rechenaufwand und führen Sie dazu eine Komplexitätsbetrachtung durch. Ermitteln Sie außerdem die Rechenzeiten unter Verwendung von
tic und toc und interpretieren Sie die Ergebnisse.
Bestandteile des Vortrags:
- Erläuterung des Karazuba-Algorithmus zur Multiplikation zweier Polynome.
- Vorführung und Erläuterung des Programms. Gehen Sie dabei insbesondere auf Rechenaufwand und Speicherplatz ein.
- Anwendung auf die Multiplikation zweier (großer) ganzer Zahlen.
- Gibt es noch schnellere Algorithmen?
- Überlegen Sie sich ein konkretes Probleme aus der Informatik, für dessen Lösung der KarazubaAlgorithmus genutzt werden kann und stellen Sie es vor.
Vorstellungstermin: 22. Mai 2015
Achtung: geänderter Termin für die Konsultation: 12. Mai 2015 um 8:00 Uhr im Raum
C 319 bzw. früher nach Vereinbarung
(Zur vereinbarten Konsultation soll das oben aufgeführte Arbeitsprogramm abgearbeitet sein
und vorliegen. Sprechen Sie bitte Frau Dipl.-Mathematikerin Walther an, falls Sie in Ihrer Vorbereitung Hilfe benötigen.)
Das Programm (kommentierter Quelltext) wird den anderen Studenten nach dem Vortrag zur
Verfügung gestellt.
Literatur:
1. Eigenwillig, A., Mehlhorn, K.: Algorithmus der Woche - Multiplikation langer Zahlen
http://www-i1.informatik.rwth-aachen.de/~algorithmus/algo16.php
2. Köpf, W.: Computeralgebra. Springer Berlin Heidelberg New York 2006
3. Wikipedia: http://de.wikipedia.org/wiki/Karazuba-Algorithmus
Jun.-Prof. Dr. K. Worthmann
Dipl.-Math. Brigitte Walther
Sommersemester 2015
TU Ilmenau
Institut für Mathematik
Praktikum im Lehrgebiet Numerik für Informatiker“
”
———————————————————————————————————Aufgabe-Nr. 4?
Bearbeiter: .................................................................................
Thema: QR-Verfahren zur Bestimmung von Eigenwerten
Schreiben Sie zu dem Algorithmus der QR-Zerlegung eine eigene MatLab-Funktion und testen
Sie diese zur Bestimmung der Eigenwerte einer reellen Matrix A ∈ lRn×n in einem menügesteuerten MatLab-Programm mit folgenden reellen Matrizen:


1 1 1 1 1 1 1 1 1 1
 1 2 2 2 2 2 2 2 2 2 


 1 2 3 3 3 3 3 3 3 3 






 1 2 3 4 4 4 4 4 4 4 
0 1 2 3
3 −1 0 0


 1 0 1 2 
 5 −1 0 0 
 1 2 3 4 5 5 5 5 5 5 






A2 = 
A3 = 
A1 = 

2 1 0 1 
0 0 3 1 
1
2
3
4
5
6
6
6
6
6


 1 2 3 4 5 6 7 7 7 7 
3 2 1 0
0 0 0 3


 1 2 3 4 5 6 7 8 8 8 


 1 2 3 4 5 6 7 8 9 9 
1 2 3 4 5 6 7 8 9 10
Welchen Einfluss hat die Symmetrie einer Matrix auf das Verfahren?
Sie dürfen in Ihrer Implementierung das in MatLab implementierte Verfahren qr verwenden.
Bestandteile des Vortrags:
- Einführung in die Problemstellung (Zielsetzung).
- Vorstellung des Algorithmus anhand von Formeln, Erläuterungen und Herleitungen.
- Vorführung und Diskussion des Programms anhand der oben aufgeführten Beispiele.
- Vor- und Nachteile des Verfahrens im Vergleich zu den in der Vorlesung behandelten Verfahren zur Eigenwertbestimmung.
Vorstellungstermin: 19. Juni 2015
Konsultation: 9. Juni 2015 um 8:00 Uhr im Raum C 319 bzw. früher nach Vereinbarung
(Zur vereinbarten Konsultation soll das oben aufgeführte Arbeitsprogramm abgearbeitet sein
und vorliegen. Sprechen Sie bitte Frau Dipl.-Mathematikerin Walther an, falls Sie in Ihrer Vorbereitung Hilfe benötigen.)
Das Programm (kommentierter Quelltext) wird den anderen Studenten nach dem Vortrag zur
Verfügung gestellt.
Literatur:
1. Bollhöfer, M., Mehrmann, V.: Numerische Mathematik, Vieweg+Teubner Verlag 2004
2. Grüne, L.: Einführung in die numerische Mathematik, 5.Auflage,
http://num.math.uni-bayreuth.de/de/team/Gruene_Lars/lecture_notes/index.html
3. Herrmann, M.: Numerische Mathematik, Oldenburg Verlag München, Wien
4. Neundorf, W.: Numerische Mathematik, Shaker Verlag Aachen 2002
Jun.-Prof. Dr. K. Worthmann
Dipl.-Math. Brigitte Walther
Sommersemester 2015
TU Ilmenau
Institut für Mathematik
Praktikum im Lehrgebiet Numerik für Informatiker“
”
———————————————————————————————————Aufgabe-Nr. 5
Bearbeiter: .................................................................................
Thema: Numerische Integration
Implementieren und testen Sie selbst geschriebene Matlab-Funktionen zur Berechnung des
bestimmten Integrals einer vorgegebenen reellen Funktion mit der einfachen, der zusammengesetzten und der adaptiven Simpson-Regel.
Vergleichen Sie in einem menügesteuerten MatLab-Programm die Anzahl der Funktionsberechnungen für folgende zu berechnende bestimmte Integrale:
Z4
I1 =
Z5
sin(πx/2)dx,
0
I2 =
−1
ex dx,
Z2
I3 =
dx
.
x+1
0
Ermöglichen Sie eine graphische Darstellung der Funktionen sowie die Ausgabe der Ergebnisse
und der Verfahrensfehler für die ausgewählten Beispiele.
Stellen Sie außerdem ein bereits in MatLab implementiertes Verfahren zur numerischen Integration vor.
Bestandteile des Vortrags:
- Vorstellung der ausgewählten Verfahren zur numerischen Integration mit Hilfe von Herleitungen und Formeln und Erklärung der unterschiedlichen Herangehensweise.
- Erläuterung und Vorstellung des Programms mit den oben angegebenen Beispielen, Verwendung unterschiedlicher Genauigkeitsschranken und Intervallgrößen.
- Diskussion der Ergebnisse: Zeigen Sie die Vor- und Nachteile der einzelnen Verfahren und
schätzen Sie die Fehler ein.
- Überlegen Sie sich abschließend ein konkretes Problem aus der Informatik, bei dem eine numerische Integration sinnvoll ist. Welches der vorgestellten Programme würden Sie verwenden?
Begründen Sie Ihre Aussage.
Vorstellungstermin: 19. Juni 2015
Konsultation: 10. Juni 2015 um 8:00 Uhr im Raum C 319 bzw. früher nach Vereinbarung
(Zur vereinbarten Konsultation soll das oben aufgeführte Arbeitsprogramm abgearbeitet sein
und vorliegen. Sprechen Sie bitte Frau Dipl.-Mathematikerin Walther an, falls Sie in Ihrer Vorbereitung Hilfe benötigen.)
Das Programm (kommentierter Quelltext) wird den anderen Studenten nach dem Vortrag zur
Verfügung gestellt.
Literatur:
1. Bollhöfer, M., Mehrmann, V.: Numerische Mathematik I, Vieweg+Teubner Verlag 2004
2. Grüne, L.: Einführung in die numerische Mathematik, 5.Auflage,
http://num.math.uni-bayreuth.de/de/team/Gruene_Lars/lecture_notes/index.html
3. Herrmann, M.: Numerische Mathematik, Oldenburg Verlag München, Wien
4. Neundorf, W.: Numerische Mathematik, Shaker Verlag Aachen 2002
Jun.-Prof. Dr. K. Worthmann
Dipl.-Math. Brigitte Walther
Sommersemester 2015
TU Ilmenau
Institut für Mathematik
Praktikum im Lehrgebiet Numerik für Informatiker“
”
———————————————————————————————————Aufgabe-Nr. 6
Bearbeiter: .................................................................................
Thema: Hermite-Interpolation
Gegeben seien Referenzen R zu paarweise verschiedenen Stützstellen xi , i = 0, 1, . . . , n, n ∈ lN.
Schreiben Sie eine MatLab-Funktion, die dazu das Interpolationspolynom von Hermite p(x)
bestimmt, wobei die Interpolationsbedingungen
yi = p(xi ),
zi = p0 (xi )
für alle i = 0, 1, . . . , n erfüllt sein sollen.
xi 0 π/2
1
R1 : yi 0
zi 1
0
π 2π
0 0
− 0
xi
−2 0
1
1.5
R2 = yi 0.037 2 0.736 0.21
zi 0.146 0
− 0.632
3
0
−
Schreiben Sie ein MatLab-Programm zur Lösung der Interpolationsaufgaben mit der HermiteInterpolation.
Ermöglichen Sie eine graphische Darstellung der Interpolationspolynome sowie eine Illustration
des Verfahrensfehlers, wenn wir davon ausgehen, dass die interpolierte Funktion im Fall R1
2
f1 (x) = sin(x) und im Fall R2 f2 (x) = 2e−x ist. Welche Änderungen beim 2. Polynom ergeben
sich, wenn z4 = −0.001 mit berücksichtigt wird?
Bestandteile des Vortrags:
- Erklären Sie Ihre Algorithmen mit Hilfe von Formeln und Herleitungen.
- Demonstration des Programms mit den oben angegebenen Beispielen.
- Diskutieren Sie die Vor- und Nachteile Ihres Verfahrens im Vergleich zu den Ihnen aus der
Vorlesung bekannten anderen Interpolationsverfahren.
- Überlegen Sie sich konkrete Interpolationsprobleme aus der Informatik und stellen Sie sie vor.
Vorstellungstermin: 19. Juni 2015
Konsultation: 11. Juni 2015 um 8:00 Uhr im Raum C 319 bzw. früher nach Vereinbarung
(Zur vereinbarten Konsultation soll das oben aufgeführte Arbeitsprogramm abgearbeitet sein
und vorliegen. Sprechen Sie bitte Frau Dipl.-Mathematikerin Walther an, falls Sie in Ihrer Vorbereitung Hilfe benötigen.)
Das Programm (kommentierter Quelltext) wird den anderen Studenten nach dem Vortrag zur
Verfügung gestellt.
Literatur:
1. Bollhöfer, M., Mehrmann, V.: Numerische Mathematik I, Vieweg+Teubner Verlag 2004
2. Grüne, L.: Einführung in die numerische Mathematik, 5.Auflage,
http://num.math.uni-bayreuth.de/de/team/Gruene_Lars/lecture_notes/index.html
3. Herrmann, M.: Numerische Mathematik, Oldenburg Verlag München, Wien
4. Neundorf, W.: Numerische Mathematik, Shaker Verlag Aachen 2002
Herunterladen