行列が非常に疎である場合でも、それ自体との行列積は密になる可能性があります。たとえば、対角行列を取り上げ、その最初の行と列をゼロ以外のエントリで埋めます。その製品自体は完全に高密度になります。そのような行列は、たとえば、他のすべての頂点に接続されている頂点があるグラフのグラフラプラシアンとして発生する可能性があります。実際には、ネットワークの他の部分への接続性が非常に高い頂点がいくつかあれば十分です。行列とベクトルの乗算の場合、この現象はあまり重要ではありませんが、行列とベクトルの乗算を並列化しようとすると不均衡が生じる可能性があります。
ここで強調したいことは、スパースパターンと、マトリックスをどのように処理するかによって異なります。したがって、私が思いつくことができる疎行列の最良の定義(同時にかなり役に立たない)は次のとおりです。
ゼロ以外の値とその位置のみを格納し、発生するデータ構造の管理から生じる追加のオーバーヘッドを投資することが有利である場合、マトリックスはスパースです。
学ぶべき教訓:それは、実際に何をしたいか、どのアルゴリズムを使用するか、(他の人がすでに指摘しているように)特定の行列がスパースであるかどうかに関係なく、どのハードおよびソフトウェアを使用するかに依存します(次のように読みます:疎または密行列データ構造を使用する必要があるかどうか)。データの格納や行列とベクトルの乗算だけではない場合は、純粋にパーセンテージベースのルールはありません。行列がスパースであるかどうかを確認する最良の方法は、それを試して密行列法と比較することです。