-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
This seems like an odd distribution to be missing, especially given that it is the standard conjugate prior for the covariance matrix of multivariate normals.
Technically, it can be instantiated by making a TransformedDistribution with Wishart as the base, and Invert(CholeskyOuterProduct), CholeskyToInvCholesky and CholeskyOuterProduct but this incurs the cost of a cholesky factorization and cannot make use of the Wishart's input_output_cholesky flag (which is a bit inconsistent with the rest of TFP?).
I think the most OOP design choice would be to remove the existing Wisharts and define a new WishartCholesky distribution, as this density is fairly easy and analytic (see Bartlett decomposition). I believe that is what TFP is already using to sample Wisharts, so it's not a big jump. The full Wishart and the inverse Wishart can then be easily parameterized using bijectors.
The Wishart cholesky consists of a triangular matrix with below-diagonal elements following one distribution, and the diagonal elements following another. Is there any way to specify that using TransformedDistribution and bijectors? It seems there is a need for transformed densities on multiple variables, concatenation bijectors, and/or better triangle-filling bijectors?