FriCASは、数学の研究と新しいアルゴリズムの開発に重点を置いた汎用コンピュータ代数システムです。インタープリタ、コンパイラ、そして 1,000以上のドメインとカテゴリからなる、今も成長を続けるライブラリ[ 1 ]で構成されています。
FriCAS は、SPAD と呼ばれる強力な型付けの高水準プログラミング言語と、利便性のために型推論を使用する同様の対話型言語を提供します。Aldorは、Axiom CAS とそのフォークの次世代コンパイル準備として意図的に開発されました。FriCAS はオプションで Aldor プログラムを実行できます (aldor は FriCAS のコンパイルまたは実行に必須ではありません)。両方の言語は同様の構文と洗練された (依存)型システムを共有しています。[ 2 ] [ 3 ] [ 4 ]
FriCASは包括的なドキュメントが用意されており、ソースコードと、主要なプラットフォーム向けのバイナリディストリビューションとして入手可能です。Axiom Lispリソースをコンパイルするには、その他の前提条件に加えて、オープンソースとして無料で入手できるCommon Lisp環境が必要です。FriCAS Lispコードは、(互換性のない)CL実装のリストをサポートしています。
FriCASは、Linux、macOS、Unix、 BSDなどの多くのPOSIXプラットフォームに加え、 Cygwinや Microsoft Windows(WSL )上でも動作します。
IBMは、 Scratchpadという2つの数式処理システムを開発しました。最初のシステムは、1965年にラルフ・ゴモリーの依頼を受けてジェームズ・グリースマー[ 5 ]によって開発が開始されました[ 6 ]。このソフトウェアの開発は、一般公開される前に中止されました。2番目のScratchpadは、当初Scratchpad IIと呼ばれ、1977年からトーマス・J・ワトソン研究所でリチャード・ディミック・ジェンクスの指揮の下で開発されました[ 7 ] 。
この設計は主に、Richard D. Jenks (IBM Research) [ 8 ]、James H. Davenport (University of Bath)、Barry M. Trager (IBM Research)、David YY Yun (Southern Methodist University)、Victor S. Miller (IBM Research) によるものです。プロジェクトの初期コンサルタントは、David Barton (University of California, Berkeley) とJames W. Thatcher (IBM Research)でした。実装には、Robert Sutor (IBM Research)、Scott C. Morrison (カリフォルニア大学バークレー校)、Christine J. Sundaresan (IBM Research)、Timothy Daly (IBM Research)、Patrizia Gianni (ピサ大学)、Albrecht Fortenbacher (カールスルーエ大学)、Stephen M. Watt (IBM Research およびウォータールー大学)、Josh Cohen (イェール大学)、Michael Rothstein (ケント州立大学)、Manuel Bronstein (IBM Research)、Michael Monagan (サイモンフレーザー大学)、Jonathan Steinbach (IBM Research)、William Burge (IBM Research)、Jim Wen (IBM Research)、William Sit (ニューヨーク市立大学)、Clifton Williamson (IBM Research) が参加した。[ 9 ]
Scratchpad II は、IBM が 1990 年頃に商用製品にすることを決定した際にAxiomと改名されました。数年後、 NAGに売却されました。2001 年に市場から撤退し、修正 BSD ライセンスの下で Tim Daly に再リリースされました。2007 年に、プロジェクトの目標に関する意見の相違を解決するために、Tim Daly [ 10 ]の奨励を受けて Waldek Hebisch がFriCASとしてフォークしました。 [ 11 ]
FriCASには、Risch–Bronstein–Tragerアルゴリズムの比較的完全な実装があります 。[ 12 ]
もう一つ便利な機能はストリームです。
)ストリーム計算5 exp_series := series(exp x, x=0)
型: UnivariatePuiseuxSeries(Expression(Integer),x,0)
したがって、例えば、任意の係数を取得できます。:
係数(exp_eries,40)
型: 式(整数)
関連している: