ejml库使用mult()将矩阵乘以标量

时间:2014-09-11 16:48:08

标签: java matrix matrix-multiplication ejml

例如,我想将标量Gamma乘以NxN矩阵A,并将结果作为NxN矩阵B返回,即B = Gamma * A.

首先,我创建DenseMatrix64F ADenseMatrix64F Bdouble Gamma。然后,我想使用这个方法:

org.ejml.ops.CommonOps.mult(Gamma, A, B);

我收到Gammadouble的编译错误,该错误无法应用于mult()中的CommonOpsmult方法的网页为here

我不知道我哪里错了。你能帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

要执行逐个元素的标量乘法,请使用org.ejml.CommonOps.scale

在您的情况下,请尝试:

org.ejml.CommonOps.scale(double Gamma, DenseMatrix64F A, DenseMatrix64F B).

在您的示例中,出现错误是因为org.ejml.CommonOps.mult的三参数形式要求第一个参数为DenseMatrix64F类型,如:

org.ejml.CommonOps.mult(DenseMatrix64F a, DenseMatrix64F b, DenseMatrix64F c)

因此,当您传入double作为第一个参数时,您将收到编译器错误。此外,mult执行矩阵乘法c = a * b,这对您的示例不是必需的。