疎行列 A を Compressed Sparse Row 形式 (CSR) で保存します。A の LU 分解を計算したいと思います。一般的なアルゴリズムは、行列のすべての係数をループする必要があるため、あまり効率的ではありません。CSR 形式を利用して LU 分解を計算する効率的なアルゴリズムはありますか? ご協力ありがとうございました!
質問する
1210 次
1 に答える
0
私はla4j (Java の線形代数) ライブラリの作成者です。la4j は CRS フォーマットと LU 分解をサポートしています。だから、あなたはそれを使ってみることができます。しかし、la4j (0.4.0) は、分解を実行する際に具体的な形式の詳細を実際には処理しません。しかし、これは私が次のリリースで計画していることです。更新を購読するか、そのようなアルゴリズムを自分で実装して、la4j にプルリクエストを送信することができます。
LU デコンポジターの使用方法:
Matrix a = new CRSMatrix(new double[][]{
{1.0, 2.0},
{3.0, 4.0}
});
// lu[0] - L, lu[1] - U
Matrix[][] lu = a.decompose(Matrices.LU_DECOMPOSITOR);
于 2013-06-07T05:06:18.157 に答える