共役勾配(CG)メソッドを使用して、巨大なスパース正定行列Aのを解いています。解析中に生成された情報を使用して、Aの行列式を計算することは可能ですか?
共役勾配(CG)メソッドを使用して、巨大なスパース正定行列Aのを解いています。解析中に生成された情報を使用して、Aの行列式を計算することは可能ですか?
回答:
スパース行列の行列式の計算は、通常、直接解くのと同じくらい高価であり、私はCGが計算に大いに役立つだろうと懐疑的です。ためにCGを実行することが可能であろう(反復AがであるN × Nの全スペクトルのための情報を生成するために)Aを、そしてその後に固有値の積として決定因子を計算するが、これは両方の遅いであろうと数値的に不安定。
マトリックスのスパース直接コレスキー分解を計算することをお勧めします。たとえば、。ここで、Lは低三角形です。次に、 det (A )= det (L )det (L H)= | det (L )| 2、 ここでdet (L )は、三角行列の固有値が対角線に沿っているため、単純に下三角行列Lの対角要素の積です。
一般的な非特異行列の場合には、旋回LU分解を使用しなければならない、と言う、Pは順列行列であり、その結果 DET (A )= DET (P - 1)⋅ DET (L )⋅ DET (U )。 以来、Pは順列行列であり、DET (P )= ± 1、及び、建設によって、L