2015-11-06 2 views
2

Возможно ли как-нибудь отрезать обновления на Матрицах на ветру? Я не мог найти неявное значение параметра op. Breeze 0.11.2.Линейные операции со срезами на ветру

val idxs = Seq(0,1) 
val x = DenseMatrix.rand(3,3) 
val y = DenseMatrix.rand(3,3) 
x(idxs,idxs)+= y(idxs, idxs) // cant find implicit conversion for += here. 

Аналоговый код с DenseVectors работает правильно.

val xv = DenseVector.rand(3) 
val yv = DenseVector.rand(3) 
x(idxs) += y(idxs) 

Уродливое обходное обновление строк в итеративном порядке.

val idxs = IndexedSeq(0, 1) 
val x:DenseMatrix[Double] = DenseMatrix.zeros(3, 3) 
val y = DenseMatrix.rand(3, 3) 
for(r<-idxs) { 
    val slx = x(::, r) 
    val sly = y(::, r) 
    slx(idxs) += sly(idxs) 
} 

ответ

2

Это недосмотр. Пожалуйста, откройте вопрос о github.

Смежные вопросы