パッケージは、便利なインタラクティブな使用と効果的なプログラミングの両方を容易にするように設計されています。して実装されています。レイヤはインタラクティブ・レイヤとプログラミング・レイヤです。ルーチンの名前が現在のセッションでいくつかの別の意味を持つかもしれないという可能性を認識しておかなければいけません。次の未評価にする引用符を使う。次のモジュール要素の選択構文を使う。文の右辺は決して評価されないので、後者の方法でうまくいきます。インターフェースです。パッケージのルーチンを提供します。つのステップを完了します。ユーザによって提供されるパラメータを確認。ユーザーによって提供されないパラメータをデフォルト値に設定。結果を得るために、対応するプログラミングレイヤの手続きを呼び出す。ルーチンを使用したいと思い、自作のルーチンの中で関連するデータを検査できるとすると、インタラクティブ・ルーチンを呼び出すことによって必要となるオーバーヘッドを負いたくはないでしょう。プログラミング・レイヤへの直接的なアクセスはこの目的のために用意されています。プログラミング・レイヤについてプログラミング・レイヤは実際の計算エンジンへの高速なインタフェースです。パッケージのサブモジュールです。つの要素をエクスポートし、サブモジュールの要素の名前はインタラクティブ・レイヤ・ルーチンの名前に対応しています。ようにプログラミング・レイヤ・コマンドはコマンドの短い形で利用できます。使用することは勧められません。インタラクティブ・レイヤ・ルーチンとは異なり、プログラミングレイヤルーチンはユーザーによって提供されるパラメータを検査しません、またそれらはユーザーによって提供されないパラメータをデフォルト値に設定しません。プログラミング・レイヤ・ルーチンが特定のサブタスクを実行するためにプログラム・レイヤ・ルーチンを呼び出すかもしれないとき、それらはインタラクティブ・レイヤ・ルーチンを決して呼び出しません。プログラミング・レイヤ・ルーチンは以下の特性によって特徴付けられます。•オプションパラメータはありません。すべてのパラメータが提供されなければなりません。•パラメータは指定された順序で提供されなければなりません。特定のプログラミング・レイヤ・コマンドの呼び出し手順は常に対応するインタラクティブ・レイヤ・コマンドに対する有効な呼出し手順です。逆は正しくありません。この特徴は開発中のコードをデバッグするために役立ちます。参照)、パラメータはほとんど検査が実行されません。ルーチンに渡されるデータが正しい型で、正しい順序であることを確実にするのはプログラマー次第です。パッケージにおけるすべてのインタラクティブ・レイヤ・ルーチンに対してプログラミング・レイヤ・ルーチンは存在し、ほとんどのインタラクティブ・レイヤ・ルーチンの呼び出しはそれらに対応するプログラミング・レイヤ・ルーチンを呼び出します。ルーチンは、渡されたデータの型によって利用可能な種々の異なるサブルーチンの中から選択するルーチンです。入力されたデータが行列の組、行列とベクトル、行列とスカラー、またはそれらの可能な組み合せのいずれであるかによって、このルーチンはその特定の型のデータを扱うように設計され、対応しているインタラクティブ・レイヤ・ルーチンを呼び出します。それ自身はさらにパラメータの検査を行わないが、対応するインタラクティブ・レイヤ・ルーチンが、検査を実行するために呼び出されます。確認が完了されると、対応するインタラクティブ・レイヤ・ルーチンに対するプログラム・レイヤ・ルーチンが呼び出されます。完全性のために用意されていますが、それを使うことによってほとんど何も得られません。引数の型がわかっているならば、適切なプログラミング・レイヤ・ルーチンを直接呼び出すより効率的でしょう。対応するプログラム・レイヤ・ルーチンを呼び出しません、なぜならこれらのルーチンは様々な異なる入力式に作用することができ、入力の型により、ルーチンが何を行うかがはっきり決まってしまうからです。これらに対するプログラミング・レイヤ・ルーチンはインタラクティブ・レイヤ・ルーチンと同一です。Trademarks。