Breeze - DenseVector 的比较给了我一个 BitVector - 这是故意的吗?
Breeze - Comparison of DenseVector gives me a BitVector - is this intentional?
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]
错误的
错误的
真
这是故意构造的吗?有人可以为我解释一下吗?我发现它很混乱!
您可以通过(dv :== 6.0).toDeseVector
获得DenseVector
。
我不确定这种不对称的原因,我想作者可能更关心 DenseVector
情况下的性能。参见 DenseVector source vs DenseMatrix source。
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] 错误的 错误的 真
这是故意构造的吗?有人可以为我解释一下吗?我发现它很混乱!
您可以通过(dv :== 6.0).toDeseVector
获得DenseVector
。
我不确定这种不对称的原因,我想作者可能更关心 DenseVector
情况下的性能。参见 DenseVector source vs DenseMatrix source。