Бриз - Сравнение DenseVector дает мне BitVector - это намеренно? - PullRequest
0 голосов
/ 06 января 2020
    import breeze.linalg._

    val dm = DenseMatrix(0.0, 5.0, 6.0)

    dm :== 6.0

    val dv = DenseVector(0.0, 5.0, 6.0)

    dv :== 6.0       

дает мне

dm: breeze.linalg.DenseMatrix[Double] =
0.0
5.0
6.0

res0: breeze.linalg.DenseMatrix[Boolean] =
false
false
true

dv: breeze.linalg.DenseVector[Double] = DenseVector(0.0, 5.0, 6.0)

res1: breeze.linalg.BitVector = BitVector(2)

Я ожидал, что DenseVector [Boolean] false false true

Это намеренная конструкция - кто-то может мне это объяснить? Я нашел это запутанным!

1 Ответ

1 голос
/ 08 января 2020

Вы можете получить DenseVector по (dv :== 6.0).toDeseVector.

Я не уверен в причинах этой асимметрии, я думаю, что авторы, вероятно, были более обеспокоены производительностью в случае DenseVector. См. Источник DenseVector против Источник DenseMatrix .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...