java中的矩阵乘法

时间:2010-04-17 14:53:04

标签: java r matrix-multiplication

我想在Java中进行矩阵乘法,速度需要非常好。

我正在考虑通过java调用R来实现这一点。

虽然我有几个Q:

  1. 使用Java调用R是个好主意吗?如果是,是否有可以共享的代码示例?

  2. 在Java中进行矩阵乘法的其他方法有哪些?

  3. 更新

    退出公司的同事是一名C#程序员,他被迫编写涉及矩阵乘法的Java代码。

    - 他用Java编写了自己的DataTable类,以便能够

    a)创建索引以与其他DataTables进行排序和连接

    b)矩阵乘法。

    所以,我想基本上清理代码,并认为在Java中使用类似R的东西将有助于我专注于业务逻辑而不是排序,连接,矩阵乘法等。

5 个答案:

答案 0 :(得分:4)

您可以使用矩阵包,例如JAMA

答案 1 :(得分:4)

关于在Java中使用R,有几个stackoverflow问题。使用 JRI 这很简单。请参阅此问题以获取示例:R from within Java。一旦集成了代码,在R中进行矩阵乘法是微不足道的。如果您有两个矩阵ab,则只需拨打:a %*% b

如果你想留在纯Java并使用数学库,你也可以考虑使用Colt(改编自JAMA),尽管你可能会更好using JAMA directly 3}}

另一种选择是使用Incanter from Clojure(提供Parallel Colt的包装,除其他外),然后从Java中将其称为Jar。将Clojure集成到Java中是微不足道的,如果你想要的只是矩阵乘法,那么对你来说比使用R更容易。

答案 2 :(得分:0)

EJML似乎是快速乘法的一个很有希望的新方法。他们在他们的网站上有基准,以显示他们声称矩阵乘法的快速时间。

答案 3 :(得分:0)

Parallel colt是执行矩阵运算的有效库。

其他优秀的矩阵库包括jblasujmp

所有这些套餐都有效。 jblas是我个人的最爱。与ujmp

不同,它具有良好的文档和直接性

答案 4 :(得分:0)

jblas的另一次投票。所有方法都像你一样期望它们。