行广播和转置向量?

时间:2015-09-23 17:21:54

标签: scala-breeze

我正在尝试向矩阵的每一行添加行向量:

val M = DenseMatrix((1.0,2.0,3.0),
                    (4.0,5.0,6.0))

val row = DenseVector(3.0,4.0,5.0).t

val result = M(*,::) + row
// error: could not find implicit value for parameter 
// op: OpAdd.Impl2[
//   BroadcastedRows[DenseMatrix[Double],DenseVector[Double]],
//   Transpose[DenseVector[Double]],
//   That
// ]

我可以使用列向量,但它似乎有点复杂:

val result = (M.t(::,*) + row.t).t

// result: breeze.linalg.DenseMatrix[Double] =
// 4.0  6.0  8.0
// 7.0  9.0  11.0

感谢。

0 个答案:

没有答案