Java中行列式的确切符号

时间:2012-02-18 11:38:24

标签: math

是否有一些Java数学库用于计算行列式的精确符号? 该库必须支持具有建设性零边界的精确计算,精确驱动的方法和用于性能的数值滤波器。

例如:当我只使用Java BigDecimal数字类型进行计算时,会出现零问题。如果结果是,例如,1.0E-101,它是零吗?是还是不是?在我看来,基于恒定零界限的解决方案(如0.0E-100)是不精确的,而且不够稳健。

感谢您的回复。

注意: 就个人而言,我尝试过库JScience,Common Math,但我没有证明这个库使用精确计算。

JScience提供Rational,但是反向操作存在问题(0 / x失败)。此外,JScience提供Real,但也存在逆问题(精确性丢失)。

似乎Common Math在不精确模式下使用BigDecimal。 (见BigReal)。可能是BigFraction是确切的,但我还没有证明。

1 个答案:

答案 0 :(得分:0)

我建议使用BigDecimal.signum来测试BigDecimal的符号。