Skip to content

Add rng_fn to CAR/ICAR #7713

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

Open
jessegrabowski opened this issue Mar 9, 2025 · 5 comments
Open

Add rng_fn to CAR/ICAR #7713

jessegrabowski opened this issue Mar 9, 2025 · 5 comments

Comments

@jessegrabowski
Copy link
Member

Description

I was talking to @theorashid who linked me to this case study of CAR priors. It seems like they're just MvNormals, but with degenerate covariance matrices. We can now sample from such distributions use the new method="eig" or method="svd" argument. So a potential rng_fn would just make an appropriate MvNormal with the method argument set, then return it's rng_fn.

Looking at the logp method for these distributions, it seems like it's just using the eig method; so we might be able to simplify these to wrappers around MvNormalRV that just constructs the mean/covariance and sets the appropriate method, but that's a step beyond what this PR is asking for.

@ricardoV94
Copy link
Member

Plus some special logic for sparse covariances that would be nice to support in MvNormal as well?

@jessegrabowski
Copy link
Member Author

jessegrabowski commented Mar 9, 2025

A hidden internal SparseMvNormal, in the vein of PrecisionMvNormal would be nice. We could rewrite to it when we see the covariance is sparse.

One issue I foresee is that we don't have sparse implementations of relevant algorithms (Cholesky, Eig, SVD, and Solve). I know sparse cholesky exists, because @bwengals was telling me it's a nice one for GP stuff. For the others I have no idea.

But also beyond the scope of this issue

@Muhammad-Rebaal
Copy link

Hi @jessegrabowski !
Hope you are fine !
If no one is working on this issue , could you assign this to me I'd like to solve this.
Thank You !

@ricardoV94
Copy link
Member

We don't assign issues, you can just open a PR

@Muhammad-Rebaal
Copy link

We don't assign issues, you can just open a PR

Ok sure thing I'll open a draft one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants