Riffing off David's message (and maybe saving him a derivation): at the point X_k and proposing a jump to Y via
the proposal density in Y space (also X space!) is
p(Y|X_k) dY = p(z) dz
but z is acting as a dimensionless radial coordinate for Y about the "origin" X_i, so p(Y|X_k) dY is
p(Y | X_k) dY = p(Y | X_k) r^(n-1) dr dOmega = p(Y | X_k) z^(n-1) |X_k - X_i|^n dz dOmega
(where dOmega is the "angular" part of the Y volume element---the d(cos(theta))d(phi) in 3D, for example) whence
p(Y|X_k) = p(z) / (z^(n-1) |X_k - X_i|^n)
If we are now at the point Y, and are proposing jumps to Y' via
Y' = X_i + z' (Y - X_i)
the density is again
p(Y'|Y) = p(z') dz'/dY ~ p(z') / (z'^(n-1) |Y - X_i|^n)
In order for the jump to return to the same place, we must have Y' = X_k, which is achieved when z' = 1/z. Note that |Y-X_i|^n = z^n |X_k - X_i|^n. Putting all that together, the correct factor that goes into the Metropolis-Hastings acceptance probability for the jump proposal ratio when a jump is proposed from X_k -> Y is
p(Y' = X_k | Y) / p(Y | X_k) = p(z'=1/z)/p(z) z^(n-2)
Clearly you get the formula from the emcee paper if you choose p(z'=1/z)/p(z) = z, or p(z'=1/z) = z p(z), which is their "symmetric" condition. I think what they meant by "symmetric" (this language also appears in Goodman and Weare) is that *if* you were in dimension 1, then the proposal ratio appearing in the M-H acceptance probability would be unity; their condition achieves this. I think what *you* mean by "symmetric" is that there are equal densities in z' at z' = 1/z and in z at the point z; this is satisfied by a "flat in log" proposal, with p(z) = 1/z, or p(z'=1/z)/p(z) = z^2 => p(z'=1/z) = z^2 p(z), as you write. In this case, the factor that appears in the M-H acceptance probability is z^n (not ^(n-1)!).
As long as you put the right factors of z^whatever into the M-H acceptance probability, you can do whatever you want. Personally, I've observed a bit better performance with your version of symmetric; it is the unique density on z that, assuming z \in [1/a, a] with a > 1 (i.e. the default emcee a = 2), gives you an equal chance of moving *toward* X_i and *away* from X_i, which is a nice symmetry to have. (For a while, perhaps now, this was the default proposal in `ptemcee`, for example.). But the performance change is not super large.
In any case, I guess that symmetric is in the eye of the beholder. I hope this made things clear!
Cheers,
Will
P.S.---With apologies to Hogg! I sent this just to him ("Reply") a moment ago, so now he gets two copies! (Thanks for noticing, David!)