Algorithmen der Computeralgebra und Schulmathematik Prof. Dr. Wolfram Koepf Fachbereich Mathematik/Informatik Universität Gh Kassel koepf@mathematik.uni-kassel.de http://www.mathematik.uni-kassel.de/~koepf
Ludwig-Windthorst-Haus T3 - Tagung Ludwig-Windthorst-Haus Lingen (Ems) 19. Oktober 2001
Fachgruppe Computeralgebra Fachgruppe der DMV, GI, GAMM Regelmäßige Herausgabe des Rundbriefs Referent für Didaktik Regelmäßige Tagungen zum Thema „Computeralgebra in Lehre, Ausbildung und Weiterbildung“ Informationen auf meiner Homepage http://www.mathematik.uni-kassel.de/~koepf Homepage http://www.gwdg.de/~cais
Mein persönlicher Computeralgebra-Werdegang 1988: Erster Kontakt mit Computeralgebra (Reduce, Maple, Mathematica, DERIVE) 1990: Stipendium der Alexander von Hum-boldt-Stiftung. Forschungsprojekt zur Verwendung von Computeralgebrasystemen im Mathematikunterricht 1992: Analysis-Vorlesungen an der Freien Universität Berlin mit DERIVE 1993: Lehrbuch Mathematik mit DERIVE
1993-1997: Mitarbeiter am Konrad-Zuse-Zentrum für Informationstechnik in Berlin 1994: Buch Höhere Analysis mit DERIVE 1996: Buch DERIVE für den Mathematik-unterricht 1996-heute: Gewähltes Mitglied der Leitung der Fachgruppe Computeralgebra der DMV/GI/GAMM, Referent für Lehre und Didaktik
1997-2000: Professor für Angewandte Mathematik an der Hochschule für Technik, Wirtschaft und Kultur Leipzig 1998: Buch Hypergeometric Summation seit 2000: Professor für Computational Mathematics an der Universität Gh Kassel 2000: Buch Die reellen Zahlen als Fundament und Baustein der Analysis
Kleiner Satz von Fermat Für eine Primzahl p und a gilt ap = a (mod p) Fermattest: Ist diese Beziehung für eine Zahl a nicht erfüllt, so ist p keine Primzahl!
Euklidischer Algorithmus Den größten gemeinsamen Teiler von a und b berechnet man so: ggT(a,b) = ggT(|a|,|b|), falls a<0 oder b<0 ggT(a,b) = ggT(b,a), falls a<b ggT(a,0) = a ggT(a,b) = ggT(b, a mod b)
Effiziente Berechnung von Potenzen Die modulare Potenz an (mod p) berechnet man am besten durch Zurückführen auf Exponenten der Größe n/2 (Divide-and-Conquer-Algorithmus): a0 mod p = 1 an mod p = (an/2 mod p)2 mod p für gerade n an mod p = (an-1 mod p) . a mod p
Algebraische Zahlen Algebraische Zahlen sind als Nullstellen ganzzahliger Polynome erklärt, z. B. 2: x2 - 2 i: x2 + 1 2 + 3: x4 - 10 x2 + 1 2 + 3 + 5 : x8 - 40 x6 + 352 x4 - 960 x2 + 576
Faktorisierung von Polynomen Polynome mit rationalen Koeffizienten können algorithmisch faktorisiert werden! Dies funktioniert sogar, wenn mehrere Variablen im Spiel sind. Algorithmische Faktorisierungen über dagegen sind nur unter Verwendung algebraischer Zahlen möglich, z. B. x2-2 = (x-2)(x+2). Moderne schnelle Algorithmen gibt es nicht in DERIVE, aber in Maple, Mathematica, ...
Wo ist der zweite Pol? Während graphische Taschenrechner und Computeralgebrasysteme im Allgemeinen auf Anhieb Funktionsgraphen darstellen, gibt es auch Fälle, wo hierzu Kurvenuntersuchungen nötig sind. Wo ist der zweite Pol der Funktion
Lineare Gleichungssysteme Lineare Gleichungssysteme sind schlecht konditioniert, wenn die zugehörigen Geraden bzw. Ebenen etc. fast parallel sind. Dann lassen sich offenbar die Schnittpunkte bzw. Schnittgeraden etc. nur ungenau bestimmen.
Kondition einer Matrix Eine Matrix ist schlecht konditioniert, wenn sie oder ihre Inverse Eingabefehler stark vergrößern. Für eine Matrixnorm, z. B. ist die Konditionszahl cond ein Maß für die Kondition der Matrix A.
Hilbertmatrix Die n n Hilbertmatrix ist schlecht konditioniert. Daher ist die Numerik instabil. Rationale Arithmetik lässt ein Studium der Matrizen aber zu.
Differentiation Ableiten ist algorithmisch, wenn wir die üblichen Ableitungsregeln verwenden: Konstantenregel c´ = 0 Potenzregel (xn)´ = n xn-1 Linearität (f + g)´ = f ´ + g´ Produktregel (f · g)´ = f ´·g + g´·f Quotientenregel (f / g)´ = (f ´·g - g´·f)/g2 Kettenregel f(g)´ = f ´(g) · g´ Ableitungen spezieller Funktionen
Integration Auch für die Integration gibt es Algorithmen, welche entscheiden, ob ein Integral eine elementare Funktion ist. Die übliche Methode zur rationalen Integration benötigt eine reelle Faktorisierung des Nenners und ist daher kein guter Algorithmus. Der Risch-Algorithmus und seine Verwandten sind erheblich komplizierter, verwenden aber nur quadratfreie Faktorisierungen.
Vereinfachung Rationale Funktionen lassen sich durch Bestimmung des ggT vereinfachen. Trigonometrische Polynome lassen sich durch Anwendung der Additionstheoreme vereinfachen. Man kann zeigen, dass es für allgemeine Terme keinen generellen Vereinfachungsalgorithmus geben kann.
Das Hofstadterproblem Hofstadters geometrische Vermutung ist richtig, wenn die Determinante der Matrix gleich 0 ist, sofern + + = ist.
Reihenentwicklungen In der speziellen Relativitätstheorie ergibt sich die Energie aus der Formel Wie erhält man hieraus die klassische Formel ?