Skip to content
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

Add relations to simplify convolutions of normally-distributed RandomVariables #238

Open
rlouf opened this issue Feb 25, 2023 · 2 comments
Labels
enhancement New feature or request graph rewriting Involves the implementation of rewrites to Aesara graphs help wanted Extra attention is needed

Comments

@rlouf
Copy link
Member

rlouf commented Feb 25, 2023

We should add rewrites that we can use to simplify the following expressions for Z_rv, B_rv and C_rv when conditioning:

import aesara.tensor as at

srng = at.random.RandomStream(0)
x_rv = srng.normal(0, 1)
y_rv = srng.normal(0, 2)
Z_rv = x_rv + y_rv # Normal RV


a_rv = srng.normal(0, 1, size=(10,))

B_rv = at.sum(a_rv) # Normal RV
C_rv = at.cumsum(a_rv) # Vector of normal RVs
@rlouf rlouf added enhancement New feature or request help wanted Extra attention is needed graph rewriting Involves the implementation of rewrites to Aesara graphs labels Feb 25, 2023
@rlouf rlouf changed the title Add relations to simplify sum of normally-distributed RandomVariables Add relations to simplify convolutions of normally-distributed RandomVariables Feb 25, 2023
@larryshamalama
Copy link
Contributor

I can give this a shot. Perhaps I can start with working with Z_rv and see how the logic generalizes to B_rv and C_rv?

@brandonwillard
Copy link
Member

I can give this a shot. Perhaps I can start with working with Z_rv and see how the logic generalizes to B_rv and C_rv?

That would be great, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request graph rewriting Involves the implementation of rewrites to Aesara graphs help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants