【问题标题】:Operations betzeen matrix and scalar in breeze微风中的矩阵和标量运算
【发布时间】:2016-09-25 06:10:27
【问题描述】:

Adendo:这似乎是一个 scala IDE 错误,因为使用命令行 sbt 可以顺利编译和运行。我会结束这个问题,但 StackOverflow 不允许

我无法在 Breeze 中对矩阵求和或乘以标量
如果我尝试:

val z = DenseMatrix.zeros[Double](5,3)
z + 2.0

我收到两个错误:

could not find implicit value for parameter op: breeze.linalg.operators.OpAdd.Impl2[breeze.linalg.DenseMatrix[Double],Double,That]
not enough arguments for method +: (implicit op: breeze.linalg.operators.OpAdd.Impl2[breeze.linalg.DenseMatrix[Double],Double,That])That. Unspecified value parameter op.

如果我尝试 * 、 :* 、 *: 、 :+ 和 +: 会发生同样的事情,但错误略有不同。
如果它是 DenseVector 而不是 DenseMatrix 并且我使用 :+ .
如果我在 scala IDE 工作表中尝试它,它会产生错误,但会正确打印结果矩阵。 我正在使用 Scala IDE 4.4.1 ,微风 0.12 ,scala 2.11.8

【问题讨论】:

  • 嗯,对我有用。您的导入语句是什么样的?你用的是2.11版本的微风吗?
  • 我正在使用 import blink.linalg._ 来导入和微风 0.12。但是您的评论让我尝试绕过 Eclipse 进行编译,这似乎是一个错误(我编辑了我的问题),所以这个问题毫无意义
  • 更有可能是配置错误而不是 Scala IDE 错误。我会检查您的 build.sbt 文件并确保您的项目设置正确。
  • 同样的问题。斯卡拉 2.12。适用于 SBT,不适用于 Scala IDE。不知道是配置问题还是bug,但是很烦。

标签: scala scala-breeze


【解决方案1】:

如果有人遇到这个问题。解决方法很简单。

第 1 步 关闭项目或 Scala IDE

第 2 步 从 SBT 执行、清理,然后在 eclipse 命令上执行。

第 3 步 再次打开eclipse。

Eclipse 应该解决隐式转换。

【讨论】:

    猜你喜欢
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    相关资源
    最近更新 更多