Scalalaを使用すると、スカラーオペランドを使用してVectorに対して要素ごとの演算を実行できました。0から1までの乱数のベクトルがあり、1から各値を減算するとします。
import breeze.linalg._
val x = DenseVector.rand(5)
val y = 1d :- x //DOESN'T COMPILE: "value :- is not a member of Double"
Scalalaとは異なり、Breezeはこのアプローチではコンパイルできません。1つのベクトルを生成することでこれを回避できますが、もっと良い方法があるはずです。
val y = DenseVector.ones[Double](x.size) :- x
もう1つの回避策は、もう少し読みやすいmapValuesメソッドを使用することです。
val y = x mapValues { 1 - _ }
Breezeでこれを達成するための適切な方法は何ですか?