1

線形代数の問題で困っています。

2 つの行列 K (1034*1037) と T (1034*2) があり、KW=T の解 W (1037*2) を計算したいと考えています。

ただしk.solve(t)、次のエラーが返されます。

Exception in thread "main" java.lang.RuntimeException: Matrix is rank deficient.
    at Jama.QRDecomposition.solve(QRDecomposition.java:185)
    at Jama.Matrix.solve(Matrix.java:815)
    at Main.main(Main.java:59)

それはどういう意味ですか?Kのランクを計算して1034かどうかを確認しようとしましたが、計算は永遠に続くようです...

私は何をすべきか?ヒントをいただければ幸いです。


行列は次のようになります (m = 1024 の場合)。

// Matrix k
 0  u12 u13   ...   u1m  1  sx1 sy1
u12  0  u23   ...   u2m  1  sx2 sy2
u13 u23  0    ...   u3m  1  sx3 sy3
 .          .        .   .   .   .
 .             .     .   .   .   .
 .                .  .   .   .   .
u1m u2m u3m   ...    0   1  sxm sym

// Matrix t
tx1 ty1
tx2 ty2
 .   .
 .   .
 .   .
txm tym

あなたが尋ねるなら、これはThin-Plate-Splinesの実装用です(画像処理):)

4

0 に答える 0