#
# Normale bivariata campionata con un Gibbs Sampler
# (codice 'pedante' per far capire bene i passaggi)
#
#  GdA 23/4/09
#----------------------------------------------------

n = 10000

mu1 = 1
s1  = 1
mu2 = 2
s2  = 3
rho = 0.6

y1 <- numeric()
y2 <- numeric()

x1.in = -10
x2.in = -10

y1[1] = x1.in
y2[1] = x2.in

x1 = y1[1]   # although not used ..
x2 = y2[1]
for (i in 2:n) {
  y1[i] <- rnorm(1, mu1 + s1/s2*rho*(x2-mu2), s1*sqrt(1-rho^2))
  y2[i] <- rnorm(1, mu2 + s2/s1*rho*(y1[i]-mu1), s2*sqrt(1-rho^2))
  x1 = y1[i]  # although not used
  x2 = y2[i]
}
