MATLAB Function Reference    
spparms

スパース行列のルーチンに対してパラメータを設定

表示

詳細

spparms('key',value) は、スパース線形方程式の演算子 \/、、または、最小度合い並べ替え colmmdsymmmd で用いる調整可能なパラメータを、1つ以上設定します。通常の使用では、ユーザがこの関数を使う必要はありません。

key パラメータの意味を、つぎの表に示します。
'spumoni'
スパースモニターフラグ。
0 が、デフォルト値で、診断出力をしません。
1 は、行列構造に基づいたアルゴリズム選択についての情報とストレージの割り当ての情報を出力します。
2 は、最小度合いアルゴリズムの詳しい情報も出力します。
'thr_rel',
'thr_abs'

最小度合いのしきい値は、thr_rel*mindegree+thr_abs となります。
'exact_d'
ゼロでない場合、最小度合いに正確な度合いを使います。ゼロの場合、近似の度合いを使います。
'supernd'
正の場合、最小度合いは、supernd 段階毎に supernodes を組み込みます。
'rreduce'
正の場合、最小度合いは、rreduce 段階毎に行の縮小を行います。
'wh_frac'
density > wh_frac である行は、 colmmd では無視されます。
'autommd'
非ゼロの場合、\ と / による最小度合い並べ替えを使います。
'aug_rel',
'aug_abs'

拡大方程式の残差スケールパラメータは、つぎのようになります。
    aug_rel*max(max(abs(A))) + aug_abs. 
    
たとえば、aug_rel = 0, aug_abs = 1 は、拡大行列の(1,1)ブロックにスケーリングしない単位行列を使用します。

spparms, だけでは、カレントの設定値を表示します。

values = spparms は、カレントの設定値を成分とするベクトルを出力します。

[keys,values] = spparms は、ベクトルを出力し、キャラクタ行列の行が、パラメータに対するキーワードであるようなキャラクタ行列も出力します。

spparms(values), は、出力引数を指定しないと、すべてのパラメータを引数ベクトルで指定した値に設定します。

value = spparms('key') は、1 つのパラメータのカレント値を出力します。

spparms('default') は、すべてのパラメータをデフォルト値に設定します。

spparms('tight') は、最小度合いの並べ替えのパラメータを tight (厳密) 値に設定します。これは、少ない充填で並べ替えを行うことができますが、並べ替えに時間がかかるようになります。

パラメータのキーワードとその default、または、tight は、つぎの通りです。


キーワード
デフォルト
Tight 値
values(1)
'spumoni'
0.0

values(2)
'thr_rel'
1.1
1.0
values(3)
'thr_abs'
1.0
0.0
values(4)
'exact_d'
0.0
1.0
values(5)
'supernd'
3.0
1.0
values(6)
'rreduce'
3.0
1.0
values(7)
'wh_frac'
0.5
0.5
values(8)
'autommd'
1.0

values(9)
'aug_rel'
0.001

values(10)
'aug_abs'
0.0

参考

\, colamd, colmmd, symamd, symmmd

参考文献

Gilbert, John R., Cleve Moler and Robert Schreiber, "Sparse Matrices in MATLAB: Design and Implementation," SIAM Journal on Matrix Analysis and Applications, Vol. 13, 1992, pp. 333-356.


 spones sprand