Ü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 [1] ist Computeralgebra 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.

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 T1 und T2 Terme, so auch T1 + T2, T1T2, T1×T2, T1÷T2.

(iv) Ist T ein Term, so auch (T).

(v) Und es könnte dann z. B. hinzukommen: Ist f eine reelle Funktion und T ein Term, so auch f(T).

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.

(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.


Siehe auch

Weblinks

Literatur

  1. http://www.fachgruppe-computeralgebra.de/cms/tiki-index.php?page=Fachgruppe+Computeralgebra
  2. Basierend auf Oberschelp, Walter (1996): Computeralgebrasysteme als Implementierung symbolischer Term­algorithmen. In: Hischer, Horst & Weiß, Michael (Hrsg.) (1996): Rechenfertigkeit und Begriffsbildung — Zu wesentlichen Aspekten des Mathematikun­terrichts vor dem Hintergrund von Computeralgebrasystemen. Hildesheim: Franzbecker, S. 31 – 37. Dargestellt auch in Hischer, Horst (2002): Mathematikunterricht und Neue Medien. Hintergründe und Begründungen in fachdidaktischer und fachübergreifender Sicht. Hildesheim: Franzbecker, S. 262 ff.


Der Beitrag kann wie folgt zitiert werden:
Madipedia (2012): Computeralgebrasysteme. Version vom 25.08.2012. In: madipedia. URL: http://madipedia.de/index.php?title=Computeralgebrasysteme&oldid=7549.