Skip to content
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

Various comments #1

Open
mateuszbaran opened this issue Jan 17, 2024 · 1 comment
Open

Various comments #1

mateuszbaran opened this issue Jan 17, 2024 · 1 comment
Labels
question Further information is requested

Comments

@mateuszbaran
Copy link

mateuszbaran commented Jan 17, 2024

A few comments about line searches, potentially relevant to the work here.

  1. Hager-Zhang line search is in my experience a very good method for gradient-based line searches but it seems to be absent from NonlinearSolve.jl , other than through LineSearchesJL. Is it planned to be re-implemented here?
  2. Nonlinear gradient-based line searches actually need to compute inner products between gradient at a point and vector-transported descent direction. See here for example: https://arxiv.org/pdf/2207.01855.pdf . It means that for constrained optimization we need to do the transport (projection would often be fine but not necessarily always the best choice).
  3. The inner product actually doesn't require the full gradient. Optim.jl currently doesn't exploit it but it's something that crossed my mind when analyzing the code. We should sometimes be able to compute such products faster than the full gradient + dot. For example forward mode AD would handle this perfectly fine. Maybe that's something you could consider.
  4. Default max stepsize: I've encountered some problems in which the stepsize found by line search greatly exceeded (by orders of magnitude) the injectivity radius of exponential map. Manopt.jl patches it by using a manifold-dependent max stepsize (for example $\pi$ for a sphere). LineSearches.jl always defaults to Inf.
@mateuszbaran mateuszbaran added the question Further information is requested label Jan 17, 2024
@Vaibhavdixit02
Copy link
Member

Hager-Zhang line search is in my experience a very good method for gradient-based line searches but it seems to be absent from NonlinearSolve.jl , other than through LineSearchesJL. Is it planned to be re-implemented here?

I think it would be implemented. We will come up with a more concrete roadmap for this repo very soon since we seem to have a promising GSoC candidate to work on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants