LinearOperators.jl icon indicating copy to clipboard operation
LinearOperators.jl copied to clipboard

In-place solve for inverse operators

Open geoffroyleconte opened this issue 4 years ago • 4 comments

I would be nice to add in-place solves to LinearOperators in the linalg.jl file.

geoffroyleconte avatar Jun 19 '21 19:06 geoffroyleconte

CHOLMOD doesn't have in-place solves. So if you use sparse Cholesky or LDL factorizations you should use \ for the backward and forward sweeps. On Slack, TIm Davis explained that the issue is to apply the permutation in-place before the triangular solves. They don't have routines for that kind of operations.

amontoison avatar Jun 24 '21 19:06 amontoison

LDLFactorizations solves in place. I didn’t really understand Tim’s response.

dpo avatar Jun 24 '21 20:06 dpo

Yes I know, but LDLFactorizations is not used in LinearOperators.jl. The problem of Tim is that they didn't implemented permute! and invpermute! routines in CHOLMOD. He also said that it could be very slow for some permutation to apply it in-place.

amontoison avatar Jun 24 '21 22:06 amontoison

LDLFactorizations is not used in LinearOperators.jl

That's easy to change.

dpo avatar Jun 24 '21 23:06 dpo