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

Preconditionning

Open rveltz opened this issue 6 years ago • 6 comments

Hi,

I have become addicted to your package. The downside is that I would like an additional feature ;) I use Arnoldi iterations for computing the spectrum and the convergence is super slow. So, I was wondering how difficult it would be for you to add support for preconditionning?

Thank you a lot for your help,

Best regards

rveltz avatar Oct 29 '18 14:10 rveltz

Thanks. I think the hardest part is coming up with a nice and convenient interface. Unfortunately, I don't have much time for this right now. I would certainly be welcome to any contributions.

Jutho avatar Oct 29 '18 15:10 Jutho

No need to close this; it's good to let feature requests hang around as open issues.

Jutho avatar Oct 30 '18 15:10 Jutho

Don't you like the interface from IterativeSolvers? ie a keywork argument Pl = Idendity where one could use functions or matrices. Is it a lot of work to add? Especially to eigsolve?

rveltz avatar Oct 22 '19 12:10 rveltz

It's rather an issue of a lack of expertise from my side. I have no experience with preconditioners, as there are typically no obvious choices in the cases where I am solving eigenvalue and linear problems. And if there are, they are usually incorporated in a more explicit way, i.e. by transforming to a new set of variables.

The lack of self-need is also why I can't afford to invest too much time in this, at least not right now. But I do welcome any contribution in that direction.

Jutho avatar Oct 28 '19 10:10 Jutho

And if there are, they are usually incorporated in a more explicit way, i.e. by transforming to a new set of variables.

It is not always possible. For example, doing so you transform an eigenvalue problem into a generalized one and geneigsolve is quite restrictive.

rveltz avatar Oct 31 '19 16:10 rveltz

Exactly, in the applications I am working with, we often have a generalized eigenvalue problem that, by parameterizing the problem in terms of a more suitable set of variables, is transformed into a normal eigenvalue problem.

Jutho avatar Nov 04 '19 12:11 Jutho