FriCAS
Developer | Waldek Hebisch + independent group of people |
---|---|
Stable release | 1.3.10
/ 9 January 2024 |
Implementation language | SPAD, Aldor, Boot, Common Lisp |
OS | Cross-platform |
License | Modified BSD License |
Filename extensions | .spad , .input , .as |
Website | 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.
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
Two computer algebra systems named Scratchpad were developed by IBM. The first one was started in 1965 by James Griesmer[5] at the request of Ralph Gomory, and written in Fortran.[6] The development of this software was stopped before any public release. The second Scratchpad, originally named Scratchpad II, was developed from 1977 on, at Thomas J. Watson Research Center, under the direction of Richard Dimick Jenks.[7]
The design is principally due to Richard D. Jenks (IBM Research), James H. Davenport (University of Bath), Barry M. Trager (IBM Research), David Y.Y. Yun (Southern Methodist University) and Victor S. Miller (IBM Research). Early consultants on the project were David Barton (University of California, Berkeley) and James W. Thatcher (IBM Research). Implementation included Robert Sutor (IBM Research), Scott C. Morrison (University of California, Berkeley), Christine J. Sundaresan (IBM Research), Timothy Daly (IBM Research), Patrizia Gianni (University of Pisa), Albrecht Fortenbacher (Universitaet Karlsruhe), Stephen M. Watt (IBM Research and University of Waterloo), Josh Cohen (Yale University), Michael Rothstein (Kent State University), Manuel Bronstein (IBM Research), Michael Monagan (Simon Fraser University), Jonathan Steinbach (IBM Research), William Burge (IBM Research), Jim Wen (IBM Research), William Sit (City College of New York), and Clifton Williamson (IBM Research)[8]
Scratchpad II was renamed Axiom when IBM decided, circa 1990, to make it a commercial product. A few years later, it was sold to NAG. In 2001, it was withdrawn from the market and re-released to Tim Daly under the Modified BSD License. In 2007, Axiom was forked as FriCAS by Waldek Hebisch following encouragement from Tim Daly[9] to resolve disagreements about project goals.[10]
Examples
FriCAS has a largely complete implementation of the Risch–Bronstein–Trager algorithm.[11]
Another useful feature is stream:
)set stream calculate 5 exp_series := series(exp x, x=0)
[math]\displaystyle{ \ \ \ \ 1+x+{{\frac{1}{2}} \ {{x}^{2}}}+{{\frac{1}{6}} \ {{x}^{3}}}+{{\frac{1}{24}} \ {{x}^{4}}}+{{\frac{1}{120}} \ {{x}^{5}}}+{O \left( \right)} }[/math]
Type: UnivariatePuiseuxSeries(Expression(Integer),x,0)
So any coefficient may be retrieved, for instance [math]\displaystyle{ n=40 }[/math]:
coefficient(exp_series,40)
[math]\displaystyle{ \ \ \ \ \frac{1}{81591528324789773434 56112695961158942720 00000000} }[/math]
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). https://kar.kent.ac.uk/21662/.
- ↑ Poll, Erik; Thompson, Simon. "The Type System of Aldor" (Monograph). http://www.cs.kent.ac.uk/pubs/1999/874.
- ↑ Poll, Erik; Thompson, Simon. "Integrating Computer Algebra and Reasoning through the Type System of Aldor". 3rd International Workshop on Frontiers of Combining Systems (FroCoS 2000). 1794. Nancy, France: Springer-Verlag Berlin. pp. 136–150. ISBN 978-3-540-67281-4. https://kar.kent.ac.uk/22041/. Retrieved 2017-01-27.
- ↑ Fitch, John (July 23, 2012). "James Griesmer 1929--2011". ACM Communications in Computer Algebra 46 (1/2): 10–11. doi:10.1145/2338496.2338499.
- ↑ "Axiom Computer Algebra System". http://axiom-developer.org/.
- ↑ "Richard D. Jenks Biographical Information". https://www.eecis.udel.edu/~caviness/jenks/jenksbio/.
- ↑ EUROCAL '85 | SpringerLink. https://www.springer.com/gp/book/9783540159841.
- ↑ "[Axiom-developer A modest proposal"]. https://lists.nongnu.org/archive/html/axiom-developer/2007-06/msg00627.html.
- ↑ "History — FriCAS". https://fricas.github.io/history.html.
- ↑ "MathAction RischImplementationStatus". http://wiki.fricas.org/RischImplementationStatus.
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:
Original source: https://en.wikipedia.org/wiki/FriCAS.
Read more |