Java JAMA:矩阵是秩亏的

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(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