Vorlesung im Wintersemester 2003/2004
Computeralgebra
Wolfgang K. Seiler
Ort und Zeit: Dienstag, 15.30 - 17.00,
und Freitag, 10.15 - 11.45 Uhr, A5, Hörsaal C013
Übungen dazu: Freitag, 12.00 - 13.30 Uhr, A5, Hörsaal C013
Die Computeralgebra beschäftigt sich mit der algorithmischen
Lösung algebraischer Probleme; bekannt ist sie vor allem durch
Computeralgebrasysteme wie Maple, Mathematica oder MuPad, die
darüber hinaus noch über vielfältige numerische und graphische
Fähigkeiten verfügen.
Gegenstand der Vorlesung sind vor allem Algorithmen zum symbolischen
Rechnen. Deren Nützlichkeit beschr"ankt sich keinesfalls nur auf
Probleme der reinen Mathematik; auch in Anwendungen wie etwa der
Computergraphik ist es oft notwendig, sicher zu wissen, ob etwa
zwei auf unterschiedliche Weise berechnete Punkte gleich sind; außerdem
führt die symbolische Lösung eines Problems oft zu effizienten
numerischen Algorithmen zur Lösung konkreter Einzelfälle.
In den Übungen, die sich speziell auch an Lehramtskandidaten
wenden, steht der Umgang mit Computeralgebrasystemen im Vordergrund;
dort soll es nicht nur um algebraische Algorithmen gehen, sondern
beispielsweise auch um den Einsatz von Computeralgebrasystemen
zur Visualisierung mathematischer Sachverhalte. Lehramtskandidaten
können hier den nach ihrer Prüfungsordnung notwendigen Schein
für eine Übung am Rechner erwerben.
Themen
- Wozu Computeralgebra
- Erstes Thema sind die grundlegenden Unterschiede zwischen numerischem,
exaktem und symbolischem Rechnen. Je nach Anwendung hat jeder der drei
Zugänge seine Vor- und Nachteile, und oft hängt die Lösbarkeit
eines Problems davon ab, daß man den richtigen gewählt hat.
Die "großen" Computeralgebrasysteme wie Maple, MuPad und
Mathematica unterstützen allesamt jede der drei Methoden.
- Datenstrukturen der Computeralgebra
- Da es sich um eine mathematische Vorlesung handelt, werde ich die
Vielzahl möglicher Datenstrukturen, die in Computeralgebrasystemen
verwendet werden, auch nicht annähernd vollständig abhandeln;
stattdessen beschränke ich mich auf einige fundamentale Techniken,
anhand derer insbesondere auch klar wird, daß ein Computeralgebrasystem
gelegentlich eine ganz andere Aufgabe löst als die, die der naive
Anwender im Sinn hatte: So können Computeralgebrasysteme einerseits
scheinbar mühelos Integrale wie
ausrechnen und oft sogar nichtlineare Gleichungssysteme lösen,
geben aber andererseits gelegentlich bei einfachen linearen Gleichungssystemen eine
falsche oder zumindest unvollständige Lösung an und haben
Probleme mit der Anwendung von so einfachen Regeln wie sin2
x + cos2x = 1.
Außerdem geht es in diesem Kapitel um
grundsätzliche Unentscheidbarkeitsfragen, die jedem
Computeralgebrasystem Grenzen setzen: Es gibt keine endliche
Datenstruktur zur Beschreibung beliebiger reeller Zahlen.
- Der Euklidische Algorithmus
- Der Euklidischen Algorithmus zur Bestimmung des größten
gemeinsamen Teilers wird wohl (fast) jedem geläfig sein, ist
aber in der Praxis, insbesondere wenn es um den ggT von Polynomen
geht, keineswegs so unproblematisch, wie man auf den ersten Blick
meinen möchte. Bereits hier macht sich eines der Grundprobleme der
Computeralgebra bemerkbar: Selbst bei Problemen
mit kleinen Ausgangsdaten und kleinen Ergebnissen können riesige
Zwischenresultate auftreten. Aus diesem Grund muß der Algorithmus
für eine effiziente Anwendung modifiziert werden, und die Strategien,
die man hier anwendet, werden sich auch bei komplizierteren und
interessanteren Problemen als nützlich erweisen.
- Faktorisierung von Polynomen
- Das Ausmultiplizieren eines Produkts von Polynomen ist bei hohen Graden
oder einer großen Anzahl von Faktoren zwar aufwendig, erfordert aber
keinerlei mathematische Ideen. Für die Zerlegung eines Polynoms in Faktoren
dagegen gibt es keinen offensichtlichen Ansatz, obwohl auch diese Zerlegung
beispielsweise für die Nullstellenbestimmung sehr nützlich ist. Die
Computeralgebra hat verschiedene Algorithmen entwickelt, die dieses Problem
effizient lösen können.
- Symbolische Integration
- Schon die möglcherweise aus der Analysis bekannte Integration
rationaler Funktionen via Partialbruckzerlegung ist nicht wirklich
algorithmisch, da der Nenner in h"ochstens quadratische
Faktoren zerlegt werden muß, was nur für hinreichends
spezielle Polynome algorithmisch effizient möglich ist;
Integrale transzendenter Funktionen werden meist mit ad hoc
Methoden behandelt. Tatsächlich gibt es aber eine ganze
Reihe von Verfahren, die teilweise bis ins 19. Jahrhundert zur¨ckgehen,
mit denen man für große Klassen von Funktionen nicht nur
Stammfunktionen konstruieren kann, sondern mit denen man gegebenenfalls
auch beweisen kann, daß es keine Stammfunktion gibt, die sich
durch gewisse vorgegebene Funktionen ausdrücken läßt:
Beispielsweise kann die Stammfunktion von exp(-x2)
nicht durch Grundrechenarten, Wurzeln, Exponentialfunktionen, Logarithmen,
trigonometrische Funktionen und deren Umkehrfunktionen ausgedrückt
werden.
- Nichtlineare Gleichungssysteme
- Lineare Gleichungssysteme lassen sich vor allem deshalb so einfach
lösen, weil ihre Nullstellenmenge eine lineare Stuktur hat. Im
Nichtlinearen gibt es nur noch selten Strukturen, so daß es hier
zumindest im Fall einer unendlichen Lösungsmenge nur daum gehen
kann, das Gleichungssystem in eine möglichst einfache Form
überzuführen. Bei endlicher Lösungsmenge möchte man
diese natürlich explizit angeben. Für beide Aufgaben stellt
die Computeralgebra zwei Arten von Algorithmen zur Verfügung:
Die schon im 19. Jahrhundert bekannten Resultantenmethoden, die heute
bei der Bewegungsplanung von Robotern eine große Rolle spielen,
und die etwa 35 Jahre alten Standardbasen oder Gröbnerbasen, die
durch Kombination der Ideen des Gauß-Algorithmus und des
Euklidischen Algorithmus auch nichtlineare Gleichungssysteme auf eine
Art Treppengestalt bringen können.
- Exaktes Rechnen mit reellen Zahlen
- Im allgemeinen ist nicht entscheidbar, ob zwei reelle Ausdrücke
dieselbe Zahl darstellen oder nicht. Es gibt aber einen relativ großen
Teilkörper von R, in dem man exakt rechnen und Gleichheit
algorithmisch entscheiden kann. Dies spielt beispielsweise eine große
Rolle in einigen Teilen der Computergraphik, wo man mit Sicherheit
wissen muß, ob zwei Schnittpunkte gleich sind oder nicht.
Voraussetzungen: Grundkenntnisse der linearen
Algebra und Analysis.
Hörerkreis: Für den integrierten Studiengang
Mathematik und Informatik kann diese Vorlesung bei entsprechender
Vertiefung für das Spezialgebiet Algebra gewählt werden oder
aber für das Fach "Brücke", falls Computeralgebra
entweder für das Vertiefungsfach oder das Anwendungsgebiet
nützlich ist.
Lehramtskandidaten können, wie bereits erwähnt, hier
der vorgeschriebenen Schein über eine Übung am Rechner erwerben.
Für Technische Informatiker und Wirtschaftsinformatiker kann die
Computeralgebra eventuell als Ergänzung interessant sein.
Literatur: Eine kommentierte Literaturliste
in Postskript ist hier zu finden. Die dort aufgeführten
Büucher decken natürlich ein Vielfaches des Stoffs ab, der
in einer einsemestrigen Vorlesung behandelt werden kann.