MATLAB Function Reference | ![]() ![]() |
symamd
表示
p = symamd(S) p = symamd(S,knobs) [p,stats] = symamd(S) [p,stats] = symamd(S,knobs)
詳細
p = symamd(S)
は、対称正定行列 S
に対して、S(p,p)
が、S
よりも、よりスパースなコレスキファクタをもつ傾向になる置換ベクトル
p
を戻します。S
に関する並びを見つけるには、symamd
が、spones(M'*M) = spones (S)
を満足する行列 M
を作成して、p = colamd(M)
を計算します。関数 symamd
は、対称非正定行列に対しても、機能します。
S
は、スパースである必要があります。厳密な意味で下三角部のみを参照してください。
knobs
は、スカラです。S
が、n
行 n
列の行列の場合、knobs*n
要素以上の行や列は、並べ代えの前に除去され、最後に、出力される並べ替えられた行列
p
の後に加えます。パラメータ knobs
が存在しない場合、knobs = spparms('wh_frac')
となります。
stats
は、オプションのベクトルで、行列 S
の並びや妥当性についてのデータを与えます。
MATLAB
組み込み関数は、正しいスパース行列を作成しますが、ユーザは、MATLAB
C または Fortran API を使って、正しくないスパース行列を作り、symamd
に転送することもできます。このため、symamd
は、S
が正しいものであることを確認しておく必要があります。
symamd
は、重複している部分を無視し、処理を続け、重複要素に関する情報を
stats(4:7)
に出力します。symamd
は、行列 S
の内部コピーの各列をソートし(しかし、入力行列
S
を修正しません)、処理を続け、stats(4:7)
の中に、範囲外に対応する要素の情報を与えます。S
が、他の方法を使って、正しく設定できない場合、symamd
は処理を続けません。エラーメッセージを印刷して、出力引数(p
、または、stats
)を戻しません。注意 symamd
は、symmmd
よりも高速処理し、良いと思われる順列を出力します。 |
参考
colamd
, colmmd
, colperm
, symmmd
, symrcm
![]() |
switch | symbfact | ![]() |