FriCAS

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Infobox/styles.css has no content.

FriCAS
DeveloperWaldek Hebisch + independent group of people
Template:Infobox software/simple
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 compile preparation for the Axiom CAS and its forks. FriCAS optionally allows running Aldor programs (aldor is not required for compiling or running fricas). 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 Axiom lisp resources requires besides other prerequisites a Common Lisp environment, freely available as open source. A list of (incompatible) CL implementations are supported by fricas lisp code.

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 relatively 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)

    1+x+12 x2+16 x3+124 x4+1120 x5+O(x6)

Type: UnivariatePuiseuxSeries(Expression(Integer),x,0)

So any coefficient may be retrieved, for instance n=40:

coefficient(exp_series,40)

    1815915283247897734345611269596115894272000000000

Type: Expression(Integer)


See also

Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

References

Page Template:Reflist/styles.css has no content.

  1. ^ FriCAS API
  2. ^ Page Module:Citation/CS1/styles.css has no content.Poll, Erik; Thompson, Simon (May 1998). "Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor" (Monograph). Retrieved 2017-01-27.
  3. ^ Page Module:Citation/CS1/styles.css has no content.Poll, Erik; Thompson, Simon. "The Type System of Aldor" (Monograph). Retrieved 2017-01-27.
  4. ^ Page Module:Citation/CS1/styles.css has no content.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. ^ Page Module:Citation/CS1/styles.css has no content.Fitch, John (July 23, 2012). "James Griesmer 1929--2011". ACM Communications in Computer Algebra. 46 (1/2): 10–11. doi:10.1145/2338496.2338499. S2CID 36788754.
  6. ^ Page Module:Citation/CS1/styles.css has no content."Axiom Computer Algebra System". axiom-developer.org.
  7. ^ Page Module:Citation/CS1/styles.css has no content."Richard D. Jenks Biographical Information". www.eecis.udel.edu.
  8. ^ Page Module:Citation/CS1/styles.css has no content."EUROCAL '85 | SpringerLink". www.springer.com.
  9. ^ Page Module:Citation/CS1/styles.css has no content."[Axiom-developer] A modest proposal". lists.nongnu.org.
  10. ^ Page Module:Citation/CS1/styles.css has no content."History — FriCAS". fricas.github.io.
  11. ^ Page Module:Citation/CS1/styles.css has no content."MathAction RischImplementationStatus". wiki.fricas.org. Retrieved 2021-10-03.

Related:

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.