このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
pcg
線形方程式系の求解 — 前処理付き共役勾配法
構文
説明
は、前処理付き共役勾配法を使用して、線形方程式系 x
= pcg(A
,b
)A*x = b
を x
について解きます。試行が正常に完了した場合、pcg
は収束を確認するメッセージを表示します。pcg
が最大反復回数に達しても収束しないか、何らかの理由で実行を停止した場合は、相対残差 norm(b-A*x)/norm(b)
と停止時の反復回数を含む診断メッセージが表示されます。
例
入力引数
出力引数
詳細
ヒント
ほとんどの反復メソッドにおける収束は、係数行列の条件数
cond(A)
に依存します。A
が正方行列の場合、equilibrate
を使用して条件数を改善することができ、それ自体でほとんどの反復ソルバーが収束しやすくなります。ただし、equilibrate
を使用することでも、平衡化した行列B = R*P*A*C
を次に因子分解する際に前処理行列の品質が向上します。dissect
やsymrcm
などの行列の並べ替え関数を使用して係数行列の行と列を並べ替え、係数行列が因子分解されて前処理行列が生成される際に非ゼロの数を最小化できます。これによって、後で前処理を使用した線形システムを解くのに必要なメモリと時間を削減できます。
参照
[1] Barrett, R., M. Berry, T. F. Chan, et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM, Philadelphia, 1994.
拡張機能
バージョン履歴
R2006a より前に導入