ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations.
Apparently we did not define an analytical product between Wishart and WishartFast. WishartFast is just slightly more optimized version of Wishart , which we use for messages. I propose for such a prod we simply convertWishart to WishartFast and just call the product between two WishartFast objects.
BayesBase.default_prod_rule(::Type{<:Wishart}, ::Type{<:WishartFast}) = PreserveTypeProd(Distribution)
function BayesBase.prod(::PreserveTypeProd{Distribution}, left::Wishart, right::WishartFast)
return prod(PreserveTypeProd(Distribution), convert(WishartFast, left), right)
end
We can put a new product right after this one. And the convert methods are already implemented here, so no extra work required for them.
@Nimrais can you add those and also implement similar for InverseWishartFast?
Apparently we did not define an analytical product between
Wishart
andWishartFast
.WishartFast
is just slightly more optimized version ofWishart
, which we use for messages. I propose for such aprod
we simplyconvert
Wishart
toWishartFast
and just call the product between twoWishartFast
objects.We can put a new product right after this one. And the
convert
methods are already implemented here, so no extra work required for them.@Nimrais can you add those and also implement similar for
InverseWishartFast
?