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