FriCAS

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Unicas (talk | contribs) at 19:59, 21 June 2022 (version update (1.3.8)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

FriCAS
DeveloperWaldek Hebisch + independent group of people
Stable release
1.3.8 / 21 June 2022; 22 months ago (2022-06-21)
Implementation languageSPAD, Aldor, Boot, Common Lisp
OSCross-platform
LicenseModified BSD License
Filename extensions.spad, .input, .as
Websitefricas.github.io

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

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 rather complete implementation of the Risch–Bronstein–Trager algorithm, but it is still incomplete.[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

  1. ^ FriCAS API
  2. ^ Poll, Erik; Thompson, Simon. "Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor" (Monograph). Retrieved 2017-01-27.
  3. ^ Poll, Erik; Thompson, Simon. "The Type System of Aldor" (Monograph). Retrieved 2017-01-27.
  4. ^ 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.
  5. ^ History (external link)
  6. ^ Fitch, John (2012). "James Griesmer 1929–2011". ACM Commun. Comput. Algebra. 46 (1/2): 10–11. doi:10.1145/2338496.2338499. ISSN 1932-2240.
  7. ^ Axiom history
  8. ^ "MathAction RischImplementationStatus". fricas-wiki.math.uni.wroc.pl. Retrieved 2021-10-03.

External links

Related: