Dalam R, c (3,1,0) * c (2,0,1) == c (6,0,0). Ini bukan produk titik dan bukan produk lintas. Pertama, apa nama untuk produk ini, dan kedua, apakah itu berfungsi di WinBUGS, OpenBUGS, dan / atau JAGS?
ini hanya penggandaan elemen-bijaksana. Saya tidak yakin apakah itu berfungsi di WinBUGS, OpenBUGS, atau JAGS.
Diasumsikan normal
Jawaban:
3
Tidak seperti JAGS, WinBUGS dan OpenBUGS tidak melakukan bentuk vektorisasi ini; Anda harus menulis satu lingkaran, dan menghitung setiap elemen 'dengan tangan', seperti dijelaskan di atas.
Martyn Plummer menunjukkan bahwa ini diimplementasikan dalam JAGS, yang saya lewatkan saat membaca manual. Dari Ch 5:
Fungsi skalar yang mengambil argumen skalar secara otomatis di-vektor-kan. Mereka juga bisa dipanggil ketika argumen array dengan dimensi yang sesuai, atau skalar. Jadi, misalnya, skalar dapat ditambahkan ke matriks menggunakancA
B <- A + c
bukannya bentuk yang lebih verbose
D <- dim(A)
for (i in 1:D[1])
for (j in 1:D[2]) {
B[i,j] <- A[i,j] + c
}
}
Untuk melakukan perkalian elemen-bijaksana, Anda bisa membuat for for loop dalam bahasa tersebut dan hanya itu! Saya telah menggunakan loop di WinBUGS tanpa masalah.
Jawaban:
Tidak seperti JAGS, WinBUGS dan OpenBUGS tidak melakukan bentuk vektorisasi ini; Anda harus menulis satu lingkaran, dan menghitung setiap elemen 'dengan tangan', seperti dijelaskan di atas.
sumber
Martyn Plummer menunjukkan bahwa ini diimplementasikan dalam JAGS, yang saya lewatkan saat membaca manual. Dari Ch 5:
sumber
Untuk melakukan perkalian elemen-bijaksana, Anda bisa membuat for for loop dalam bahasa tersebut dan hanya itu! Saya telah menggunakan loop di WinBUGS tanpa masalah.
sumber
Kebetulan, perkalian elemen-bijaksana dari dua vektor dengan panjang yang sama disebut produk Hadamard (alias produk Schur).
sumber