Achtung: diese Seite wird nur zu Testzwecken betrieben. Hier gelangen Sie zur Madipedia-Website: https://madipedia.de

Computeralgebrasysteme: Unterschied zwischen den Versionen

Aus dev_madipedia
Zur Navigation springen Zur Suche springen
[unmarkierte Version][gesichtete Version]
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<small><small>Verfasst von [[Horst Hischer]]</small></small>
== Überblick ==
== Ü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.<br />
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.<br />
Entsprechend der Definition der '''Fachgruppe Computeralgebra''' <ref>http://www.fachgruppe-computeralgebra.de/cms/tiki-index.php?page=Fachgruppe+Computeralgebra</ref> gilt:
Entsprechend der Definition der [http://www.fachgruppe-computeralgebra.de/ '''Fachgruppe Computeralgebra'''] gemäß dem [http://www.fachgruppe-computeralgebra.de/ca-handbuch/ Computeralgebra-Handbuch] gilt:
:: 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. <ref>http://www.fachgruppe-computeralgebra.de/cms/tiki-index.php?page=Allgemeines</ref>  
:: 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. <ref>Aus: http://www.fachgruppe-computeralgebra.de/allgemeines/</ref>
 
==Zur Geschichte==
==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.
Als erstes CAS gilt das seit den 1960er Jahren entwickelte Programm '''Macsyma''', das nun als Open-Source-Version unter dem Namen [http://de.wikipedia.org/wiki/Maxima_(Computeralgebrasystem) '''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 ==
== Grundsätzliche Eigenschaften ==
Die heute verfügbaren Computeralgebrasy­ste­­me können in zwei grund­sätzlich zu unter­­­scheidenden Betriebsarten verwendet wer­den: <ref>Vgl. [Oberschelp 1996], dargestellt auch in [Hischer 2002, 262 ff.].</ref>
Die heute verfügbaren Computeralgebrasy­ste­­me können in zwei grund­sätzlich zu unter­­­scheidenden Betriebsarten verwendet wer­den: <ref>Vgl. [Oberschelp 1996], dargestellt auch in [Hischer 2002, 262 ff.].</ref>
* NG: Numerisch-Graphischer Modus   
* '''NG''': ''Numerisch-Graphischer Modus''    
 
<div id="Term"></div>
* ST: <div id="Term"></div>Symbolischer '''Term'''-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.
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.
Zeile 22: Zeile 23:
: (ii)    Jede Variable ist ein Term.
: (ii)    Jede Variable ist ein Term.


: (iii)    Sind ''T''<sub>1</sub> und ''T''<sub>2</sub> Terme, so auch ''T''<sub>1</sub> + ''T''<sub>2</sub>, ''T''<sub>1</sub> – ''T''<sub>2</sub>, ''T''<sub>1</sub>×''T''<sub>2</sub>, ''T''<sub>1</sub>÷''T''<sub>2</sub>.
: (iii)    Sind <math>T_1</math> und <math>T_2</math> Terme, so auch <math>T_1+T_2</math>, <math>T_1-T_2</math>, <math>T_1 \cdot T_2</math> und <math>T_1</math>&#x00F7;<math>T_2</math> (Letzteres unter Beachtung von <math>T_2</math> nicht identisch gleich <math>0</math>).


: (iv)    Ist  ''T'' ein Term, so auch (''T'').
: (iv)    Ist  <math>T_1</math> ein Term, so auch (<math>T_1</math>).


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


: (v)      Ist ''f'' eine reelle Funktion und ''T'' ein Term, so ist auch ''f''(''T'') ein Term.
: (v)      Ist <math>f</math> eine reelle Funktion und <math>T_1</math> ein Term, so ist auch <math>f(T)</math> ein Term.


Bei einem CAS können dann Terme in folgenden fünf Formen auftreten:
Bei einem CAS können dann Terme in folgenden fünf Formen auftreten:
Zeile 38: Zeile 39:
: (3) Funktionszeichen (arithmetische Operatoren, Quadratwurzel, Bruchstrich, Exponentiation, Fakultät usw.) zur Bildung von Termen, dazu auch Funktionenverkettung und Konstanten.
: (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, ...
: (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, ...).  
: (5) Eine weitere Erweiterung des Termbe­griffs mittels Funktionsvariablen und durch Operatoren (Differentialoperator, Integraloperator, Summenzeichen, ...).  
Zeile 49: Zeile 50:


* die Benutzung von Daten- und Methoden-Banken zwecks Bereitstellung geeigneter Verarbeitungsalgorithmen.
* 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.
Damit gehört die­se Art der Verarbeitung in einen zentralen Pro­blem­bereich der Informatik, nämlich in den der Syntaxanalyse ('''[http://de.wikipedia.org/wiki/Parser Par­sing]''') for­maler Sprachen. Die hier auftretenden for­malen Sprachen sind sog. kontextfreie Sprachen (context free languages  –  '''[http://de.wikipedia.org/wiki/Kontextfreie_Sprache CFL]'''). Insbesondere sog. '''[http://www.hs-augsburg.de/mebib/emiel/entw_inf/lernprogramme/baeume/gdi_kap_1bis3.html 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==
==Literatur==
* Oberschelp, Walter [1996]: Computeralgebrasysteme als Implementierung symbolischer Term­algorithmen. In: Hischer, Horst & Weiß, Michael (Hrsg.): Rechenfertigkeit und Begriffsbildung — Zu wesentlichen Aspekten des Mathematikun­terrichts vor dem Hintergrund von Computeralgebrasystemen. Hildesheim: Franzbecker 1996, S. 31–37.
* [http://de.wikipedia.org/wiki/Walter_Oberschelp Oberschelp, Walter] [1996]: Computeralgebrasysteme als Implementierung symbolischer Term­algorithmen. In: Hischer, Horst & Weiß, Michael (Hrsg.): Rechenfertigkeit und Begriffsbildung — Zu wesentlichen Aspekten des Mathematikun­terrichts vor dem Hintergrund von Computeralgebrasystemen. Hildesheim: Franzbecker 1996, S. 31–37.
* [[Horst Hischer|Hischer, Horst]] [2002]:  [http://www.horst.hischer.de/publikationen/buecher/2002-mu-neumed/cover.htm  Mathematikunterricht und Neue Medien. Hintergründe und Begründungen in  fachdidaktischer und fachübergreifender Sicht.] Hildesheim: Franzbecker,  S. 192 ff. (3., durchgesehene und korrigierte Auflage 2005).
* [[Horst Hischer|Hischer, Horst]] [2002]:  [http://www.horst.hischer.de/publikationen/buecher/2002-mu-neumed/cover.htm  Mathematikunterricht und Neue Medien. Hintergründe und Begründungen in  fachdidaktischer und fachübergreifender Sicht.] Hildesheim: Franzbecker,  S. 192 ff. (3., durchgesehene und korrigierte Auflage 2005).
* ''Didaktische Dissertationen:''
* ''Didaktische Dissertationen:''
** Unger, Heintje [2000]: [[Computeralgebra in der AHS]]
** Unger, Heintje [2000]: [[Computeralgebra in der AHS]]
** Aspetsberger, Klaus [2005]: [[Computeralgebrasysteme im Analysisunterricht – Unterrichtsversuche und ihre didaktische Reflexion]]
** Aspetsberger, Klaus [2005]: [[Computeralgebrasysteme im Analysisunterricht – Unterrichtsversuche und ihre didaktische Reflexion]]
==Anmerkungen==
==Anmerkungen==
<references />
<references />


[[Kategorie:CAS]]
[[Kategorie:CAS]]
{{Zitierhinweis}}
{{Zitierhinweis|Horst Hischer}}

Aktuelle Version vom 4. April 2018, 18:17 Uhr

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