MATLAB Function Reference | ![]() ![]() |
colamd
表示
p = colamd(S) p = colamd(S,knobs) [p,stats] = colamd(S) [p,stats] = colamd(S,knobs)
詳細
p = colamd(S)
は、スパース行列S
に対して、列が最小度合いによる並べ替えを近似したものをしゅつりょくします。非対称行列
S
に対して、S(:,p)
は、S
よりも、よりスパースなLU分解をもつ傾向になります。S(:,p)'
* S(:,p)
のコレスキー分解も、S'*S
のコレスキー分解よりも、よりスパースな傾向になります。
knobs
は、2要素からなるベクトルです。S
が、m
行 n
列の場合、(knobs(1))*n
より以上の行は、無視されます。(knobs(2))*m
要素より以上の列は、並べ替えの前に除去され、出力の並べ替えのp
の中に、最終的に並べ替えます。knobs
パラメータが存在しない場合、knobs(1)
= knobs(2) = spparms('wh_frac')
となります。
stats
は、オプションのベクトルで、行列 S
の並べ替えと妥当性に関するデータを与えます。
MATLABの組み込み関数は、取り扱い可能なスパース行列を作成しますが、ユーザは、MATLAB
C、または、Fortran APIを使って、取り扱い不可能なスパース行列を作成でき、colamd
に渡します。このため、colamd
は、S
が正しいものか否かをチェックします。
colamd
は、2回目のものからそれらを無視し、処理を続け、stats(4:7)
の中に重なっているものに対する情報を与えます。colamd
は、行列S
の内部コピーの各列をストアし(入力行列S
を修正することはありません)、処理を続け、stats(4:7)
の中に順番通りに並んでいないものに関する情報を与えます。S
が、正しいものでない場合、colamd
は処理を続けません。そして、エラーメッセージを印刷し、出力引数(p
、または、stats
)は戻りません。参考
colmmd
, colperm
, symmmd
, symrcm
![]() |
cmopts | colmmd | ![]() |