【问题标题】:Singular Matrices and Jama奇异矩阵和 Jama
【发布时间】:2012-07-03 15:53:23
【问题描述】:

我正在使用 Jama API 来解决线性代数问题。但它给了我一个错误:java.lang.RuntimeException: Matrix is singular.

我想当矩阵是奇异的时,可能有多种解决方案。 Jama API 中是否有办法获得这些解决方案之一,或者是否有任何其他 API 可以帮助我。

下面是我正在使用的代码 sn-p:

Matrix A = new Matrix(input);
Matrix B = new Matrix(startState);
Matrix X = A.solve(B);
answer = X.getArray();
return answer;

【问题讨论】:

  • This question 可能会帮助你。
  • 单数意味着没有解决方案,没有很多。
  • @SeanOwen:如果方程不一致,则系数矩阵可能是奇异的(不可逆),例如两条平行线有没有相交,或者如果某些方程是相关的,例如两条具有无限相交的重合线。
  • 你是对的@trashgod,我认为 Jama 会在依赖行的情况下使用伪逆来给出解决方案,但事实并非如此。

标签: java matrix jama


【解决方案1】:

检查矩阵的行列式 - 如果为零,则表示矩阵没有逆矩阵(组成矩阵的行不是独立的)。在这种情况下,您可以查看 SVD、Gauss-Siedel、Jacobi 迭代等。此外,作为备用库,如果有帮助,您可以查看 apache commons math。

【讨论】:

  • 我查看了 Apache Commons。他们有很好的线性代数 API:Commons Math。我使用了SVD。 @ali haider
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多