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

Matrix Factorizations for LinearOperators #569

Open
1 of 6 tasks
marvinpfoertner opened this issue Nov 16, 2021 · 0 comments
Open
1 of 6 tasks

Matrix Factorizations for LinearOperators #569

marvinpfoertner opened this issue Nov 16, 2021 · 0 comments
Assignees
Labels
feature request Requests for features to be implemented improvement Improvements of existing functionality linops Issues related to linear operators

Comments

@marvinpfoertner
Copy link
Collaborator

marvinpfoertner commented Nov 16, 2021

Is your feature request related to a problem? Please describe.
Currently, the implementation of Normal contains a lot of logic concerning the efficient computation of Cholesky factorizations of LinearOperators with Kronecker and SymmetricKronecker structure.
This adds unnecessary complexity and is out of place in the implementation of a RandomVariable.
We should add a cholesky method to the LinearOperator, which then takes care of the specific factorizations in its subclasses.

Give an example use case.

>>> A = pn.linops.Kronecker(A=..., B=...)
>>> L = A.cholesky(lower=True)
>>> type(L)
pn.linops.Kronecker
>>> x = A.inv() @ b  # uses Cholesky internally!

Describe the solution you'd like.

Additional context
Some of the properties from #571 are needed to implement these factorizations.

@marvinpfoertner marvinpfoertner added feature request Requests for features to be implemented improvement Improvements of existing functionality linops Issues related to linear operators labels Nov 16, 2021
@marvinpfoertner marvinpfoertner self-assigned this Nov 16, 2021
@marvinpfoertner marvinpfoertner changed the title LinearOperator.cholesky Matrix Factorizations for LinearOperators Nov 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Requests for features to be implemented improvement Improvements of existing functionality linops Issues related to linear operators
Projects
None yet
Development

No branches or pull requests

1 participant