数式処理システム
数式処理システム(すうしきしょりシステム、英: Computer algebra system、CAS)は、数式をコンピュータを用い記号的に代数処理するソフトウェアである。一般的なコンピュータの計算が数値として処理し場合によっては数値的な近似値を求めるのに対して、数式処理システムでは、代数的に処理が可能な範囲では、代数処理を行う。最近のシステムでは、数値的な演算が可能なものも多く、統合計算システムと呼ぶに相応しいものも存在する。
とくに数式処理システムのアルゴリズムを研究する分野を数式処理(あるいは computer algebra の直訳として計算機代数)と呼ぶ。
目次 |
[編集] 処理できる数式
数式処理システムは、一般に次のような数式を表現、保持や演算処理できる。
- 整数、有理数、特殊定数、浮動小数点数、区間数、複素数、代数的数
- 複数の変数を含む多項式
- 複数の変数を含む有理式
- 三角関数、指数関数、対数関数、冪根(より一般には代数関数)などの初等関数を含む数式
- ガンマ関数、ゼータ関数、ベッセル関数、誤差関数、超幾何関数などの特殊関数を含む数式
- 数式の導関数/不定積分/定積分/単純化/総和/積
- 漸化式を伴う級数
- 行列を使った式
[編集] 記号的操作
記号的操作としては、次のようなものがある。
- 式を可能な限り単純な形式に変換したり、何らかの標準形式にする。前提条件や制約条件を考慮した自動的な簡約化も行う。
- 数式内の関数や数値を記号的に置換する。
- 数式の形式を変更する。三角関数を指数関数で置換するなど
- 偏微分と微分
- 記号的な制約条件に基づく最適化
- 因数分解
- 各種領域での線型および非線型の方程式を解く。
- 一部の微分方程式や差分方程式を解く。
- 関数の極限を求める。
- 一部の不定積分と定積分。多次元積分も含む。
- 任意の精度の数値の操作
- 級数の展開、総和、積など。
- 行列操作。積、逆行列など。
[編集] その他の機能
上記以外に、以下のような機能を持つ数式処理システムが多い。
- 高い精度での値の計算。例えば、21/3 を1万桁以上計算するなど。
- 計算物理学のための物理学パッケージのように、応用数学的アドオンが用意されていることが多い。
- 関数を2次元または3次元の図にプロットしたり、アニメーション表示したりする。
- データベースやプログラミング言語で利用するためのAPI。
- 文字列探索などの文字列操作機能
- 数式をTeXに類似した組版システムを使って綺麗に表示する。
- 統計学的計算機能
- 自動定理証明や証明検証
- 画像処理機能
- 音響合成
- 有限群論機能
多くの場合、プログラミング言語が含まれ、ユーザーが自前のアルゴリズムを組み込むことができる。言語の系統は様々で、命令型プログラミングや関数型プログラミングもあれば、制約プログラミングや論理プログラミングもあるし、4GL的なものもある。
[編集] 歴史
数式処理システムは人工知能の研究の一環として1960年代にいくつかのシステムが作られた。初期のシステムとして、ノーベル物理学賞受賞のマルティヌス・フェルトマンが1963年に開発したSchoonschipがある。初期の主なシステムとしては、REDUCE、Macsyma などがある。これらのシステムは現在も商業ベースで入手が可能であり、また、Macsyma をコピーレフトのフリーソフトウェアとして Common Lisp に移植した Maxima は現在も活発に開発が続けられている。
Mathematica や Maple などが現在多く使われている。また、日本生まれの数式処理システムとしては、 Risa/Asir、 数学表記のまま処理が行えるカルキング の他、Lisp ベースの GAL などが開発されている。
1987年、ヒューレット・パッカードは世界初の数式処理機能を持った電卓 HP-28シリーズをリリースした。代数的な数式を入力でき、方程式を解いたり、微積分が可能であった。
1995年、テキサス・インスツルメンツは数式処理システム Derive を搭載した電卓 TI-92 をリリースした。その後も TI-89 などの後継機種をリリースしている。
[編集] 数式処理システムが扱う数学概念の例
[編集] 関連項目
[編集] 参考文献
- Richard J. Fateman. "Essays in algebraic simplification". Technical report MIT-LCS-TR-095, 1972. オンライン版 - その後の数式処理研究の方向性を示した歴史的に重要な文書
[編集] 外部リンク
- 数値・数式処理システム概要(「狸穴」より)
- Definition of a CAS
- A Critique of the Mathematical Abilities of Computer Algebra Systems
- Curriculum and Assessment in an Age of Computer Algebra Systems - From the Education Resources Information Center Clearinghouse for Science, Mathematics, and Environmental Education, Columbus, Ohio.
- 日本数式処理学会
- ACM SIGSAM
- ACM Communications in Computer Algebra
- Journal of Symbolic Computation(Elsevier)