久しぶりに何かまともな記事を書こうと思ったので書く。 自然現象をうまく計算可能な形に持っていくと大体連立一次方程式になる、らしい。 で、連立一次方程式は次元数的に規模は違えど大体が要素の殆どが零要素になっている疎行列(Sparse Matrix) になる、らしい。 で、規模が大きくなるにつれて零要素がどんどん増えていくので、格納効率は非常に悪い。 零要素は可能な限り無くして、メモリを効率的に扱いというあたりで疎行列格納方式を使う。 補足:疎行列を普通の行列の格納方法でメモリに入れようとした場合 例えば、5万次元の行列を普通にメモリに入れようとすることを考える。 float 型(4Byte) で、5万の行列を普通に確保しようとすると、 (sizeof(float) * 50000^2) / 1024 / 1024 = (4 * 50000^2) / 1024 / 1024 / 1024 =
![疎行列格納形式の話 - krustf の雑記](https://cdn-ak-scissors.b.st-hatena.com/image/square/9805cf4ea0b08b79f2e90e5a39d1f027050ef2e9/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkrustf%2F20120730%2F20120730124915.png)