sparse
疎行列を定義
呼び出し手順
sp = sparse(X) sp = sparse(ij, v) sp = sparse(ij, v, mn)
引数
- X
実数または複素数の通常の(または疎)行列
- ij
2列の整数行列 (非ゼロエントリのインデックス)
- v
ベクトル
- mn
2つのエントリ(行の次元, 列の次元c)を有する整数ベクトル
- sp
疎行列
説明
sparse
は疎行列を作成するために使用されます.
ゼロでないエントリのみが保存されます.
sp = sparse(X)
は,
0要素を除外することにより,通常の行列を疎行列に変換します.
(X
が既に疎行列の場合,
sp
はX
となります).
sp=sparse(ij,v [,mn])
は,
sp(ij(k,1),ij(k,2))=v(k)
となる
mn(1)
行mn(2)
列の疎行列
を作成します.
ij
および v
は列の次元が
同じである必要があります.
オプションのmn
パラメータが指定されない場合,
行列sp
の次元は,それぞれ
ij(:,1)
および ij(:,2)
の
最大値となります.
|
Operating sparse matrices
疎行列に関する操作(結合,加算,等,)は通常の行列と同じ構文により 行ないます.
基本的な関数(abs, min, max, sum, diag,...
)は疎行列でも
利用可能です.
(通常の行列と疎行列の)混用も可能です. 結果は処理に応じて通常または疎行列となります.
同じ大きさの通常の行列を含む任意の演算は,
引数(例: 更に,要素( |
例
sp = sparse([1,2;4,5;3,10],[1,2,3]) size(sp) x = rand(2,2); abs(x) - full(abs(sparse(x))) // sparse constructor taking a single dense matrix // removes the zeros. dense = [0., 1., 0., 0., 0., 1., 0., 2., 0., 0. 0., 0., 0., 0., 0. 0., 0., 0., 0., -0.5]; sp = sparse(dense) // complex matrices are also supported sp = sparse(dense*(1+2*%i)) // for boolean matrices, the boolean sparse matrix // only stores true values (and removes false values). dense = [%F, %F, %T, %F, %F %T, %F, %F, %F, %F %F, %F, %F, %F, %F %F, %F, %F, %F, %T]; sp=sparse(dense)
参照
履歴
バージョン | 記述 |
6.0.2 | sparse([],[]) now yields the "(0,0) zero sparse matrix" instead of []. |
Report an issue | ||
<< sp2adj | Sparse Matrix Conversion | spcompack >> |