
Concerns:
(1) We may be abandoning plain Armijo backtracking when it may be having some remaining mileage . The danger in this is that the quadratic mode may satisfy Armijo by jumping to the initial point.
(2) The quadratic mode assumes success when:
(de <= de_ideal || de_ideal >= -IDEAL_TOL) == True
At the initial point this is automatically true (even when forces aren't zero).
Note that: de_ideal = -0.4(alpha)(initial_f.s)
and in quadratic mode: alpha = alpha0
(3) Jumping to the initial point can cause the minimizer to go into an infinite loop causing it to exit with either MAX_FORCE_EVALUATIONS or MAX_ITERATIONS (ie. max cg loops).
(4) Example of linemin_quadratic() when it exit with success by jumping to the initial point:
----
count fdotdirall energy alpha start
0 2.436356006811224e-03 -2.719796543157099e+00 3.460098962684194e-01 initial
1 -1.801321567525278e+01 -1.684889377507936e+00 3.460098962684194e-01
2 -1.017649600012320e+00 -2.658368603360779e+00 1.730049481342097e-01
3 -2.847044105111986e-01 -2.708236347904628e+00 8.650247406710485e-02
4 -1.597636733426530e-01 -2.715590284316164e+00 5.290154968720939e-02 insideQuad
5 -1.297466257039866e-01 -2.716985938194178e+00 4.325123703355242e-02
6 -6.561635732195255e-02 -2.719095785009185e+00 2.162561851677621e-02
7 -3.280817866097375e-02 -2.719629373969908e+00 1.081280925838811e-02
8 2.436356006811224e-03 -2.719796543157099e+00 1.665334536937735e-15 insideQuad
9 2.436356006811224e-03 -2.719796543157099e+00 1.665334536937735e-15
9 2.436356006811223e-03 -2.719796543157099e+00 1.660130366509804e-15 0.000000000000000e+00 -1.617867436214352e-18 exitingLinemin
---
The 3rd last entry in line 9 (last line) is the decrease in energy compared to the initial point & the 2nd last entry is de_ideal.
This caused an infinite loop and at the end the minimizer quit due to MAX_FORCE_EVALS, leaving the final state with large forces.
----