Операции между матрицей и скаляром на ветру

Адендо: Похоже, это ошибка IDE scala, потому что все компилируется и работает гладко с помощью командной строки 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.


person user2759511    schedule 27.05.2016    source источник
comment
Хм, у меня работает. Как выглядит ваше заявление об импорте? Вы используете 2.11 версию бриза?   -  person evan.oman    schedule 28.05.2016
comment
Я использую import breeze.linalg._ для импорта и бриза 0.12. Однако ваш комментарий заставил меня попытаться скомпилировать обход eclipse, и кажется, что это ошибка (я отредактировал свой вопрос), поэтому вопрос бессмысленен.   -  person user2759511    schedule 30.05.2016
comment
Скорее всего, это ошибка конфигурации, а не ошибка Scala IDE. Я бы проверил ваш файл build.sbt и убедился, что ваш проект настроен правильно.   -  person evan.oman    schedule 30.05.2016
comment
Та же проблема. Скала 2.12. Работает на SBT, не работает на Scala IDE. Я не знаю, является ли это проблемой конфигурации или ошибкой, но это раздражает.   -  person rsan    schedule 14.02.2018


Ответы (1)


Если кто-то столкнется с этой проблемой. Решение довольно простое.

Шаг 1 Закройте проект или Scala IDE

Шаг 2 Из SBT выполните, очистите, а затем выполните команду eclipse.

Шаг 3 Снова откройте eclipse.

Eclipse должен разрешать неявные преобразования.

person rsan    schedule 14.02.2018