【问题标题】:ejml library use mult() to multiply a matrix by a scalarejml 库使用 mult() 将矩阵乘以标量
【发布时间】:2023-03-22 11:08:01
【问题描述】:

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

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

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

我收到一个编译器错误,指出 Gammadouble,不能应用于 CommonOps 中的 mult()mult 方法的网页是here

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

【问题讨论】:

  • 欢迎来到 Stack Overflow。这不是在这里提问的好方法。到目前为止,您是否尝试过任何方法来解决您的问题?首先展示你的努力,这样人们就可以展示他们的努力。请先阅读FAQHow to Askhelp center

标签: java matrix matrix-multiplication ejml


【解决方案1】:

要执行逐个元素的标量乘法,请使用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,这对于您的示例不是必需的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多