Computer-Mathematik: 
Abstieg oder Aufstieg?

Bruno Buchberger
Research Institute for Symbolic Computation
Johannes Kepler Universität, Linz, Österreich

Vortrag am 23. Mai 2002
am Institut für Wissenschaftliches Rechnen (IWR) in Heidelberg

Copyright Bruno Buchberger: Copying is permitted under the condition that 
- the file is kept unchanged 
- in particular, the copyright note is included, and
- a note is sent to buchberger@risc.uni-linz.ac.at

Computer-Mathematik: Mathematik auf Knopfdruck

Mathematik als Trauma

Die Überwindung des Schultraumas

N[(Sqrt[2])]

"Numerisch" rechnen! Am Taschenrechner.

N[(Sqrt[2]), 200]

"Numerisch" rechnen! In einem mathematischen Software-System.

3/17 + 15/7

"Algebraisch" rechnen? In einem mathematischen Software-System mit "Computer-Algebra".

Simplify[(Sqrt[2]) + 3/(Sqrt[2])]

D[Sin[(Sqrt[x - (E^x)])] (x^2), x]

"Symbolisch" rechnen? In einem mathematischen Software-System.

In mathematischen Software-Systeme wie Mathematica, Derive, Maple, Magma, Macsyma etc. kann man heute numerisch, algebraisch, symbolisch, graphisch rechnen.

Symbolic Computation ⊇ Algebraic Computation ⊇ Numeric Computation.

Die Überwindung des Universitätstraumas

DSolve[{y[x] == -z'[x], z[x] == -y'[x]}, {y, z}, x]

Symbolisch rechnen.

sol=DSolve[{y[x] == -z'[x], z[x] == -y'[x],y[0]==1,z[0]==2}, {y, z}, x]

Numerisch auswerten:

Plot[(y /. sol[[1, 1]])[x], {x, 0, 5}]

Plot[(z /. sol[[1, 2]])[x], {x, 0, 5}]

Packages verwenden, z.B. für Wavelet-Transformationen: siehe Bilder.

Woher kommen gute Wavelet-Funktionen?

F. Chazak, P. Paule, O. Scherzer, A. Schoisswohl, B. Zimmermann.
The Construction of Orthonormal Wavelets Using Symbolic Methods and a Matrix Analytic Approach for Wavelets on the Interval. Erscheint n Experimental Mathematics.

Algebraisch rechnen mit "Gröbner Basen":  N algebraische Gleichungen in N Unbekannten (Subscript[Q, o,]) ... , (Subscript[Q, N - 1]):

Clear[W]
W[N_, 0] := (∑_(j = 0)^(N - 1))((Subscript[Q, j])/(2^j)) - 
          (1/(2^(2  N - 2)));
W[N_, 
        l_] := (∑_(i = 0)^(N - 1))(∑_(j = 0)^(N - 1))Binomial[4  N - i - j - 2, 2  N + 2  l - i - 1] (Subscript[Q, i]) 
            (Subscript[Q, j])

Table[W[1, l], {l, 0, 0}]

Table[W[2, l], {l, 0, 1}]

W3 = Table[W[3, l], {l, 0, 2}]

GroebnerBasis[W3, {(Subscript[Q, 2]), (Subscript[Q, 1]), (Subscript[Q, 0])}]

Solve[-9 + 96 (Subscript[Q, 0]) + 1536 (Subscript[Q, 0]^2) + 4096 (Subscript[Q, 0]^3) - 
          16384 (Subscript[Q, 0]^4) == 0, (Subscript[Q, 0])]

N[%]

W5 = Table[W[5, l], {l, 0, 4}]

GroebnerBasis[W5, {(Subscript[Q, 4]), (Subscript[Q, 3]), (Subscript[Q, 2]), (Subscript[Q, 1]), (Subscript[Q, 0])}]  // 
      Timing

Solve[-2251875390625 + 131766880000000 (Subscript[Q, 0]) + 
          57826836480000000 (Subscript[Q, 0]^2) + 4000515620864000000 (Subscript[Q, 0]^3) - 
          92455465857843200000 (Subscript[Q, 0]^4) - 15136683834621296640000 (Subscript[Q, 0]^5) + 
          321980633234202951680000 (Subscript[Q, 0]^6) + 
          26004063471614140874752000 (Subscript[Q, 0]^7) - 
          1518069903629532971139072000 (Subscript[Q, 0]^8) + 
          24345747195367204805253529600 (Subscript[Q, 0]^9) + 
          282223732589035180835156787200 (Subscript[Q, 0]^10) - 
          12421567725441961014604993658880 (Subscript[Q, 0]^11) - 
          71032999454195120173711747973120 (Subscript[Q, 0]^12) + 
          2877566862518080741397516276203520 (Subscript[Q, 0]^13) + 
          38942226439011207213978722469150720 (Subscript[Q, 0]^14) + 
          83076749736557242056487941267521536 (Subscript[Q, 0]^15) - 
          1329227995784915872903807060280344576 (Subscript[Q, 0]^16) == 0, 
      (Subscript[Q, 0])]

NSolve[-2251875390625 + 131766880000000 (Subscript[Q, 0]) + 
          57826836480000000 (Subscript[Q, 0]^2) + 4000515620864000000 (Subscript[Q, 0]^3) - 
          92455465857843200000 (Subscript[Q, 0]^4) - 15136683834621296640000 (Subscript[Q, 0]^5) + 
          321980633234202951680000 (Subscript[Q, 0]^6) + 
          26004063471614140874752000 (Subscript[Q, 0]^7) - 
          1518069903629532971139072000 (Subscript[Q, 0]^8) + 
          24345747195367204805253529600 (Subscript[Q, 0]^9) + 
          282223732589035180835156787200 (Subscript[Q, 0]^10) - 
          12421567725441961014604993658880 (Subscript[Q, 0]^11) - 
          71032999454195120173711747973120 (Subscript[Q, 0]^12) + 
          2877566862518080741397516276203520 (Subscript[Q, 0]^13) + 
          38942226439011207213978722469150720 (Subscript[Q, 0]^14) + 
          83076749736557242056487941267521536 (Subscript[Q, 0]^15) - 
          1329227995784915872903807060280344576 (Subscript[Q, 0]^16) == 0, 
      (Subscript[Q, 0])]

W6 = Table[W[6, l], {l, 0, 5}]

GroebnerBasis[W6, {(Subscript[Q, 5]), (Subscript[Q, 4]), (Subscript[Q, 3]), (Subscript[Q, 2]), (Subscript[Q, 1]), (Subscript[Q, 0])}];  // 
      Timing

W7 = Table[W[7, l], {l, 0, 6}]

GroebnerBasis[W7, {(Subscript[Q, 6]), (Subscript[Q, 5]), (Subscript[Q, 4]), (Subscript[Q, 3]), (Subscript[Q, 2]), (Subscript[Q, 1]), (Subscript[Q, 0])}];  // 
      Timing

Kann man darüber etwas beweisen? Laden Sie ein anderes Package!

Die Überwindung des Intelligenztraumas

Initialisierung von Theorema :

Needs["Theorema`"];

Beispiel eines computer-generierten Beweises:

Definition[\("limit", 
	∀ \+\(f, a\)limit[f, 
            a]⟺\ \(\(∀ \+ϵ\)\+\(ϵ > 0\)\(∃ \+N\(\(∀ \+n\)\+\(n ≥ N\)\[LeftBracketingBar]f[n] - a\[RightBracketingBar] < ϵ\)\)\)\)]

Proposition[\("limit of sum", 
      any[f, a, g, 
        b], 
	
	\((limit[f, a] ∧ 
            limit[g, b])\)⟹limit[f + g, a + b]\)]

Definition[\("+:", 
      any[f, g, x], 
	\((f + g)\)[x] = f[x] + g[x]\)]

Lemma[\("|+|", 
      any[x, y, a, 
        b, δ, ϵ], 
	\((\[LeftBracketingBar]\((x + 
                    y)\) - \((a + 
                    b)\)\[RightBracketingBar] < \((δ + ϵ)\))\)\ \ \ \ ⟸\ \ \ \((\[LeftBracketingBar]x - a\[RightBracketingBar] < δ ∧ \[LeftBracketingBar]y - 
                  b\[RightBracketingBar] < ϵ)\)\)]

Lemma[\("max", any[m, M1, M2], 
	
      m ≥ 
          max[M1, M2]\ \ \ \ \  \[Implies] \ \ \ \ \ \((m ≥ 
              M1 ∧ m ≥ M2)\)\)]

Theory["limit",
	({{Definition["limit"]}, {Definition["+:"]}, {Lemma["|+|"]}, {Lemma["max"]}})]

The PCS prover:  A heuristic proof method (by Bruno Buchberger 2000) for predicate logic.

Generates "natural" proofs.

For formulae with alternating quantifiers.

The proof of the above theorem (and hundreds of other theorems in analysis) can now be generated completely automatically by calling the PCS prover:

Prove[Proposition["limit of sum"], 
      using -> Theory["limit"], by -> PCS]

The proof generated completely automatically by the above call of the PCS algorithm is shown below:

---------------------------------------------------------------------

Beispiel eines computer-erfundenen Satzes mit Beweis:

Gosper-Zeilberger-Paule-prover: Beispiel aus P. Paule,  Computer-Solution of Problem 94-2, SIAM REVIEW Vol.37 (1995), 105-106.

Formula[\("SIAM series", 
	∑\+\(k = 1, …, n\)\(\(\((\(-1\))\)\^\(k + 1\)\) \((4\ k + 1)\) \(\((2\ k)\)!\)\)\/\(\(2\^k\) \((2\ k - 1)\) \(\((k + 1)\)!\) \(2\^k\) \(k!\)\)\)]

Simplify[Formula["SIAM series"], 
      by -> PauleSchorn–Telescope, 
      built–in -> Built–in["PauleSchorn"]]

Prove[Formula["SIAM series"], 
      by -> PauleSchorn–Telescope, 
      built–in -> Built–in["PauleSchorn"]]

System`FullSimplify[(((((((-1))^(1+k)) (2^(1-2 (1+k))) (2 (1+k))! (2+k))/((1+k)! (2+k)! (-1+2 (1+k))))-(((((-1))^k) (2^(1-2 k)) (2 k)! (1+k))/(k! (1+k)! (-1+2 k))))/((-(((-1))^k) (2^(-2 k)) (2 k)! (1+4 k))/(k! (1+k)! (-1+2 k))))]

Zusammenfassung

100 % der Schulmathematik und 90 % der Vordiplom-Mathematik sind "auf Knopfdruck" verfügbar.

Mehr als die besten Mathematiker in ihrem Kopf zur Verfügung haben, hat jetzt jeder Laie in seinen Händen zur Verfügung.

Ist die Mathematik damit zu Ende? Werden wir Mathematiker uns bald selbst wegrationalisiert haben?

Computer-Mathematik: Triviale oder trivialisierte Mathematik?

Antwort auf obige Fragen müsste eigentlich für alle Mathematiker selbstverständlich sein.

Ist es aber nicht!

Antwort der Puristen:

Computer-Mathematik ist trivial. 

Hände weg von den mathematischen Software-Systemen!

Antwort der Populisten:

Trivialisierte Mathematik braucht nicht mehr unterrichtet zu werden, sondern nur mehr als "Black-Box" benutzt zu werden.

Hände weg von der trivialisierten Mathematik!

Das Ziel der Mathematik war es schon immer, sich selbst zu "trivialiseren":

Ein nicht-trivialer Satz (mit nicht-trivialem Beweis) auf einer höheren Ebene

trivialisiert ("erschlägt")

unendlich viele Instanzen eines Problems auf einer niedrigeren Ebene.

Das Computer-Zeitalter unterscheidet sich von früheren Zeiten der Mathematik nur dadurch, dass der Begriff des "Erschlagens" eine viel genauere Bedeutung hat.

Je algorithmischer die Mathematik wird, umso mehr Mathematik brauchen wir!

Warum?

Beispiel: Existenzbeweis für Gröbner-Basen.

Die "Trivialisierung der Mathematik" ist nur durch die enormen Fortschritte in dem Bereich der Mathematik, den man  "Computer-Mathematik" (mit vielen Teilgebieten) nennt, möglich geworden.

Konsequenz für die "Soziologie" der Mathematik:

Die "reinsten" und besten Mathematiker mögen sich um die Computer-Mathematik kümmern.

Konsequenz für die "Philosophie" der Mathematik:

Die Algorithmisierung der Mathematik ist niemals abgeschlossen:

Die Mathematiker haben bewiesen (!), dass sie niemals wegrationalisiert werden können.

Konsequenz für die "Politik" der Mathematik:

Wenn sich die Mathematik in aller Stille vom Computer verabschiedet, gibt sie sich selbst auf.

Konsequenz für die "Didaktik" der Mathematik:

Es ist naiv, den Computer aus dem Mathematik-Unterricht zu verbannen.

Es ist genauso naiv, den Computer an jeder Stelle in den Mathematik-Unterricht hineinzupressen.

Balance: Das "White-Box / Black-Box Prinzip".

Computer-Mathematik: Schlüsseltechnologie?

Mathematik ist nicht am Ende, sondern so dynamisch wie noch nie.

Gerade die Algorithmisierung beschert der Mathematik einen neuen Anfang und ihre Erfüllung.

Die Algorithmisierung der Mathematik ist die Selbstanwendung der Mathematik auf sich selbst.

Selbstanwendung ist das Wesen der Intelligenz.

In der Algorithmisierung der Mathematik liegt enorme Schubkraft:

Als Forschungsmittel.

Als Forschungsziel.

Als Problemlöseinstanz für die Realwissenschaften.

Als didaktisches Werkzeug.

Als Motor für formale Bildung.

(Computer-)Mathematik ist im "Auge des Hurrikans" der technologischen Entwicklungsspirale:

(Computer-)Mathematik: Die Automatisierung der Denktechnologie.

(Computer-)Mathematik ist eine (die?) Schlüsseltechnologie des Informations- und Kommunikationszeitalters.

Einige politische Konsequenzen:

Die Kraft der heutigen ökonomischen Entwicklung kommt nicht (nur) aus dem Schalten und Walten der Wirtschaftsexperten und Politiker, sondern aus der Kreativität der technischen Disziplinen, in deren Kern die Denktechnologie der Mathematik steht.

Es ist heute so motivierend wie nie, sich als junger Mensch auf das Abenteuer Mathematik-basierter Technik einzulassen.

Die (Computer-)Mathematik lebt in der Spannung zwischen theoretischer Tiefe und praktischer Schlagkraft, in der Welt der internationalen akademischen Forschung genauso wie in der Welt der heißesten IKT-Firmen. Gerade die besten Studenten sollten sich motiviert fühlen, in diesem Gebiet eine Karriere aufzubauen.

Den politisch Verantwortlichen muss klar (gemacht) werden, wo die Kraftquelle für den technologischen Fortschritt und die wirtschaftliche Entfaltung sitzt und wie diese lebendig erhalten werden kann.

Es ist modern geworden, in den Forschungsförderungsprogrammen die "Anwendungen" zu entdecken. So wichtig das ist, wird der Bogen heute oft überspannt. Die treibende Kraft im "Auge des Hurrikans" ist und bleibt das immer feinere Verständnis der Struktur der Natur und die immer wirkungsvollere Beherrschung der wissenschaftlichen Denktechnologie, deren Konzentrat die Mathematik und heute die sich selbst automatisierende Mathematik ist.

Referenzen

Der Inhalt dieses Vortrags wurde publiziert in:

B.Buchberger, 2000.
Computer-Algebra: Das Ende der Mathematik? Mitteilungen der Deutschen Mathematiker-Vereinigung, 2/2000, S. 16-19.

Das White-Box / Black-Box Prinzip wurde eingeführt in:

B.Buchberger, 1990.
Should Students Learn Integration Rules? SIGSAM Bulletin Vol.24/1,pp.10-17,1990.