You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PGeneralizedGaussian uses the default implementation of logccdf, which is just log(ccdf), so it can easily underflow.
Since the distribution is symmetrical, these two should be equal:
There's an easy workaround by rewriting in terms of logcdf, but it took a while to figure out where the Infs were coming from when this was buried in a more complex computation.
julia> _logccdf(d::PGeneralizedGaussian, x) = logcdf(d, 2*d.μ - x)
_logccdf (generic function with 1 method)
julia> _logccdf(PGeneralizedGaussian(2.5), 5.0)
-59.8161755398042
The text was updated successfully, but these errors were encountered:
On v0.25.113 of Distributions.
PGeneralizedGaussian uses the default implementation of logccdf, which is just log(ccdf), so it can easily underflow.
Since the distribution is symmetrical, these two should be equal:
There's an easy workaround by rewriting in terms of logcdf, but it took a while to figure out where the Infs were coming from when this was buried in a more complex computation.
The text was updated successfully, but these errors were encountered: