線形代数の問題で困っています。
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の実装用です(画像処理):)