我们正在计算一些运行时受矩阵运算约束的东西.(如果感兴趣,请参阅下面的一些详细信息.)这一经历引发了以下问题:
人们有没有使用Java库进行矩阵运算(例如乘法、倒数等)的经验?例如:
我搜索了一下,什么也没找到.
我们的速度比较详细信息:
我们使用的是英特尔FORTRAN(iPort(iPort)10.120070913).我们已经使用Apache commons math 1.2 matrix ops在Java(1.6)中重新实现了它,并且它符合其所有精度数字.(我们有理由希望在Java中使用它.)(Java Double,Fortran real*8).Fortran:6分钟,Java 33分钟,同一台机器.jvisualm评测显示了在RealMatrixImpl中花费的大量时间.{getEntry,isValidCoordination}(在未发布的ApacheCommons math 2.0中似乎已经消失了,但2.0并没有更快).Fortran正在使用Atlas BLAS routine (dpotrf等).
显然,这可能取决于我们在每种语言中的代码,但我们相信大部分时间是在等价的矩阵运算中.
在其他几个不涉及库的计算中,Java并没有慢很多,有时甚至快很多.