Open xiki-tempula opened 3 years ago
@mrshirts : It would be extremely useful to fall back to the most robust (iterative) solver if the fancier solvers do not work, but sometimes a user will want to only use the specified solver. Perhaps an optional argument fallback=True
by default, with the user able to specify fallback=False
if they only want to use a particular solver?
It would be extremely useful to fall back to the most robust (iterative) solver if the fancier solvers do not work
It's more complicated than this , because in some of the cases, it fails to converge with the iterative solver, but minimizes fine with a scipy solver. Improved robustness does need to be implemented though, and I'm trying to find time to get this finished before school starts in a month (along with GPU optimizations).
When adaptive fails, IIRC, it often never leaves the iterative solver, so adaptive failing usually means -> iterative failing.
The suggestion is to fall back to a different solver by default if the selected solver fails. We can try all the solvers, prioritizing the fastest or requested solver. If none of the solvers succeeds, we can give up.
Attempting to solve with #446
As is stated in #419,
BFGS
andadaptive
each have cases that they cannot resolve, which could be resolved by the other estimator. I'm thinking of adding a more robust solver in the downstream packagealchemlyb
. The logic might beI know that 4.0 will be out and things will be changed. So I wonder in 4.0, will there be a method that will fall back to
BFGS
whenadaptive
doesn't work or the user will have to deal with this by themselves?