FriCAS
FriCAS is a general purpose computer algebra system with a strong focus on mathematical research and development of new algorithms. It comprises an interpreter, a compiler and a still-growing library[1] of more than 1,000 domains and categories.
Developer | Waldek Hebisch + independent group of people |
---|---|
Stable release | 1.3.9
/ 8 July 2023 |
Implementation language | SPAD, Aldor, Boot, Common Lisp |
OS | Cross-platform |
License | Modified BSD License |
Filename extensions | .spad , .input , .as |
Website | fricas |
FriCAS provides a strongly typed high-level programming language called SPAD and a similar interactive language that uses type-inferencing for convenience. Aldor was intentionally developed being the next generation compiler for the Axiom CAS and its forks. FriCAS (optionally) allows running Aldor programs. Both languages share a similar syntax and a sophisticated (dependent) type system.[2][3][4]
FriCAS is comprehensively documented and available as source code and as a binary distribution for the most common platforms. Compiling the sources requires besides other prerequisites a Common Lisp environment (whereby many of the major implementations are supported and freely available as open source).
FriCAS runs on many POSIX platforms such as Linux, macOS, Unix, BSD as well as under Cygwin and Microsoft Windows (WSL).
History
FriCAS is a descendant of Axiom [5] which itself has its origin in Scratchpad, a project that started in 1965 by James Griesmer [6] at IBM laboratories.[7] For more details see Axiom/History.
Examples
FriCAS has a largely complete implementation of the Risch–Bronstein–Trager algorithm.[8]
Another useful feature is stream:
)set stream calculate 5 exp_series := series(exp x, x=0)
Type: UnivariatePuiseuxSeries(Expression(Integer),x,0)
So any coefficient may be retrieved, for instance :
coefficient(exp_series,40)
Type: Expression(Integer)
See also
References
- FriCAS API
- Poll, Erik; Thompson, Simon (May 1998). "Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor" (Monograph). Retrieved 2017-01-27.
- Poll, Erik; Thompson, Simon. "The Type System of Aldor" (Monograph). Retrieved 2017-01-27.
- Poll, Erik; Thompson, Simon. "Integrating Computer Algebra and Reasoning through the Type System of Aldor". In Hélène Kirchner; Christophe Ringeissen (eds.). Frontiers of Combining Systems. 3rd International Workshop on Frontiers of Combining Systems (FroCoS 2000). Vol. 1794. Nancy, France: Springer-Verlag Berlin. pp. 136–150. ISBN 978-3-540-67281-4. Retrieved 2017-01-27.
- History (external link)
- Fitch, John (2012). "James Griesmer 1929–2011". ACM Commun. Comput. Algebra. 46 (1/2): 10–11. doi:10.1145/2338496.2338499. ISSN 1932-2240.
- Axiom history
- "MathAction RischImplementationStatus". wiki.fricas.org. Retrieved 2021-10-03.
External links
- FriCAS Homepage
- FriCAS Wiki
- SandBox: Try FriCAS online
- Documentation at fricas.github.io
- FriCAS API (sphinx)
- Source code repositories: SourceForge, GitHub
- Rosetta stone (pdf)
- Rosetta stone (some other formats)
- Rosetta Stone (html)
- rosettacode.org, Category:SPAD
- Forum: fricas-devel
- FriCAS Jupyter Kernel (jfricas/src)
- FriCAS Jupyter (pypi)
Related:
- Axiom
- OpenAxiom
- A# programming language
- Aldor programming language