When we print the logp of L along with it's prior and the logp+prior of the L proposal the difference is different than the difference that Theano spits out. If these differences are calculated incorrectly we could be accepting jumps in L that are too big. Jumps that are too big will lead to the sampling of X going awry since it is a complicated function of L.
Jumps were being accepted because the Jacobian of the inverse transform was being calculated incorrectly due to a Pymc3 bug. The issue has since been fixed.
When we print the logp of L along with it's prior and the logp+prior of the L proposal the difference is different than the difference that Theano spits out. If these differences are calculated incorrectly we could be accepting jumps in L that are too big. Jumps that are too big will lead to the sampling of X going awry since it is a complicated function of L.