FriCAS
FriCAS | |
---|---|
Entwickler: | Waldek Hebisch + independent group of people |
Aktuelle Version: | 1.3.11 (1. Juli 2024) |
Typisierung: | abhängig, stark |
Wichtige Implementierungen: | SPAD, Aldor, Boot, Common Lisp |
Betriebssystem: | Cross-platform |
Lizenz: | Modifizierte BSD-Lizenz |
fricas.github.io |
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 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 sowohl 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
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 sich unter Axiom/Geschichte.[6]
Beispiele
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
- FriCAS Homepage
- FriCAS Wiki
- Documentation at fricas.github.io
- FriCAS API (sphinx)
- Quelltext: SourceForge,GitHub mirror
- Rosetta stone (pdf)
- rosettacode.org, Category:SPAD
- Forum: fricas-devel
- FriCAS Jupyter Kernel (jfricas/src)
- FriCAS Jupyter (pypi)
- FriCAS Tutorium von Franz Lehner (deutsch, PDF)
Verwandt:
Einzelnachweise
- ↑ FriCAS API
- ↑ Erik Poll, Simon Thompson: Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor. (Monograph) Abgerufen am 27. Januar 2017.
- ↑ Erik Poll, Simon Thompson: The Type System of Aldor. (Monograph) Abgerufen am 27. Januar 2017.
- ↑ 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]).
- ↑ 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.
- ↑ Geschichte von Scratchpad/Axiom (externer Verweis)