#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/]]



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS