You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we discovered when looking at the L-BFGS optimiser (#1083 ) line search algorithms are not that straightforward and are an integral part of Quasi-Newton and conjugate gradient methods. Furthermore, a lot of algorithms for such methods are reliant on legacy code implemented in FORTRAN. It would be extremely beneficial to have a working ask/tell line search in pints as it would pave the way to include numerous Quasi-Newton and conjugate gradient methods, while maintaining pints's lightweight low dependency ethos.
A starting points for this could be just getting a working line search algorithm (maybe even start just as a for loop) in a Jupyter notebook for a simply parabola with parameters of the same order of magnitude, increase the complexity of the model, then implement an ask/tell line search in the pints framework.
As we discovered when looking at the L-BFGS optimiser (#1083 ) line search algorithms are not that straightforward and are an integral part of Quasi-Newton and conjugate gradient methods. Furthermore, a lot of algorithms for such methods are reliant on legacy code implemented in FORTRAN. It would be extremely beneficial to have a working ask/tell line search in pints as it would pave the way to include numerous Quasi-Newton and conjugate gradient methods, while maintaining pints's lightweight low dependency ethos.
Good initial literature on the area is listed below:
https://www.math.lsu.edu/~hozhang/papers/cg_descent.pdf
http://www.caam.rice.edu/~yzhang/caam554/pdf/cgsurvey.pdf
https://dl.acm.org/doi/pdf/10.1145/1132973.1132979
This shows the 'Hager-Zhang' line search would be of particular interest to implement.
This is part of #684.
The text was updated successfully, but these errors were encountered: