Java JAMA:矩阵是秩亏的
我有一个线性代数问题 我有两个矩阵K(1034*1037)和T(1034*2),我想计算KW=T的解W(1037*2) 但是Java JAMA:矩阵是秩亏的,java,matrix,linear-algebra,jama,Java,Matrix,Linear Algebra,Jama,我有一个线性代数问题 我有两个矩阵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(Matr
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