FriCAS ist ein Allzweck-Computeralgebrasystem mit einem starken Fokus auf mathematische Forschung und Entwicklung neuer Algorithmen. Es besteht aus einem Interpreter, einem Compiler und einer immer noch wachsenden Bibliothek[1] mit mehr als 1.000 Domänen und Kategorien.

FriCAS
Entwickler: Waldek Hebisch + independent group of people
Aktuelle Version: 1.3.10  (9. Januar 2024)
Typisierung: abhängig, stark
Wichtige Implementierungen: SPAD, Aldor, Boot, Common Lisp
Betriebssystem: Cross-platform
Lizenz: Modifizierte BSD-Lizenz
fricas.github.io

FriCAS bietet eine stark typisierte höhere Programmiersprache namens SPAD und eine ähnliche interaktive Sprache, die zur Vereinfachung die Typinferenzierung verwendet. Aldor wurde ursprünglich als Compiler der nächsten Generation für Axiom und Abspaltungen entwickelt. Mit FriCAS können (optional) Aldor Programme ausgeführt werden. Beide Sprachen haben eine ähnliche Syntax und ein ausgeklügeltes (abhängiges) Typsystem.[2][3][4]

FriCAS ist umfassend dokumentiert und sowie als Quellcode als auch in binärer Form für die gängigsten Plattformen erhältlich. Das Kompilieren der Quellen erfordert neben anderen Voraussetzungen eine Common-Lisp-Umgebung (wobei viele der wichtigsten Implementierungen unterstützt werden und als Open Source frei verfügbar sind).

FriCAS läuft auf diversen POSIX-Plattformen wie Linux, MacOS, Unix, BSD sowie unter Cygwin und Microsoft Windows WSL.

FriCAS besitzt neben der Kommandozeile verschiedene Front-Ends, z. B. Emacs, TeXmacs, Jupyter.

Geschichte Bearbeiten

FriCAS ist ein Nachkomme von Axiom, das seinen Ursprung in Scratchpad hat, einem Projekt, das 1965 von James Griesmer[5] in IBM Laboratories gestartet wurde. Weitere Details finden Sie unter Axiom/Geschichte[6]

Beispiele Bearbeiten

FriCAS hat eine ziemlich vollständige Implementierung des Risch-Bronstein-Trager-Algorithmus (kurz Risch-Algorithmus).

Ein weiteres nützliches Feature ist Stream:

)set stream calculate 5
exp_series := series(exp x, x=0)
 
Type: UnivariatePuiseuxSeries(Expression(Integer),x,0)

So kann jeder Koeffizient abgerufen werden, zum Beispiel:  :

coefficient(exp_series,40)
 
Type: Expression(Integer)

Weblinks Bearbeiten

Verwandt:

Einzelnachweise Bearbeiten

  1. FriCAS API
  2. Erik Poll, Simon Thompson: Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor. (Monograph) Abgerufen am 27. Januar 2017.
  3. Erik Poll, Simon Thompson: The Type System of Aldor. (Monograph) Abgerufen am 27. Januar 2017.
  4. Erik Poll, Simon Thompson: Integrating Computer Algebra and Reasoning through the Type System of Aldor. In: Hélène Kirchner, Christophe Ringeissen (Hrsg.): Frontiers of Combining Systems. Third International Workshop, FroCoS 2000 (= Lecture Notes in Artificial Intelligence. Band 1794). Springer, Berlin 2000, ISBN 3-540-67281-8, S. 136–150, doi:10.1007/10720084_10 (kent.ac.uk [abgerufen am 27. Januar 2017]).
  5. John Fitch: James Griesmer 1929–2011. In: ACM Commun. Comput. Algebra. Band 46, Nr. 1/2, 2012, ISSN 1932-2240, S. 10–11, doi:10.1145/2338496.2338499.
  6. Geschichte von Scratchpad/Axiom (externer Verweis)