Как поэлементно суммировать последовательность DenseVectors в Breeze
У меня есть последовательность DenseVector[Double]
и я хотел бы суммировать их поэлементно, чтобы получить один DenseVector[Double]
, Есть ли простой встроенный способ сделать это в библиотеке Breeze Scala?
1 ответ
Решение
Вы можете использовать reduce
функции и сложить все векторы вместе, как +
определяется как поэлементное сложение для DenseVectors
:
val dv = DenseVector[Double](1,2,3)
List(dv, dv, dv).reduce(_ + _)
// res0: breeze.linalg.DenseVector[Double] = DenseVector(3.0, 6.0, 9.0)
Seq(dv, dv, dv).reduce(_ + _)
// res1: breeze.linalg.DenseVector[Double] = DenseVector(3.0, 6.0, 9.0)