JuliaHomotopyContinuation / HomotopyContinuation.jl

A Julia package for solving systems of polynomials via homotopy continuation.
https://www.JuliaHomotopyContinuation.org
MIT License
186 stars 30 forks source link

How to customize parameters for Newton steps in the 'solve' function #401

Closed jaydu1 closed 4 years ago

jaydu1 commented 4 years ago

Is it possible to customize parameters for Newton steps (e.g. number of iterations, epsilon, etc) used in the 'solve' function?

Furthermore, it will be useful to have a similar option like endgame_start in the EndgameTracker, so that we can refine the Newton steps with more iterations (or smaller residual) at the final stages when t is near 0.

saschatimme commented 4 years ago

Is it possible to customize parameters for Newton steps (e.g. number of iterations, epsilon, etc) used in the 'solve' function?

In contrast to Bertini, our Newton corrector does not work with a fixed number of iterations or a fixed tolerance. You can expect that at each step the solution is refined to maximal achievable accuracy (which is dependent on the conditioning of the solution). There are certain parameters which control the behaviour of the path tracker, but these are not straightforward to explain. We therefore provide some presets. The used Newton corrector algorithm is explained in this article: https://arxiv.org/abs/1902.02968.

Furthermore, it will be useful to have a similar option like endgame_start in the EndgameTracker, so that we can refine the Newton steps with more iterations (or smaller residual) at the final stages when t is near 0.

Please see the documentation for available endgame options. You can set them with, e.g.,

solve(F; endgame_options = EndgameOptions(endgame_start = 0.05))

Does this help?

jaydu1 commented 4 years ago

Yes, thanks for the explanation.