-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support ChangesOfVariables.with_logabsdet_jacobian for transformations #203
Comments
We do need to be careful, because the transform alone isn't enough, this can depend on the base measure and the geometry of the space. Say you have a uniform distribution on a unit 2-sphere in |
How do you handle this in |
I don't yet in Pushforward. In |
So you can work with the QR or LQ factorizations to start, and then find something equivalent that's as efficient as possible |
I think for the more general case we should do (something equivalent to) logjac on the tangent space |
Hm but is there an efficient way to calculate |
With ChangesOfVariables.jl we now have a standard for how to express transforms with log-abs-det-jacbian values, supported by central packages like LogExpFunctions.jl, as well as TransformVariables.jl, Bijectors.jl and others.
Transforms like
AffineTransform
ideally useChangesOfVariables.with_logabsdet_jacobian
as their primary LADJ-handling mechanism. This could also gradually reduce dependencies on TransformVariables.jl in the code.Pushforward
(should move into MeasureBase, see JuliaMath/MeasureBase.jl#54) wouldn't need thelogjac::L
field anymore (with_logabsdet_jacobian
now can test if an LADJ-definition exists).The text was updated successfully, but these errors were encountered: