#contents *CRS形式 [#gb7a22d4] CRS (Compressed Row Storage) 形式は、疎行列を格納する方法の一つで、 広く使われています。 例えば、以下のような複素数成分の行列があったとします。 #br CENTER:&math(\left(\begin{array}{cccc} a & b & c & 0 \\ 0 & 0 & 0 & d \\ e & 0 & 0 & f \\ 0 & 0 & g & 0 \end{array}\right)); #br 以下の手順でCRSデータを作成します。 (1) 非ゼロ要素を左から右、上から下へ書きならべ、その成分の行と列を別の配列に格納する。 - A = [a, b, c, d, e, f, g] ~ - I(A) = [1, 1, 1, 2, 3, 3, 4] ~ - J(A) = [1, 2, 3, 4, 1, 4, 3] (2) 配列I(A)は同じ数字が続くので、何番目の要素から次の行が始まるかを書く。 - I’(A) = [1,4,5,7] (3) I'(A), J(A), A の組を使って疎行列を表現する。 このフォーマットは線形アルゴリズムの研究者の間で広く使われているため、 応用数学分野の研究者との連携に便利です。 少し変更すれば Matrix market フォーマットにも変換可能です。 ***参考資料 [#zb0918ad] - [[疎行列 (ウィキペディア)>http://ja.wikipedia.org/wiki/%E7%96%8E%E8%A1%8C%E5%88%97]] - [[並列数値アルゴリズム I (多田野寛人氏)>http://www.ccs.tsukuba.ac.jp/workshop/HPCseminar/2010/material/2010-04alg.pdf]] / [[CCS HPCサマーセミナー2010>http://www.ccs.tsukuba.ac.jp/workshop/HPCseminar/2010/]]