I am the developper of PseudoArcLengthContinuation.jl and based on several discourse posts ( most notably this one), it appears that the name of my package is not very well chosen. More precisely, people seem surprised of the content (preconditioned Newton-Krylov solver,…) because of the name.
The package allows to do bifurcation analysis of large scale problems (following steady state, periodic orbits and detecting changes in stability…) For example, in the tutorial, you can find non trivial examples of PDE analysed entirely on the GPU.
I plan to change it LargeScaleBifurcations.jl because the aim is to study large PDE (or other) as opposed to the (nice) package Bifurcations.jl.
Nevertheless, to avoid a bad choice (again), I would like to hear some suggestions.
Since the package is very useful for homotopy continuation solutions of nonlinear systems (w/o bifurcation), something like GeneralizedHomotopyContinuations.jl would also be appropriate.
Makes total sense. Although if this has algorithms for homotopy continuations, then people like me would still have missed it. But since people like me are not your primary audience, I think you should stick with your gut.
Maybe what this really suggests is that the newton-krylov solver could be refactored into another package (or, even better, merged into something like KrylovKit.jl which I believe is one of your dependencies?) That said, refactoring code is work (and largely thankless at that!) so nobody takes offense if you don’t.
If you did that, then the other part of the package that seems generally useful outside of bifurcations is the homotopy continuations. That might be tougher to refactor out, so I think people can just deal with it. Anyone who really wants to use a homotopy continuation probably already knows they are used in bifurcation analysis.
@ChrisRackauckas Do you see a natural place for the preconditioned newton-krylov solvers? They seem like the sort of thing that SciML would be doing all over the place, but maybe you just have it built in where you need it?
I have an inexact newton solver with different forcing terms, line search, etc in my local version of NLSolvers.jl, I think it should be possible to use in your context.
OK, I said improve out of context. In this post, you will see that I tried to advocate the use of NLSolve.jl for Newton-Krylov but this was not seen as a good suggestion.