Axiom (Software)

Axiom (Software)

Axiom (Software)
Axiom
Basisdaten

Aktuelle Version August 2014[1]
(August 2014)
Betriebssystem Linux, Unix
Programmier­sprache Common Lisp, SPAD
Kategorie Computeralgebrasystem
Lizenz modifizierte BSD-Lizenz
www.axiom-developer.org

Axiom ist ein freies Computeralgebrasystem. Es besteht aus einer interaktiven Umgebung (dem Interpreter), einem Compiler und einer Programmbibliothek. Letztere implementiert eine mathematisch korrekte Hierarchie von Typen.

Geschichte

Axiom wurde seit 1971 von Forschern der IBM unter der Leitung von Richard Dimick Jenks entwickelt, ursprünglich unter dem Namen SCRATCHPAD in der Programmiersprache Lisp. In den 1990ern wurde es an die Gruppe NAG verkauft und erhielt seinen jetzigen Namen. Im Jahr 2001 wurde es vom Markt genommen, seit 2002 wird es unter einer modifizierten BSD-Lizenz verbreitet. Seitdem haben sich zwei Projekte davon abgespalten: FriCAS und OpenAxiom.

Design

In Axiom haben alle Objekte einen Typ. Beispiele für solche Typen sind mathematische Strukturen (wie Ringe, Körper, Polynome) als auch Datenstrukturen aus der Informatik (z. B. Liste, Baum, Heap, Hashtabelle in verschiedenen Formen).

Eine Funktion kann einen Typ als Argument haben, und ihr Ergebnis kann ebenso ein Typ sein. Zum Beispiel ist Fraction eine Funktion, die einen IntegralDomain als Argument akzeptiert und den Quotientenkörper ihres Arguments zum Ergebnis hat. Als weiteres Beispiel kann man den Ring der Matrizen mit rationalen Einträgen als SquareMatrix(4, Fraction Integer) konstruieren. Wenn man in diesem Domain arbeitet, wird 1 als Einheitsmatrix interpretiert und A^-1 liefert die Inverse der Matrix A, soweit sie existiert.

Verschiedene Funktionen können den gleichen Namen haben. Die Typen der Argumente und der Typ des Resultats werden verwendet, um festzustellen, welche Operation tatsächlich gemeint ist, ähnlich wie in der Objektorientierten Programmierung.

Die Erweiterungssprache von Axiom heißt SPAD. Das gesamte mathematische Wissen von Axiom ist in dieser Sprache geschrieben. Der Interpreter akzeptiert ungefähr die gleiche Sprache.

SPAD wurde unter dem Namen A# und später Aldor weiterentwickelt. Aldor kann nach wie vor als alternative Erweiterungssprache verwendet werden. Es wird allerdings unter einer anderen Lizenz vertrieben.

Fähigkeiten

Innerhalb des Interpreters benutzt Axiom Typinferenz und einen heuristischen Algorithmus, um explizite Typangaben weitgehend unnötig zu machen.

Axiom beinhaltet 'HyperDoc', eine interaktive, browserähnliche Hilfe, und kann zwei- und dreidimensionale Graphiken darstellen. Die Grafikanzeige ermöglicht es unter anderem auch, die Grafik zu rotieren oder eine Lichtquelle zu setzen.

Axiom ist derzeit das einzige CAS mit einer vollständigen Implementierung des Risch-Algorithmus zur elementaren Integration. Die Implementierung stammt von Manuel Bronstein und Barry Trager.

Grafische Benutzerschnittstelle

Es gibt einen Modus für Emacs sowie ein Plugin für den Editor TeXmacs. Eine weitere Möglichkeit besteht darin Sage als Interface für Axiom zu verwenden.

Einzelnachweise

  1. www.axiom-developer.org.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.