It adds a "mass matrix" (std_mat) to the mclmc algorithm, and also updates the tuning scheme. A concomitant update is the function with_isokinetic_maruyama which automates the stochastic momentum update. It seemed appropriate to place this (and therefore partial_momentum_update on which it depends) in the file with the integrators.
This branch depends on the branch of #672, so that PR should be merged first.
Note: I had some test failures which seemed quite arbitrary, to do with the Yoshida integrator, which had tol=1e-6. Since I didn't change any code that seemed likely to affect the Euclidean Yoshida integrator, I put tol=1e-4, and the tests passed. But worth noting.
[x] We should be able to understand what the PR does from its title only;
[x] There is a high-level description of the changes;
[x] There are links to all the relevant issues, discussions and PRs;
[x] The branch is rebased on the latest main commit;
This PR exists in response to issue #616.
It adds a "mass matrix" (
std_mat
) to the mclmc algorithm, and also updates the tuning scheme. A concomitant update is the functionwith_isokinetic_maruyama
which automates the stochastic momentum update. It seemed appropriate to place this (and thereforepartial_momentum_update
on which it depends) in the file with the integrators.This branch depends on the branch of #672, so that PR should be merged first.
Note: I had some test failures which seemed quite arbitrary, to do with the Yoshida integrator, which had tol=1e-6. Since I didn't change any code that seemed likely to affect the Euclidean Yoshida integrator, I put tol=1e-4, and the tests passed. But worth noting.
main
commit;pre-commit
is installed and configured on your machine, and you ran it before opening the PR;Consider opening a Draft PR if your work is still in progress but you would like some feedback from other contributors.