Maple(メイプル)とは
Mapleは、
カナダのMaplesoft社が開発した数式処理
ソフトウェアです。
1980年代初頭に
ウォータールー大学で開発が始まり、現在では記号
計算、
数値解析、データ処理、
統計処理、
可視化など、多岐にわたる
計算機能を提供しています。
数学や物理学をはじめとする幅広い分野をカバーしており、初等教育から大学、研究機関、企業の
研究開発部門まで、様々なユーザーに利用されています。
Mapleの主な特徴
幅広い計算機能: 記号計算、数値計算、グラフ作成など、数学的な計算をコンピュータ上で行うことができます。
マルチパラダイムプログラミング: Pascalに似た動的型付け
言語を内蔵しており、静的スコープの変数も扱えます。
多様な連携機能: C、C#、Fortran、Java、MATLAB、Visual Basicなどの他の言語や、Microsoft Excelとの連携が可能です。
数式表記の可読性: 教科書のような
数学表記で数式を入力できるため、可読性の高いドキュメント作成が可能です。
厳密解の導出: 記号計算を得意とし、厳密解を求めることができます。数値計算や可視化にも対応しています。
GUIベースのアプリケーション開発: 埋め込みコンポーネントを利用して、ユーザー独自の
計算アプリケーションを作成できます。
Mapleの機能
Mapleには以下のような機能があります。
複素数、区間演算、記号計算、任意精度数値計算
初等関数および特殊関数ライブラリ
[常微分方程式]、[偏微分方程式]、微分代数方程式(DAE)、遅延微分方程式(DDE)、ディオファントス方程式、漸化式のソルバー
有理数、有限体、
代数体、代数関数体に対する多変量多項式の
計算、
最大公約数、因数分解
極限、級数、漸近展開
グレブナー基底
微分代数
疎行列を含む行列とデータの操作
数学関数グラフとアニメーション生成
不定積分、定積分、定合計、不定合計、自動微分、連続および離散積分変換を含む、離散および連続
計算のための数値および記号ツール
制約付きおよび制約なしのローカルおよびグローバル最適化
モデルフィッティング、仮説検定、確率分布を含む
統計
データ操作、視覚化、分析ツール
確率および組み合わせ問題ツール
時系列および単位ベースデータサポート
財務および経済データのオンライン収集接続
債券、年金、デリバティブ、オプションなどの財務計算ツール
ランダムプロセス
計算とシミュレーション
正規表現を含むテキストマイニングツール
信号処理および線形/非線形制御システムツール
数論を含む離散数学ツール
有向グラフと無向グラフの視覚化/分析ツール
順列と有限表示グループを含む群論
シンボリックテンソル関数
データ、画像、サウンド、CAD、ドキュメント形式のフィルターのインポート/エクスポート
数式を含む技術文書作成
手続き型、関数型、オブジェクト指向をサポートするプログラミング言語
ユーザーインターフェースを
計算とアプリケーションに追加するツール
SQL、Java、.NET、C++、Fortran、httpへの接続
C、
C#、Fortran、
Java、
JavaScript、Julia、MATLAB、
Perl、
Python、
R、
Visual Basicのコード生成
並列プログラミングツール
Mapleのユーザーインターフェース
Mapleは、ワークシートと呼ばれるワークスペースで数式や文書を記述します。ワークシートには、「ワークシートモード」と「ドキュメントモード」の2つのモードがあります。
ワークシートモード: 主に
計算やプログラミングに適しており、
計算実行ラインが明確になります。
ドキュメントモード: 計算可能な数式を含む文書作成に適しており、Wordのようなドキュメント作成が可能です。
どちらのモードでも、文字のフォント、サイズ、色の変更が可能です。
数式の入力形式
Mapleには2種類の数式入力形式があります。
1D Math入力: 計算やプログラミングでよく使われ、タイプした文字がそのまま表示されます。(例:`diff(sin(x))`)
2D Math入力: 教科書のような数式入力を可能にし、可読性が高いため、教材や技術文書作成に適しています。(例:∫cos(x/a)dx)
Mapleの例
以下に、Mapleを使用した計算例を示します。
積分: ∫cos(x/a)dx = asin(x/a)
行列式: 行列 1, 2, 3], [a, b, c], [x, y, z の行列式は bz - cy + 3ay - 2az + 2xc - 3xb
級数展開: x - (1/3)x³ + (2/15)x⁵ - (17/315)x⁷ + (62/2835)x⁹ - (1382/155925)x¹¹ + (21844/6081075)x¹³ + O(x¹⁵)
方程式の数値解: 高次多項式の根を数値的に計算できます。
連立方程式の解: 同じコマンドで連立方程式の解を求めることができます。
プロット: 1変数関数や2変数関数のプロットが可能です。
アニメーション: 2変数関数や3変数関数をアニメーションで表示できます。
ラプラス変換: (1 + At + Bt²)e^(ct) のラプラス変換は 1/(s-c) + A/(s-c)² + 2B/(s-c)³
逆ラプラス変換: e^(ax) の逆
ラプラス変換は元の関数に戻ります。
フーリエ変換: フーリエ変換を計算できます。
積分方程式: 積分方程式を満たす関数を求められます。
数式、関数の定義、代入
Mapleでは、代数演算、関数の定義、代入などが可能です。
関数の定義: 例えば、`f(x) = x exp(-x^2)` を定義する場合は、`f := x -> x
exp(-x^2);` と入力します。
代入: `eval` コマンドや `subs` コマンドを使って、文字式や関数に値を代入できます。
evalとsubsの違い: `eval` は評価後に代入するのに対し、`subs` は評価せずに代入します。
グラフ描画
`plot` コマンドや `plot3d` コマンドを使って、2次元グラフや3次元グラフを描画できます。`plots` パッケージを使用することで、より高度なグラフ描画も可能です。
関連製品
MapleSim: Modelica
言語ベースのモデリング&シミュレーションツール。
Maple Flow: 数式や文書を自由に配置できるツール。
Maple Calculator: スマートフォン用
計算アプリケーション。
Maple Learn: オンライン計算環境。
MapleCloud: クラウド環境でMapleドキュメントの閲覧/実行。
Maple Net: ウェブブラウザでドキュメント閲覧/実行。MapleCloudと異なり、ユーザーが環境を所有。
Global Optimization Toolbox: 大域最適化ツール。
Quantum Chemistry Toolbox: 量子化学計算/グラフ描画ツール。
類似製品との比較
Mathematicaとインターフェースが類似していますが、微分方程式の
計算やグラフ描画に優れているとされます。
Mathematicaより少ないメモリとハードディスク容量で計算が可能です。
記号解の導出を想定して設計されており、ほとんどの
計算で記号解を出すことが可能です。
大量の計算を長時間行うにはMathematicaの方が向いているとされます。
特化した用途のアドインは
Mathematicaの方が豊富です。
関連書籍
Mapleに関する書籍が多数出版されています。和書、洋書ともに様々なレベルや用途に応じたものが存在します。
外部リンク
Maple: https://www.maplesoft.com/
学習院大学
数学科 Mapleチュートリアル
早稲田大学理工学メディアセンター Maple
Maple入門 関西学院大学
* Maple Transactions (An open access online journal)