En R, c (3,1,0) * c (2,0,1) == c (6,0,0). Este no es un producto punteado y no es un producto cruzado. Primero, ¿cuál es el nombre de este producto, y segundo, funciona en WinBUGS, OpenBUGS y / o JAGS?
esto es solo multiplicación por elementos. No estoy seguro de si funciona en WinBUGS, OpenBUGS o JAGS.
asumido normal el
Respuestas:
3
A diferencia de JAGS, WinBUGS y OpenBUGS no realizan esta forma de vectorización; usted tiene que escribir un bucle, y calcular cada elemento 'a mano', como se describió anteriormente.
Martyn Plummer señala que esto se implementa en JAGS, lo que me perdí al leer el manual. De Ch 5:
Las funciones escalares que toman argumentos escalares se vectorizan automáticamente. También se pueden invocar cuando los argumentos son matrices con dimensiones conformes o escalares. Entonces, por ejemplo, el escalar se puede agregar a la matriz usandoCUNA
B <- A + c
en lugar de la forma más detallada
D <- dim(A)
for (i in 1:D[1])
for (j in 1:D[2]) {
B[i,j] <- A[i,j] + c
}
}
Respuestas:
A diferencia de JAGS, WinBUGS y OpenBUGS no realizan esta forma de vectorización; usted tiene que escribir un bucle, y calcular cada elemento 'a mano', como se describió anteriormente.
fuente
Martyn Plummer señala que esto se implementa en JAGS, lo que me perdí al leer el manual. De Ch 5:
fuente
Para hacer una multiplicación basada en elementos, puede hacer un bucle for en esos idiomas y ¡listo! He usado bucles en WinBUGS sin problemas.
fuente
Por cierto, la multiplicación por elementos de dos vectores de igual longitud se denomina producto Hadamard (también conocido como producto Schur).
fuente