-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
Nonlinear Preconditioner Support #351
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is your feature request related to a problem? Please describe.
Solving nonlinear problems to find$u$ such that $F(u) = 0$ can be made possible and/or be speed up by providing left and right nonlinear preconditioners, i.e. some other functions $H$ and $G$ , such that $G(F(H(\tilde{u}))) = 0$ and $u = H(\tilde{u})$ , where $G$ , $H$ and $F$ share the same roots. I think [1] gives a nice start here.
I want to solve two problems here.
Describe the solution you’d like
I think we can come up with a similar solution as in LinearSolve.jl, to pass$H$ and $G$ into the constructor and applying them at appropriate positions in the respective algorithms.
Describe alternatives you’ve considered
The only alternative which I see for now is, that we can define custom solvers (e.g. ASPIN) directly. However, I think the idea above leads to better composability.
Additional context
See SciML/OrdinaryDiffEq.jl#1570 for more previous discussion related to this topic.
References
[1] Brune, Peter R., et al. "Composing scalable nonlinear algebraic solvers." SIAM Review 57.4 (2015): 535-565.
The text was updated successfully, but these errors were encountered: