[英]Matrix multiplication in java
我想用Java进行矩阵乘法,并且速度必须非常好。
我当时想通过Java调用R来实现这一点。
我有几个问题:
使用Java调用R是个好主意吗? 如果是,是否可以共享任何代码示例?
在Java中可以考虑采用其他哪些方法进行矩阵乘法?
我辞职的同事是C#程序员,他被迫编写涉及矩阵乘法的Java代码。
-他已经用Java编写了自己的DataTable类,以便能够
a)创建索引以对其他DataTable进行排序和联接
b)矩阵乘法。
因此,我想从本质上清理代码,并认为在Java中使用类似R的东西将帮助我专注于业务逻辑,而不是排序,联接,矩阵乘法等。
您可以使用矩阵包,例如JAMA 。
关于将R与Java结合使用,有一些stackoverflow问题。 使用JRI很简单。 参见以下示例示例: Java中的R。 集成代码后,在R中执行矩阵乘法就很简单了。 如果您有两个矩阵a
和b
,则只需调用: a %*% b
。
如果您希望使用纯Java并使用数学库,也可以考虑使用Colt (从JAMA改编而成),尽管直接使用JAMA可能会更好。
另一个选择是使用Clojure的Incanter (除其他功能外,它提供了Parallel Colt的包装),然后从Java称为Jar。 将Clojure集成到Java中很简单,如果只需要矩阵乘法,那将比使用R更容易。
jblas
再次投票。 所有方法都像您期望的那样。
EJML似乎是一种有前途的快速乘法新方法。 他们在自己的站点上有基准测试,以显示他们声称是矩阵乘法的快速时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.