LinearAlgebra パッケージは、linalg パッケージの機能のほとんどすべてを含むだけでなく、うまく定義されたデータ構造、特殊な行列を作る付加的なコマンド、そして改良された行列代数の計算を含む線形代数のコマンドの集まりです。また、特に大きい数値行列の計算を行うとき、より強力で効率的です。
基本データ構造としてのベクトルと行列
LinearAlgebra パッケージのルーチンで用いられる基本的なデータ構造は Vector (ベクトル) と Matrix (行列) です。これらはそれぞれ Vector(..) と Matrix(..) コマンド、もしくは ショートカット表記 (<a,b,c>) を用いて作られます。これらの実装は Maple の rtable データ構造 に基づいています。その結果、リスト、表や rtable に基づいた配列、linalg の matrix、linalg の vector は Vector や Matrix と互換ではありません。
特殊な種類の行列とベクトルに対するコマンド
LinearAlgebra パッケージには (ゼロ行列、単位行列、定数行列などの) 特殊な行列やベクトルを作るコマンドが含まれています。
行列代数における直接評価
LinearAlgebra パッケージは行列代数の計算を行う多くのコマンドを含んでいます。これに加えて、A+B, A.B, A-A のような 行列代数 における式は直接評価されます。このことは追加のコマンドや構文規則を学ぶ必要を軽減するという意義があります。
変数名の制御に対するモジュールの実装
LinearAlgebra ルーチンの集まりは モジュールとして実装されているので、with(..) コマンドを用いることによりこれらのコマンドの短い形の名前を使える環境になります。
大きい数値行列の効率的計算
Maple と数値アルゴリズムグループ (NAG) との提携により、LinearAlgebra パッケージで用いるための追加の数値アルゴリズムが Maple に含まれています。そのうえ、LinearAlgebra コマンドの呼び出し手順は、標準のフォーマットまたはある行列の性質を指定するオプションを含めて使うことができます。これらのオプションを呼び出し手順に含めることにより、計算のためのMaple のアルゴリズム選択を助けます。結果として、数値を成分とする大きい行列の計算効率 は大きく改善されます。