gpt4 book ai didi

java - java中的matlab矩阵函数

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:26 25 4
gpt4 key购买 nike

我注意到 matlab 执行某些矩阵函数的速度非常快,例如将 5 添加到 n*n 数组的所有元素几乎立即发生,即使矩阵很大也是如此,因为您不必遍历每个元素,执行同样在 Java 中,如果矩阵很大,for 循环将永远持续下去。

我有两个问题,java 中是否有高效的内置类来执行矩阵运算,第二个问题是我如何编写代码以更有效地更新 java 中大矩阵的所有元素。

最佳答案

刚刚无意中看到这篇文章,我想我会投入两分钱。我是 EJML 的作者,我还在为 Java 库制定性能和稳定性基准测试。虽然确定算法的速度有几个问题,但 Mikhail 是正确的,缓存是大型矩阵性能中的一个非常重要的问题。对于较小的矩阵,库开销变得更加重要。

由于数组访问的开销,纯 Java 库比高度优化的 c 库慢,即使算法完全相同。一些库通过调用 native 代码来解决这个问题。你可能想看看

http://code.google.com/p/matrix-toolkits-java/

正是这样做的。将内存从 java 复制到 native 库会产生一些开销,但对于大型矩阵来说,这是微不足道的。

有关纯 Java 性能(我正在研究的)的基准,请查看:

http://code.google.com/p/java-matrix-benchmark/

另一个基准在这里:

http://www.ujmp.org/java-matrix/benchmark/

这些基准测试中的任何一个都应该让您对大型矩阵的性能有一个很好的了解。

关于java - java中的matlab矩阵函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1881172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com