C言語とFortran形式のプログラムコードの生成
読者の中にはC言語やFortranを使ったプログラムを開発していて,Mathematica で作った数式をプログラムのソースコードに取り込みたいという人もいるだろう.Mathematica には特別な記述変換機能が備えられているので,それを使うことで,数式をこれらの言語記述に変換することができるようになっている.
Mathematica のプログラミング言語への出力
標準的な
Mathematica 表記法に従った形で式が返ってくる.
| Out[1]= |  |
こうすると,同じ式をFortran形式で得ることができる.
Out[2]//FortranForm= |
| |  |
C言語形式にするならこうする.
Power等のオブジェクトに対応したマクロは,ほとんどの
Mathematica のバージョンに標準添付されるCヘッダファイルmdefs.hに定義されている.
Out[3]//CForm= |
| |  |
式全体をCにしたい場合は,Exportを使いCに変換するとよい,
| Out[4]= |  |
Mathematica 式をCやFortranに変換したいというよくある動機の一つに,数値的に速く評価させるためというものがある.しかし,CおよびFortranが Mathematica より効率的となり得る唯一の理由は,これらの言語ではユーザが使用するそれぞれの変数の型(整数,実数,配列等)をその場で常に指定するためということである.
Mathematica 関数Compileはそのような前提を Mathematica 内で行い,非常に効率的な内部コードを生成する.これはCompilationTargetを
に設定することでより高速に実行させることができる.
Mathematica 式のコンパイル