AePPL and elements of multi-dimensional random variables
With AePPL/AeMCMC one should be able to condition on some components of a multivariate distribution:
import aeppl import aesara.tensor as at srng = at.random.RandomStream(0) mu = at.vector("mu") sigma = at.matrix("sigma") idx = at.iscalar("i") X_rv = at.random.multivariate_normal(mu, sigma) Z_rv = X_rv[:idx] Y_rv = X_rv[idx:] logprob, (z_vv,) = aeppl.joint_logprob(Z_rv, realized={Y_rv: y_obs})
See these notes for applications of this, and how to efficiently do it.