疎な線形代数の高速処理
Mathematica 5では特化された技術を利用して,大規模な問題で疎行列(行列のほとんどの要素がゼロであるもの)を含む計算を一層効率的に行います.この向上により,Mathematica は大規模シミュレーション,最適化,偏微分・常微分方程式等,通常疎行列を含む問題に最適なものになっています.
Mathematica 5における疎な線形代数の実装は,以下の点においてユニークなものです.
- 記号的な前処理で疎行列の形式を最適化する
- ユーザが介入しなくても,パフォーマンスが向上すると思われる場合は,自動的に疎なアルゴリズムが使用される(ただし,従来の数値計算システムとの比較のため等,必要な場合は手動で実行することができる)
- あらゆる次元(または階数)の配列が扱える
疎な線形代数操作でのスピードおよびメモリ使用についてのパフォーマンスは,専用の数値システムと同等,あるいはそれ以上です.
下のグラフは,1行に3つの非零要素を持つ行列の疎表現と密表現の大きさの差に大きい違いがあることを示しています.
疎配列に施す一般の行列操作の多くは,密配列への操作よりも顕著に速く実行されます.下のグラフは,1行に3つの非零要素を持つ行列を転置するのに,Mathematica 5と4.2でかかる時間を示したものです
|