How to | 疎行列を操作する方法
行列のスパース表現は要素をそれぞれすべて保管するということがないので,便利である.1つの特定値が非常に頻繁に現れる場合に,スパース表現を使うと大変便利なことがある.Wolfram言語は,SparseArrayで行列,ベクトル,テンソルのスパース表現を提供する.これらはリストで表示される密行列と非常に深く関係している.リストに使用できる操作のほとんどがスパース配列にも使用できる.
スパース配列を作成する方法は数多くある.その多くが関数SparseArrayを使用する.
以下は密行列から疎行列を作成する.疎行列は大変大きなものであるかもしれないので,行列のように表示されることはない.
それでも行列を普通の行列のようにフォーマットすることができる:
Wolfram言語のパターンと一緒に規則構文「:>」を使用して,構造疎行列を作成することができる.この例では三重行列を作成する:
Bandを使ってさらに複雑な行列を作成することができる.この例では帯が反対角線上に作成される:
Harwell–BoeingあるいはMatrix Marketといった疎行列の形式のひとつをインポートして疎行列を作成することもできる.
疎行列の中の非零の要素の位置を見ることができるようにすると便利なことがある.これはMatrixPlotを使って行うことができる.行列に多くの要素が含まれるような場合でも,MatrixPlotは行列の希薄パターンを効率的に見せる方法を提供する.
Importを使って大きな行列をロードする: