Mathematica
Mathematica 8.0.0 GNU/Linux版のフロントエンド
開発元ウルフラム・リサーチ
初版1988年6月23日[1]
最新版14.0 / 2024年1月16日 (4か月前) (2024-01-16)
プログラミング
言語C/C++、Java、Wolfram
プラットフォームクロスプラットフォーム ⇒(list)
対応言語英語、日本語、中国語、フランス語、ドイツ語、イタリア語、韓国語、スペイン語
種別数式処理システム、数値解析、情報視覚化、統計処理、ユーザインタフェース生成
ライセンスプロプライエタリ
公式サイト ⇒www.wolfram.com/mathematica/
テンプレートを表示
プログラミング言語>>他のプログラミング言語
Mathematica(マセマティカ)は、スティーブン・ウルフラムが考案し広く使われている数式処理システム。ウルフラム・リサーチの、ウルフラムが率いる数学者とプログラマのチームが開発し、同社( ⇒正規認定販売代理店)により販売されている。Mathematicaは項書き換えを基本として、複数のパラダイムをエミュレートするプログラミング言語としても強力である。 ウルフラム・リサーチの創始者であるスティーブン・ウルフラムと彼のチームは、1986年から新たな数式処理システムの開発を開始し、1988年にその最初のバージョンをリリースした。ウルフラムは当初、このシステムをOmega、のちにPolyMathと呼んでいたが、当時NeXT社の社長であったスティーブ・ジョブズに相談したところ「ダサい名前だ」と一蹴され、なにか一般的な語をロマンチックに表現したもの、例えばトリニトロンのような名前が良いとして「Mathematica」と名付けた[2]。 歴代のMathematicaのロゴに使われているのは「スパイキー」と呼ばれる三次元多面体で、初代 Mathematicaでは大二十面体、それ以降のバージョンでは双曲二十面体を装飾したものが使われている[3][4]。 プログラミング言語としてのMathematicaは、項書き換えを基本として関数型と手続き型の両方をサポートするマルチパラダイム・プログラミング言語である。Mathematicaは、ウルフラムらが1979年頃に開発した Symbolic Manipulation Program
概要
MathematicaはC/C++およびJavaで実装されているが、拡張可能なライブラリはすべてWolfram言語で書かれている。実際、新しいコード(Wolfram言語で書かれたテキストファイル)はMathematicaの「パッケージ(.mファイル)」として追加される。Mathematicaには4,000以上の高度に洗練された組み込み関数が用意されており[8]、それらをビルディング・ブロックとして組み合わせていくことで、簡単にプログラムを作ることができる。
システムとしてのMathematicaは、Wolfram言語を解釈し実際に計算を実行する「カーネル」と、その計算結果を表示する「フロントエンド」の2つの部分から構成される。カーネルとフロントエンドの間の通信には「 ⇒MathLink」プロトコルが使われる。
Mathematicaの最新バージョンは 14.0(2024年1月9日リリース)で、様々なコンピュータシステム上で利用可能となっている。
機能調整可能なパラメータで描画したディニの曲面
Mathematicaには次のような機能がある[9]。
コアとなる言語
手続き型と関数型をサポートするマルチパラダイム・プログラミング言語
文字列操作、正規表現や意味解析を含めたテキストマイニングツール
並列プログラミング用ツール
数学とアルゴリズム
初等関数、特殊関数、数論、群論のライブラリ
複素数、任意精度、区間演算、記号計算のサポート
連続的/離散的計算のための数値と記号のツール
疎行列を含む行列とデータの操作ツール
常微分方程式 (ODE)、偏微分方程式 (PDE)、微分代数方程式(英語版) (DAE)、遅延微分方程式(英語版) (DDE)、ディオファントス方程式、漸化式のソルバー
連続積分変換および離散積分変換
直線/曲線あてはめ、仮説検定、100種類以上の確率分布における確率や期待値の計算
制約のある/ない、局所/大域、最適化
組み合わせ問題のためのツール
制御系ライブラリ
債券、年金、デリバティブ、オプション取引を含む金融計算ツール
可視化とグラフィックス
2D/3D のデータや関数の可視化とアニメーション化ツール
グラフの視覚化ツールおよび解析ツール
データの操作
データ、画像、動画、音響、CAD、GIS、文書、生物医学などの各種フォーマットのインポート/エクスポート
画像認識を含む画像処理と形態学的画像処理のツール
音響/画像データのウェーブレット解析用ライブラリ
データ・クラスタリング、シーケンスアラインメント、パターンマッチなどのデータマイニングツール