Computeralgebrasysteme

Überblick

Ein Computeralgebrasystem (abgekürzt: CAS, gesprochen: „C-A-S“, manchmal auch „Kass“) ist ein Computerprogramm, das symbolische Berechnungen wie beispielsweise das formale Lösen von Gleichungen und Ungleichungen einschließlich nötiger Termumformungen und auch das formale Differenzieren und Integrieren ermöglicht. Solche symbolischen Umformungen, auch Formelmanipulationen genannt, basieren auf entsprechenden Kalkülen aus der Algebra und der Analysis (die daher im Englischen auch Calculus genannt wird), die mit Regelsystemen beschreibbar sind, die letztlich auch Grundlage zielgerichteter händischer Bearbeitung sind. Derartige Regelsysteme werden in der Computeralgebra formuliert und untersucht. Heutige CAS haben in aller Regel einen Funktionenplotter integriert, der allerdings nicht zur Computeralgebra gehört.
Entsprechend der Definition der Fachgruppe Computeralgebra gemäß dem Computeralgebra-Handbuch gilt:

Die Computeralgebra ist ein Wissenschaftsgebiet, das sich mit Methoden zum Lösen mathematisch formulierter Probleme durch symbolische Algorithmen und deren Umsetzung in Soft- und Hardware beschäftigt. Sie beruht auf der exakten endlichen Darstellung endlicher oder unendlicher mathematischer Objekte und Strukturen und ermöglicht deren symbolische und formelmäßige Behandlung durch eine Maschine. Strukturelles mathematisches Wissen wird dabei sowohl beim Entwurf als auch bei der Verifikation und Aufwandsanalyse der betreffenden Algorithmen verwendet. Die Computeralgebra kann damit wirkungsvoll eingesetzt werden bei der Lösung von mathematisch modellierten Fragestellungen in zum Teil sehr verschiedenen Gebieten der Informatik und Mathematik sowie in den Natur- und Ingenieurwissenschaften. [1]

Zur Geschichte

Als erstes CAS gilt das seit den 1960er Jahren entwickelte Programm Macsyma, das nun als Open-Source-Version unter dem Namen Maxima weiterentwickelt wird. In den 1970er Jahren kam muMATH hinzu und Ende der 1980er Jahre Mathematica und Derive. Heute gibt es eine Fülle unterschiedlicher CAS. Noch um 1990 herum war statt Computeralgebrasystem auch die Bezeichnung Formelmanipulationssystem üblich.

Grundsätzliche Eigenschaften

Die heute verfügbaren Computeralgebrasy­ste­­me können in zwei grund­sätzlich zu unter­­­scheidenden Betriebsarten verwendet wer­den: [2]

  • NG: Numerisch-Graphischer Modus
  • ST: Symbolischer Term-Modus

Der NG-Modus bezieht sich auf die Optionen eines guten Taschenrechners und eines Funk­tionenplotters, betrifft also noch nicht die Computeralgebra (s. o.), während der ST-Modus das eigentlich Neue, nämlich die sog. „Computeralge­bra“, betrifft.

Die von einem CAS verarbeiteten Objekte sind mathematische Terme, die als Bestand­­teile von Formeln (Gleichungen, Ungleichungen) auftreten.

Terme lassen sich in beliebigen algebraischen Strukturen rekursiv definieren, etwa im Körper der reellen Zahlen:

(i) Jedes Zahlzeichen für eine reelle Zahl ist ein Term.
(ii) Jede Variable ist ein Term.
(iii) Sind   und   Terme, so auch  ,  ,   und  ÷  (Letzteres unter Beachtung von   nicht identisch gleich  ).
(iv) Ist   ein Term, so auch ( ).

Und es könnte dann z. B. hinzukommen:

(v) Ist   eine reelle Funktion und   ein Term, so ist auch   ein Term.

Bei einem CAS können dann Terme in folgenden fünf Formen auftreten:

(1) Kanonische Zeichen für Zahlen (Integer, Festkomma, Gleitkomma).
(2) Zahlenpaare und Zahlen-Tripel, in der Ausgabe üblicherweise dargestellt als Punkte in der Ebene bzw. im Raum.
(3) Funktionszeichen (arithmetische Operatoren, Quadratwurzel, Bruchstrich, Exponentiation, Fakultät usw.) zur Bildung von Termen, dazu auch Funktionenverkettung und Konstanten.
(4) Wichtige Erweiterungen des Termbe­griffs durch Verwendung von Variablen für Zahlen, Zahlenpaare, Vektoren, Matrizen, ...
(5) Eine weitere Erweiterung des Termbe­griffs mittels Funktionsvariablen und durch Operatoren (Differentialoperator, Integraloperator, Summenzeichen, ...).

Wenn ein CAS im NG-Modus genutzt wird, so geschieht dies weitgehend im Bereich von (1) bis (3), wobei aber auch (4) und (5) nicht ausgeschlossen sind. Das CAS wird dann im Prinzip nur wie ein programmierbarer Taschenrechner genutzt, der bei Verwendung von (2) über ein Graphik-Display verfügt. Dabei laufen intern Rechenprogramme ab, die auch umfangreiche Numerik-Algo­rith­men benutzen können, z. B. Verfahren zur Null­stel­len­be­stimmung, zur numerischen Dif­fe­­rentiation oder Integration, ferner Inter­po­la­tions- und Approximations-Algorithmen.

Das numerische Lösen von Gleichungen, das Darstellen von Funktionsgraphen mit einem integrierten Funktionenplotter und die Anwendung von Operationen und Optionen wie approx sind Indizien dafür, dass ein CAS im NG-Modus arbeitet (und hierfür benötigt man eigentlich gar kein Computeralgebrasystem). Das Wesentliche und zugleich Revolutionäre am CAS ist die Möglichkeit symbolischen Rechnens, also des Verarbeitens von Termen im Sinne von (4) und (5), und dies ist zugleich der Kern des ST-Modus. Die Terme werden dabei wie Elemente einer formalen Sprache textlich verarbeitet. Wesentlich und unverzichtbar sind dabei

  • Algorithmen zur Analyse der Eingabeterme und
  • die Benutzung von Daten- und Methoden-Banken zwecks Bereitstellung geeigneter Verarbeitungsalgorithmen.

Damit gehört die­se Art der Verarbeitung in einen zentralen Pro­blem­bereich der Informatik, nämlich in den der Syntaxanalyse (Par­sing) for­maler Sprachen. Die hier auftretenden for­malen Sprachen sind sog. kontextfreie Sprachen (context free languages – CFL). Insbesondere sog. Baumstruk­turen kön­­nen im Rah­­­men der CFL-Theorie sinnvoll behandelt werden. Baum­struk­­turen spielen bei der Definition von „Term“ eine unentbehrliche Rolle, und sie haben auch Eingang in die Mathematikdidaktik gefunden, um mit ih­rer Hilfe den hierarchischen Aufbau von Ter­men verstehen zu können.

Literatur

Anmerkungen

  1. Aus: http://www.fachgruppe-computeralgebra.de/allgemeines/
  2. Vgl. [Oberschelp 1996], dargestellt auch in [Hischer 2002, 262 ff.].


Der Beitrag kann wie folgt zitiert werden:
Horst Hischer (2018): Computeralgebrasysteme. Version vom 4.04.2018. In: dev_madipedia. URL: http://dev.madipedia.de/index.php?title=Computeralgebrasysteme&oldid=29814.