作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 JAMA 的程序而需要测试的是一个矩阵是否可以倒置。我知道我可以尝试它并捕获异常,但这似乎是个坏主意(将 catch block 作为“正常”代码路径的一部分似乎是一种不好的形式)。
首选也返回逆运算(或在比逆运算更好的 O() 中运行)的测试。
最佳答案
一般来说,如果你不能求解矩阵,它就是单数(不可逆)。我相信 JAMA 这样做的方法是尝试使用 LU 分解来求解矩阵,如果失败,它会为 isSingular() 返回“true”。
实际上并没有一种通用的方法来查看矩阵的元素并确定它是否是奇异的 - 您需要检查每一列以查看它是否与其他列正交(即矩阵的零空间是0). LU 因式分解速度非常快,通常......然而,有时它会占用大量运算。
您有实际的速度问题要努力克服吗?
关于java - 使用 Jama.Matrix 测试可逆性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/481969/
我是一名优秀的程序员,十分优秀!