4

在尝试从 Java 中使用 MLlib 时,使用微风矩阵操作的正确方法是什么?例如,scala 中的乘法它只是“ matrix * vector”。Java中对应的功能是如何表达的?

有像“ $colon$times”这样的方法可以通过正确的方式调用

breeze.linalg.DenseMatrix<Double> matrix= ...
breeze.linalg.DenseVector<Double> vector = ...  

matrix.$colon$times( ...

可能需要一个运算符实例...breeze.linalg.operators.OpMulMatrix.Impl2 但是要使用哪个确切类型的 Operation 实例和参数?

4

2 回答 2

4

老实说,这很难。Breeze 大量使用了隐式,它们只是不能很好地翻译成 Java。我们有一些用于信号处理的 Java 友好包装器,但没有用于线性代数。(我很乐意接受一个为包装提供一些支持的拉取请求。)

于 2014-12-02T19:36:50.470 回答
0

查看https://spark.apache.org/docs/2.2.0/api/java/org/apache/spark/mllib/linalg/BLAS.html,其中包含许多 BLAS 线性代数运算。Scala和Java都可以使用这些。

于 2019-04-16T13:32:01.507 回答