I am trying to implement HMC with a non-diagonal mass matrix, but am getting tripped up by some of the terminology.
According to BDA3 and Neal's review, the kinetic energy term (that I guess is always used due to convenience) is
$$ K(p) = \frac{p^T M^{-1} p}{2} \,.$$
This is also recognizable called a multivariate normal with zero mean and covariance matrix $M$. BDA3 (pg 301) says
To keep it simple, we commonly use a diagonal mass matrix, M. If so, the components of φ are independent, with φj ∼ N(0,Mjj) for each dimension j = 1, . . . , d. It can be useful for M to roughly scale with the inverse covariance matrix of the posterior distribution, (var(θ|y))^−1.
(I'm reading N(0, M)) as a multivariate normal with mean zero and covariance M.)
The part tripping me up is where says that that "it can be useful for $M$ to roughly scale with the inverse covariance matrix of the posterior distribution...".
And then also just before that the momentum sample that starts the leapfrog steps ($\phi$) is drawn from a multivariate normal with covariance matrix $M$.
So which is it? To construct a good M for HMC, do I estimate the covariance or precision matrix of the posterior? Even though $M$ is the covariance matrix of the kinetic energy, using an $M$ that is an estimate of the precision matrix of the posterior will yield a more efficient algorithm?
Secondary question: what is the intuition that could guide me here?
Do you want to use a precision matrix so that the momentum pushes orthogonally to the potential/posterior to improve mixing?
OR do you want the momentum to push towards the high probability mass part of the posterior (because thats where you want to draw most samples from).
p.s. The reason I'm not using the identity matrix for $M$ is because for my problem I happen to able to obtain decent estimate of the covariance matrix of my pretty high dimensional (~1000) posterior beforehand.