gf_precond

概要

PC = gf_precond('identity')
PC = gf_precond('cidentity')
PC = gf_precond('diagonal', vec D)
PC = gf_precond('ildlt', spmat m)
PC = gf_precond('ilu', spmat m)
PC = gf_precond('ildltt', spmat m[, int fillin[, scalar threshold]])
PC = gf_precond('ilut', spmat m[, int fillin[, scalar threshold]])
PC = gf_precond('superlu', spmat m)
PC = gf_precond('spmat', spmat m)

説明 :

precond オブジェクトの汎用的なコンストラクタ

前処理行列は,REAL値またはCOMPLEX値を記憶することができます.getfem疎行列とMatlab疎行列が使用可能です.

コマンドリスト

PC = gf_precond('identity')

実数の前処理行列を作成します.

PC = gf_precond('cidentity')

PC = Precond('cidentity') COMPLEX 単位前処理行列を作成します.

PC = gf_precond('diagonal', vec D)

PC = Precond('diagonal', vec D) 対角前処理行列を作成します.

PC = gf_precond('ildlt', spmat m)

(Cholesky)疎行列 <literal>m</literal> のILDLT(Cholesky)前処理行列を作成します.この前処理行列は(fill-in無しの) <literal>m</literal> と同じ非ゼロパターンです.

PC = gf_precond('ilu', spmat m)

疎行列 <literal>m</literal> に対するILU(不完全なLU)前処理行列を作成します.この前処理行列は,(fill-in無し) <literal>m</literal> と同じじ非ゼロパターンを有します.

PC = gf_precond('ildltt', spmat m[, int fillin[, scalar threshold]])

(対称の)疎行列 <literal>m</literal> のILDLTT( 密なCholesky )前処理行列を作成します.前処理行列は,各行上に追加の非ゼロのエントリを最大 <literal>fillin</literal> 個追加することができます. <literal>fillin</literal> のデフォルト値は10で,デフォルトの閾値は1e-7です.

PC = gf_precond('ilut', spmat m[, int fillin[, scalar threshold]])

疎行列 <literal>m</literal> に対するILUT(フィルされている不完全なLU)前処理行列を作成します.前処理行列は,各行上に追加の非ゼロのエントリを多くとも <literal>fillin</literal> 個追加することができます. <literal>fillin</literal>のデフォルト値は10で,デフォルトの閾値は1e-7です.

PC = gf_precond('superlu', spmat m)

SuperLUを使用して,疎行列 <literal>m</literal> の正確な因数分解を構築します.この前処理行列は,SuperLU をサポートするgetfem-interfaceが構築されている場合にのみ使用できます.LU分解は,3次元問題の場合,メモリをすべて消費する可能性が高いことに注意してください.

PC = gf_precond('spmat', spmat m)

疎行列によって明示的に与えられる前処理行列です.