FriCAS

From HandWiki
Short description: Computer algebra system
FriCAS
DeveloperWaldek Hebisch + independent group of people
Stable release
1.3.10 / 9 January 2024; 42 days ago (2024-01-09)
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

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

External links

Related: