2015-11-06 1 views
2

Est-il en quelque sorte possible de découper les mises à jour sur Matrices en brise? Je n'ai pas trouvé de valeur implicite pour le paramètre op. Breeze 0.11.2.Opérations linéaires avec des tranches dans la brise

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. 

Le code analogique avec DenseVectors fonctionne correctement.

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

Il existe des lignes de mise à jour peu efficaces de manière itérative.

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) 
} 

Répondre

2

C'est un oubli. S'il vous plaît ouvrir un problème sur github.