C言語とFortran形式のプログラムコードの生成
読者の中にはC言語やFortranを使ったプログラムを開発していて,
Mathematica で作った数式をプログラムのソースコードに取り込みたいという人もいるだろう.
Mathematica には特別な記述変換機能が備えられているので,それを使うことで,数式をこれらの言語記述に変換することができるようになっている.
Mathematica のプログラミング言語への出力
標準的な Mathematica 表記法に従った形で式が返ってくる.
| Out[1]= |  |
|
こうすると,同じ式をFortran形式で得ることができる.
Out[2]//FortranForm= |
| |  |
|
C言語形式にするならこうする. Power等のオブジェクトに対応したマクロは,ほとんどの Mathematica のバージョンに標準添付されるCヘッダファイル mdefs.hに定義されている.
Out[3]//CForm= |
| |  |
|
言うまでもないが
Mathematica とC言語やFortranの間には数多くの相違点がある.このため,上記のコマンドを使って記述変換をしても実際に取り込まれた式は,もとの
Mathematica の式とは機能上,若干違ってしまうことがある.さらに,プログラミング構造が言語によって大きく異なるため,これらの変換が自動的になされているとは思わない方がよい.
Mathematica 式をコンパイルする方法
Mathematica で作った式をC言語やFortran記述に変換する上で,ひとつの共通的な理由に,より早く数値解析的に評価処理を行うことができるだろう,という期待がある.しかし,C言語やFortranが
Mathematica より処理効率の上で潜在的に勝る最大の理由は,個々の変数の型が整数,実数または配列である,というように前もって宣言することができるということにある.
Mathematica の関数
Compileを使うと上記の前提が使われ,
Mathematica においても非常に処理効率のよいコードを生成することができる.このようにして作ったコードは,処理スピードの点でC言語やFortranで作ったものと比べても引けを取らない.