Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaの実践的な紹介 / システムとしての Mathematica /

1.3.10 Mathematicaパッケージ

Mathematicaの最も重要な特徴のひとつに拡張性が非常に高いということがある.数学関数や他の標準的な機能が組み込まれてはいるが,Mathematica言語を使うことで,機能性をさらに向上することが可能になっている.

ほとんどの計算は標準版Mathematicaの持つ組込み関数で十分間に合う.しかし特殊な分野の計算は組み込まれていない関数を必要とする場合がある.

そのようなとき,必要な関数がパッケージに入っているかもしれない.パッケージはMathematica言語で書かれたプログラムファイルであり,Mathematicaに特定の応用分野について「教授する」定義の集まりから構成されている.

パッケージの読込み

パッケージに入っている関数を使うには,まず,パッケージをMathematicaに読み込ませる必要がある.やり方の詳細に関しては1.11を参照してほしい.パッケージを参照する際に必要となる名前の指定に関する約束事が説明してある.

Mathematicaにパッケージを読み込ませる.

In[1]:= << DiscreteMath`CombinatorialFunctions`

関数Subfactorialは,このパッケージで定義されている.

In[2]:= Subfactorial[10]

Out[2]=

パッケージ間での関数名の衝突のようなことに伴う微妙な問題がある.この問題は2.7.9で詳しく触れる.ここではもう 1 つの問題について説明する.それは,まだ読み込まれていないパッケージの中にある関数を参照すると,内部では関数自体は未知だが,参照したということから関数名が定義されてしまう,という問題である.参照しないよう注意すればよいことだが,もし誤ってそうしてしまったら, Remove["name"]を実行し定義されてしまった関数名を取り除いておかなければならない.そうしないと間違って定義された関数名が優先してしまい,本当に使いたいパッケージの関数が認識されなくなってしまう.

競合している関数の除去

パッケージを追加することでMathematicaの機能を拡張できるということは,裏を返せばどこまでが Mathematica本来の部分」か,というような境界ができないことを示している.実際には,パッケージの関数と組込み関数の間には全く違いがない.

本書で取り上げる多くの関数はMathematicaパッケージで提供される.それでも,一部のMathematicaシステムを除いて,これらのパッケージはMathematicaが起動すると同時に先読みされるので,関数は常に使える状態にある.

Mathematica本来の部分をさらに不明確にするものとして,次の機能がある.2.7.11でやり方を説明するが,パッケージにある関数を参照するたびに関数の定義がパッケージから自動的に読み込まれるようにすることができる.関数が参照されなければ,関数は存在しないままだが,一度参照されると,その定義はパッケージから自動的に読み込まれる.

便宜上,Mathematica本来の部分とは,すべてのMathematicaシステムに共通な関数からなる部分ととらえればよいだろう.本書では,これらの関数を中心に解説していくことにする.

それでも,ほとんどのMathematicaのオペレーティングシステム別バージョンには標準でいくつかのパッケージが添付されているため,より多くの関数が定義済みになっている.それらの関数のいくつかは本書でも取り上げる.通常,これらの関数を使うには,パッケージを手動で読み込ませる必要がある.

標準アドオンパッケージに関する情報はヘルプブラウザで入手できる.

適当なMathematicaのシステム設定を行うことで,このようなパッケージを先読みさせたり,必要なときに自動的に読み込ませることも可能である.そうすると,組込み関数と同様に扱える関数が多くなるが,本書ではこのような関数については説明しない.

最後に,パッケージとノートブックの関係について触れておく.これらはともに使用中のコンピュータシステムにファイルとして保存され,またMathematicaに読み込ませることができる.両者の違いは,ノートブック文書は表示される(ノートブックフロントエンドを使って)ためにあるのに対して,パッケージはMathematicaへの入力のためにある,ということである.それでも,実際,多くのノートブックはパッケージとみなされる部分を含み,それらはMathematicaの入力として使われる一連の定義を持っている.また,ノートブックの自動保存に対応するパッケージの設定もある.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.