2

行列にJamaを使用するのは初めてです。私の問題は、det()(クラスに関連する)メソッドを使用しているときにLUDecompositionそれが与えること"Matrix must be square"です。さて、私の行列は三角形ですが、それでLUDecomposition正方行列が得られるはずです。このような私のコード

public double findDeterminant(Matrix mtrx) {
    LUDecomposition dec = new LUDecomposition(mtrx);        
    det = dec.det();
    return det;
}
4

1 に答える 1

2

ドキュメントからLUDecomposition:

m >= n の mn列の行列Aの場合、LU 分解は、m 行 n 列の単位の下三角行列、n 行 n 列の上三角行列、および長さmの順列ベクトルであるため、 となります。m < nの場合、はm行 m 列およびm 行 n 列です。LUpigA(piv,:) = L*ULU

getU()またはgetL()(上記の説明に基づいて、そのうちの1 つが正方形になる)の行列式を見つけるつもりでしたか?

detメソッドは、オブジェクトの構築に使用された行列の行列式LUDecompositionを返します(あなたの場合、正方形ではないと仮定しています)。mtrx

于 2012-11-18T17:15:56.137 に答える