Nächste: , Vorige: , Nach oben: Maximas Datenbank   [Inhalt][Index]

11.1 Einführung in Maximas Datenbank

Eigenschaften

Variablen und Funktionen können mit der Funktion declare Eigenschaften zugewiesen werden. Diese Eigenschaften werden in eine Datenbank abgelegt oder in eine von Lisp bereitgestellte Eigenschaftsliste eingetragen. Mit der Funktion featurep kann geprüft werden, ob ein Symbol eine bestimmte Eigenschaft hat und mit der Funktion properties können alle Eigenschaften eines Symbols angezeigt werden. Die Funktion remove löscht Eigenschaften aus der Datenbank oder von der Eigenschaftsliste. Wird mit der Funktion kill ein Symbol entfernt, werden auch die zugewiesenen Eigenschaften gelöscht.

Weiterhin können mit den Funktionen put und qput beliebige vom Nutzer vorgesehene Eigenschaften in die Eigenschaftsliste zu einem Symbol abgelegt werden. Mit der Funktion get werden die Eigenschaften von der Eigenschaftsliste gelesen und mit der Funktion rem gelöscht.

Variablen können die folgenden Eigenschaften erhalten, die in die Datenbank eingetragen werden.

   constant
   integer        noninteger
   even           odd
   rational       irrational
   real           imaginary      complex

Funktionen können die folgenden Eigenschaften erhalten, die in die Datenbank eingetragen werden.

   increasing     decreasing
   posfun         integervalued

Die folgenden Eigenschaften können für Funktionen definiert werden und wirken sich auf die Vereinfachung dieser Funktionen aus. Diese Eigenschaften werden in Vereinfachung beschrieben.

   linear         additive       multiplicative
   outative       commutative    symmetric      
   antisymmetric  nary           lassociativ
   rassociative   evenfun        oddfun

Weitere Eigenschaften, die Variablen und Funktionen erhalten können, und die in die Lisp-Eigenschaftsliste des Symbols abgelegt werden, sind.

   bindtest       feature        alphabetic
   scalar         nonscalar      nonarray

Kontexte

Maxima verwaltet Kontexte, um Eigenschaften von Variablen und Funktionen sowie Fakten abzulegen. Fakten werden mit der Funktion assume definiert und in dem aktuellen Kontext abgelegt. Mit assume(a>10) erhält Maxima zum Beispiel die Information, dass die Variable a größer als 10 ist. Mit der Funktion forget werden Fakten aus der Datenbank entfernt. Fragt Maxima den Nutzer nach Eigenschaften von Variablen, werden die Antworten in einem Kontext abgelegt.

Ein Kontext hat einen Namen, mit dem auf diesen Bezug genommen werden kann. Nach dem Starten von Maxima hat der aktuelle Kontext den Namen initial. Es kann eine beliebige Anzahl weiterer Kontexte definiert werden. Diese können hierarchisch voneinander abhängen. So ist der Kontext initial ein Unterkontext zum Kontext global. Die Fakten in einem übergeordneten Kontext sind in dem Unterkontext immer präsent. Der Kontext global enthält zum Beispiel Fakten, die von Maxima initialisiert werden, und zusätzlich zu den Fakten des Kontextes initial aktiv sind.

Kontexte können eine beliege Anzahl an Fakten aufnehmen. Sie können mit der Funktion deactivate deaktiviert werden, ohne dass die Fakten verloren gehen und später mit der Funktion activate aktiviert werden, wodurch die Fakten für Aussagefunktionen wieder zur Verfügung stehen.


Nächste: , Vorige: , Nach oben: Maximas Datenbank   [Inhalt][Index]