Direkt zum Inhalt

Computeralgebra - symbolisches und exaktes Rechnen


Die Hochleistungsrechner überbieten einander in der Anzahl der Gleitkommazahlen, die sie pro Sekunde addieren oder multiplizieren können. Die Simulation von Crashtests bei der Entwicklung von Automobilen und die Wettervorhersage gehören zu den eindrucksvollsten Ergebnissen solch massenhafter Anwendung elementarer arithmetischer Operationen.

Oft verliert man aber aus dem Auge, daß dabei nicht etwa die Lösung einer Differentialgleichung – der mathematischen Beschreibung zum Beispiel eines Zusammenstoßes oder des Wetters – berechnet wird, sondern nur eine Annäherung, deren Qualität zudem häufig kaum zu bestimmen ist. Außerdem arbeiten solche numerischen Rechnungen in aller Regel mit beschränkter Ziffernanzahl, wodurch zusätzlich Rundungsfehler entstehen, die nur mit ausgeklügelten Verfahren unter Kontrolle zu bringen sind.

Andererseits vermag man der Lösung mancher Probleme mit algebraischen Mitteln sehr viel näher zu kommen, als bislang üblicherweise versucht wird – bis hin zur vollständigen Angabe einer Lösung durch eine geschlossene Formel. Das ist ungleich wertvoller als jedes numerische Ergebnis, das immer nur Einzelbeispiel sein kann, aber für einen Menschen mit Bleistift und Papier viel mühsamer als das Programmieren eines numerischen Verfahrens. Jeder, der selbst Integrale in einer Abituraufgabe bestimmt oder die Ableitung eines komplizierten Ausdrucks ausgerechnet hat, weiß, wie fehleranfällig solche Rechnungen sind und wie schnell man an die Grenzen des Machbaren stößt.

In den letzten Jahren haben nun die Computeralgebra-Systeme zu einem Siegeszug durch Natur-, Ingenieur- und Wirtschaftswissenschaften angesetzt. Sie erlauben das Rechnen mit Symbolen und exakten, beliebig langen Zahlen auf allen Computern vom Laptop bis zum Hochleistungsgerät. Traditionelle Abituraufgaben wie etwa die Kurvendiskussion aus der Differential- und Integralrechnung sind mühelos mit einem solchen System zu erledigen. Schüler und Studenten können, von der sturen Rechenarbeit entlastet, Konzepten und Anwendungen mehr Zeit widmen und auf eine vorher nicht denkbare Weise mit Mathematik experimentieren. Das erfordert zwar intensive und andersartige Vorbereitung des Unterrichts, der dann aber faszinierender und erfolgreicher sein wird. Allein im Bildungswesen beobachte ich einen Umbruch, der an Qualität und Bedeutung die Einführung des Taschenrechners weit übertreffen wird.

Technische Innovation – Rückkehr zur Bruchrechnung

Warum hat man sich nicht schon seit der Anfangszeit der Computer in den fünfziger und sechziger Jahren bei symbolischen und exakten Rechnungen unterstützen lassen? Es fehlte nicht an Ideen und Visionen. Bereits im letzten Jahrhundert schrieb Ada Augusta Countess of Lovelace (1815 bis 1852), Freundin und Mäzenin des Computerpioniers Charles Babbage (1791 bis 1871), über dessen "Analytische Maschine" (vergleiche Spektrum der Wissenschaft, April 1993, Seite 78): "Viele Menschen glauben, diese Maschine hätte ihre Ergebnisse in Zahlenform abzuliefern, und dementsprechend müsse ihre Arbeitsweise arithmetisch und numerisch sein statt algebraisch und analytisch. Das ist ein Irrtum. Die Maschine kann numerische Größen genau so anordnen und kombinieren, als wären es Buchstaben oder andere, allgemeine Symbole; in der Tat könnte sie ihre Ergebnisse in algebraischer Form ausgeben, wenn geeignete Vorkehrungen getroffen würden." Doch konnte in den ersten Jahren und Jahrzehnten die Computertechnik nicht die hohen Anforderungen des symbolischen Rechnens an Speicher- und Prozessorkapazität erfüllen, während nun die rasante Entwicklung der Hardware eine ebensolche der Computeralgebra erlaubt.

Algebraische Berechnungen und Rundungsfehler sollten eigentlich nichts miteinander zu tun haben. Aber ein Ergebnis ist nur so gut wie sein ungenauestes Glied, und schon eine einzige der üblichen Computerzahlen mit beschränkter Stellenzahl verspielt unter Umständen den Genauigkeitsvorteil der symbolischen Rechnung. Also heißt es, bei nicht-ganzen Zahlen von der üblichen Gleitkommadarstellung (mit begrenzter Stellenzahl) zur Bruchrechnung zurückzukehren. Solange Zähler und Nenner ganze Zahlen sind, gibt es keine Rundungsfehler. Allerdings können diese Zahlen sehr groß werden. Der Kern eines jeden Computeralgebra-Systems ist deshalb eine Arithmetik für das Rechnen mit beliebig langen ganzen Zahlen.

Ein Bruch ist nichts als eine unausgeführte Divisionsanweisung. Gleichwohl kann man mit Brüchen rechnen, und durch Erweitern und Kürzen fügt es sich manchmal so günstig, daß die nie ausgeführte Division am Ende relativ harmlos ist oder sich gänzlich erübrigt.

Nun enthalten algebraische Rechnungen außer den Zahlen auch Buchstaben, Stellvertreter für Zahlen (oder kompliziertere Objekte), die noch unbekannt sind oder die man vorläufig unbestimmt lassen möchte. Formal gesehen ist ein algebraischer Ausdruck, der eine Unbestimmte enthält, ebenfalls eine unausgeführte – und vorläufig unausführbare – Rechnung; gleichwohl kann man ihn mit seinesgleichen verknüpfen und Umformungen vornehmen:

((Formel 1)).

Dabei ist es im allgemeinen belanglos, was man sich unter den Buchstaben vorstellt; der Rechner stellt sich ohnehin nichts vor.


Datentypen und Verfahren

Wenn man ganze Zahlen, Buchstaben und sonstige Symbole durch Addieren, Subtrahieren, Multiplizieren und Dividieren – außer durch Null – verknüpfen kann, und sei es, daß das Ergebnis einer solchen Operation nichts weiter ist als ein neuer algebraischer Ausdruck, dann nennt man die Menge aller so erzeugbaren Ausdrücke einen Körper. Dabei genügt es, Addition und Multiplikation so zu definieren, daß die üblichen Rechengesetze eingehalten werden. Computeralgebra besteht zu einem wesentlichen Teil aus Rechnen in abstrakten Körpern. Dazu zählen insbesondere endliche Körper (die also im Gegensatz zum Körper der rationalen oder dem der reellen Zahlen nicht unendlich viele Elemente haben); sie sind in der Kryptographie und der Codierungstheorie von großer Bedeutung. Ein Polynom ist ein Ausdruck, in dem Unbestimmte wie x und y sowie gewöhnliche Zahlen ausschließlich durch Addition, Subtraktion und Multiplikation verknüpft werden, wie zum Beispiel in der obigen Formel. Ein Bruch, dessen Zähler und Nenner Polynome sind, heißt eine rationale Funktion; die rationalen Funktionen bilden ebenfalls einen Körper, der für die Computeralgebra von fundamentaler Bedeutung ist. Entsprechend gibt es in Computeralgebra-Systemen den Datentyp "rationale Funktion", ebenso wie zu klassischen Programmiersprachen der Datentyp "ganze Zahl" gehört. Weiter gehören zum üblichen Leistungsumfang Ausdrücke in elementaren Basisfunktionen, insbesondere Logarithmen (Beispiel: log(x+2y) ), Exponentialfunktionen (ea+ib), trigonometrischen (sin(a+PI /3) ) und algebraischen Funktionen (SQRT(x2+1)) oder tan(arctan(x)/5) (siehe den nebenstehenden Kasten), das Differenzieren (Bestimmen der Ableitung einer Funktion) sowie zusammengesetzte Operationen wie das Rechnen mit Potenzreihen und Matrizen. Die verschiedenen Systeme setzen hier durchaus unterschiedliche Schwerpunkte. Über diese mehr oder weniger grundlegenden Werkzeuge hinaus bieten manche Systeme vorgefertigte Verfahren zur Lösung komplexerer Probleme. Dazu zählt das Faktorisieren (Zerlegen in Primfaktoren) sehr großer ganzer Zahlen; auf dem Umstand, daß das um Größenordnungen schwieriger ist als das Multiplizieren, beruht die Sicherheit einer großen Klasse von Kryptosystemen. Erstaunlicherweise ist die analoge Operation für Polynome konzeptionell einfacher. Das elementarste Problem dieser Art ist eine beliebte Schulaufgabe: die quadratische Gleichung. Allerdings muß man dabei möglicherweise den Körper der rationalen Zahlen erweitern, und zwar um diese oder jene Quadratwurzel. (Für ein Computeralgebra-System ist die Quadratwurzel von 2 nicht etwa der Dezimalbruch 1,414..., sondern ein abstraktes Symbol, zum Beispiel a, für das die Rechenregel a2=2 gilt. Entsprechendes gilt für Wurzeln höherer Ordnung.) Man findet aber auch Lösungen – wenn sie überhaupt durch Wurzeln darstellbar sind – für Gleichungen höherer als zweiter Ordnung und für Systeme derartiger Gleichungen mit mehreren Unbekannten. Ein zentrales theoretisches Konzept dafür heißt Gröbner-Basis und das Lösungsverfahren Buchberger-Algorithmus; erst durch die Rechenleistung des Computers wurde es für andere als die einfachsten Fälle überhaupt praktikabel. Das Gebiet ist von großer praktischer Bedeutung: Neue, auf Gröbner-Basen gestützte Techniken erlauben die Konstruktion von Robotern, die bislang nicht realisierbar waren, bis hin zu einer Maschine zum Krabbenpulen. Weitere wesentliche Anwendungsgebiete sind das Integrieren, das heißt das Auffinden von elementaren Stammfunktionen elementarer Funktionen (siehe den Beitrag von Ralf Kraume), das Lösen von Differentialgleichungen (siehe die Beiträge von Fritz Schwarz und Benno Fuchssteiner), aber auch Spezialthemen wie die computergerechte Modellierung von Gruppen als Permutations- oder Matrixgruppen.

Die wichtigsten Systeme

Die Computeralgebra-Systeme REDUCE und DERIVE basieren – nomen est omen – auf Term-Ersetzungsregeln (siehe den nebenstehenden Kasten). REDUCE hat eine treue Benutzergemeinde und entwickelt sich solide weiter. DERIVE besticht dadurch, daß es seine Ergebnisse mit äußerst geringem Aufwand an Speicherplatz und Datenverwaltung erzielt.

Das System MATHEMATICA hat dank seiner Graphikfähigkeiten und einer geschickten Marketingstrategie die Computeralgebra so populär gemacht wie kein anderes. Zusammen mit MAPLE, das eine gut fundierte mathematische Konzeption hat und dessen Ensemble von Grundprogrammen (der sogenannte Kern) relativ klein und auf Anlagen verschiedenster Art leicht einsetzbar ist, liegt es in der Verbreitung an der Spitze. Moderne Konzepte aus der Informatik wie abstrakte Datentypen und objektorientiertes Design mit verschiedenen Vererbungsmechanismen sind charakteristisch für das System AXIOM.

Der Vater aller Computeralgebra-Systeme ist MACSYMA, dessen Zenit allerdings nach meiner Einschätzung schon überschritten ist. Diese sechs bilden die wichtige Gruppe der Allzwecksysteme, zu der mehr und mehr auch das an der Universität Paderborn entwickelte System MuPAD gezählt wird (siehe den Beitrag von Benno Fuchssteiner). Mit Ausnahme von DERIVE, das nur für PCs konzipiert ist, sind sie auf den meisten Rechnerarten verfügbar.

Außerdem gibt es eine Fülle von Spezialsystemen, die vorwiegend im akademischen Bereich eingesetzt werden. Das Spektrum der behandelten Probleme reicht von der Physik über Gruppentheorie, Zahlentheorie und algebraische Geometrie bis hin zur Konstruktion von Pflasterungen oder molekularen Strukturen. Der französische Astronom Jacques Laskar hat für seine Modellrechnungen zur Stabilisierungsfunktion des Mondes für das irdische Klima (Spektrum der Wissenschaft, September 1993, Seite 48) ein eigenes Spezialsystem entwickelt.

Es ist nicht einfach, die Qualität von Computeralgebra-Systemen vergleichend zu bewerten. Die Themen sind zu vielfältig, und man ist sich keineswegs darüber einig, welche Probleme so bedeutend und allgemein sind, daß sie als Vergleichsmaßstab taugen.

Typischerweise tritt ein Computeralgebra-System seinem Benutzer immer noch so gegenüber wie eines der klassischen Dialogsysteme, die (wie beispielsweise MS-DOS) zunehmend von fensterorientierten Betriebssystemen verdrängt werden. Der Benutzer gibt eine Befehlszeile ein, und das System antwortet mit dem Resultat. Alle Zeilen werden für späteren Zugriff numeriert. Das System akzeptiert als Eingabe auch mehrere Zeilen auf einmal und arbeitet diese Folge von Befehlen der Reihe nach ab. Aus der klassischen Programmierung geläufige Konzepte wie bedingte Verzweigungen und Schleifen sind ebenfalls realisiert; das System führt also auf Anforderung eine Folge von Befehlen auch mehrfach oder in abweichender Reihenfolge aus, wobei der Ablauf der Arbeit von Zwischenergebnissen abhängig gemacht werden kann.

Am Ende stehen in aller Regel ein oder mehrere algebraische Ausdrücke – allerdings nicht unbedingt in der Form, in der ein Anwender das Ergebnis am liebsten sieht. Die für die Mathematik typische ausgeklügelte Anordnung zahlreicher, teilweise exotischer Zeichen in verschiedenen Größen, Schriftarten und Positionen ist auf vielen Ausgabegeräten (Bildschirmen oder Druckern) nicht oder nur mit großem Aufwand zu realisieren; deswegen liefern die Algebraprogramme zunächst nur eine – meist relativ schwache – Imitation des mathematischen Formelsatzes.

Dafür bieten fast alle Systeme ihre Ergebnisse auch in einer Form an, die für TEX, das klassische Programm für mathematischen Formelsatz, geeignet ist. Auf diese Weise kann ein Ergebnis unmittelbar in eine wissenschaftliche Veröffentlichung einfließen. MAPLE bietet einen sehr direkten Zugang zu einer TEX-Darstellung am Bildschirm.

Da ein algebraischer Ausdruck auch als Rechenanweisung dienen kann, möchte man häufig diese Anweisungen – konkrete Zahlen für die Unbestimmten eingesetzt - in der üblichen (numerischen) Weise von einem Computer ausführen lassen. Dieses Zusammenspiel zwischen symbolischem und numerischem Rechnen ist für Anwendungen besonders interessant (siehe auch den Beitrag von Stefan Braun und Harald Häuser). Wenn man etwa statt eines numerischen Wertes für die Knicklast eines Konstruktionselements auf algebraischem Wege eine Formel entwickeln kann, die noch von gewissen Parametern des Bauteils abhängt, kann man in einem zweiten Schritt die Parameter numerisch so bestimmen, daß die Knicklast maximal wird; so findet man unter allen denkbaren Bauteilen dieser Art dasjenige, das die größte Belastung aushält, ohne einzuknicken. Fast alle Systeme liefern ihre Ergebnisse auf Wunsch auch als Programmfragmente in einer höheren Programmiersprache, in der Regel in Fortran oder C.

Schließlich möchte man meistens die Funktion, die man ausgerechnet hat, graphisch dargestellt sehen. Auch diese Möglichkeit bieten inzwischen alle Computeralgebra-Systeme. Ich rechne allerdings damit, daß in näherer Zukunft ein solches System keine eigene Graphik-Software enthalten, sondern Schnittstellen für unabhängige Graphiksysteme bereitstellen wird.

Die Entwicklung geht außerdem dahin, das symbolische Rechnen nicht isoliert, sondern möglichst eng eingebunden in die übrigen Tätigkeiten eines Computers zu betreiben. MATHEMATICA bietet eine Benutzungsoberfläche (ein sogenanntes Notebook), die Elemente verschiedenster Herkunft – Texte, Formeln, Graphiken und so weiter – gemeinsam verwaltet und präsentiert. In einer AXIOM-Datei können einzelne Teile auf andere verweisen (eine Hypertext-Struktur); spezielle Software macht aus der Datei eine Art automatisches Lexikon, indem es anstelle einer Fußnotennummer oder eines Verweispfeiles gleich die Stelle anzeigt, auf die verwiesen wird. Integriert ist auch ein Browser, das heißt ein Software-Werkzeug, mit dem man gezielt nach Funktionen, Datentypen und Informationen suchen kann. Das Software-Produkt MathSoft stellt dem Benutzer die Leistungen von MAPLE zusammen mit Numerik und Textverarbeitung auf einer Oberfläche zur Verfügung, die aus Tabellenkalkulationsprogrammen weiterentwickelt ist.

Auf diese Weise entwickeln sich die Computeralgebra-Systeme von Spezialwerkzeugen, die auf das symbolische Rechnen beschränkt waren, zum integralen Bestandteil universeller Computersysteme.

Literaturhinweise


– Computeralgebra-Systeme. Programme für Mathematik mit dem Computer. Von Ulrich Schwardmann. Addison-Wesley, Bonn 1995.

– Computeralgebra in Science and Engineering. Proceedings of a Conference, Zentrum für interdisziplinäre Forschung, Bielefeld 1994. Herausgegeben von Jochem Fleischer und anderen. World Scientific, Singapur 1995.

– Computeralgebra – eine Säule des Wissenschaftlichen Rechnens. Von Johannes Grabmeier in: it+ti, Informationstechnik und Technische Informatik, Heft 6, Seiten 5 bis 20, 1995.

– Computeralgebra in Deutschland. Bestandsaufnahme, Möglichkeiten, Perspektiven. Herausgegeben von der Fachgruppe Computeralgebra der GI, DMV, GAMM. Selbstverlag, Passau und Heidelberg 1993.

– Elektronisches Computeralgebra-Informationssystem der Fachgruppe Computeralgebra der GI, DMV, GAMM. Im World Wide Web unter http://www.uni-karlsruhe.de/~CAIS/.

– Computeralgebra-Rundbrief für Mitglieder der Fachgruppe Computeralgebra. Die Mitgliedschaft kostet zur Zeit 18 DM im Jahr; formlose Erklärung an die Geschäftsstelle der GI, Godesberger Allee 99, 53175 Bonn, e-mail: gibonn @gmd.de, genügt.


Aus: Spektrum der Wissenschaft 3 / 1996, Seite 88
© Spektrum der Wissenschaft Verlagsgesellschaft mbH

Schreiben Sie uns!

Beitrag schreiben

Wir freuen uns über Ihre Beiträge zu unseren Artikeln und wünschen Ihnen viel Spaß beim Gedankenaustausch auf unseren Seiten! Bitte beachten Sie dabei unsere Kommentarrichtlinien.

Tragen Sie bitte nur Relevantes zum Thema des jeweiligen Artikels vor, und wahren Sie einen respektvollen Umgangston. Die Redaktion behält sich vor, Zuschriften nicht zu veröffentlichen und Ihre Kommentare redaktionell zu bearbeiten. Die Zuschriften können daher leider nicht immer sofort veröffentlicht werden. Bitte geben Sie einen Namen an und Ihren Zuschriften stets eine aussagekräftige Überschrift, damit bei Onlinediskussionen andere Teilnehmende sich leichter auf Ihre Beiträge beziehen können. Ausgewählte Zuschriften können ohne separate Rücksprache auch in unseren gedruckten und digitalen Magazinen veröffentlicht werden. Vielen Dank!

Bitte erlauben Sie Javascript, um die volle Funktionalität von Spektrum.de zu erhalten.