2

タイトルが示すように、正定行列 A のコレスキー LDL 分解を形成する必要があります (通常のコレスキーと同様ですが、L の対角が 1 つあり、D は対角行列です)。Lapackでそれを行う関数を1つだけ見つけましたが、行列Aは三重対角でなければならないと言っています。lapack のようないくつかの無料のサブルーチン ライブラリでそれを行う何らかの関数はありますか?

4

1 に答える 1

3

LAPACK の SSPTRF 関数を確認してください。

目的
=======

SSPTRF は、バンチ-カウフマン対角ピボット法を使用して、パック形式で格納された実対称行列 A の因数分解を計算します:

A = U*D*U**T または A = L*D*L* *T

ここで、U (または L) は順列と単位上 (下) 三角行列の積であり、D は対称であり、1 行 1 列および 2 行 2 列の対角ブロックをもつブロック対角です。

また、Golub と van Loan の「Matrix Computations」という本には、分解を行うためのアルゴリズムが記載されています。私の第 3 版では、138 ページのセクション 4.1.2「対称性と LDL^T 因数分解」にあります。

于 2009-06-14T05:19:33.913 に答える