Running the BLOCK2 example with NLCG with the Wolfe line search option produces NaN's in the BlkDiag_Cmplx:
ERROR: NaN in BlkDiag_Cmplx for i= 1 and j= 23898
ERROR: NaN in BlkDiag_Cmplx for i= 1 and j= 23901
ERROR: NaN in BlkDiag_Cmplx for i= 1 and j= 23904
...
This happens during the 15h iteration of the NLCG iteration and appears to happen when a Strong Wolfe condition is not satisfied:
!======Strong Wolfe Condition NOT satisfied!======
!========Now sectioning with brute force========
alpha_l= 0.0000000000000000 alpha_r= 2269.5866147572719
SQRT of negative value in CUBIC INTERP!
using default value to bracket...
CUBICLS: f=3.766214E+00 m2=7.519497E-01 rms= 1.736164 lambda=1.000000E+00 alpha=0.000000E+00
The Wolfe and Wolfe2 line searches of LBFGS do not produce NaN's in this problem, though they still find that a Strong Wolfe Condition is not satisfied around this part of their iteration.
Not sure if this is just a bug, or if the BLOCK2 case is not good for the NLCG with Wolfe. But posting here for future reference/work. Perhaps this always occurs when the Strong Wolfe condition is not met? I am slowly looking for other examples.
Running the BLOCK2 example with NLCG with the Wolfe line search option produces NaN's in the BlkDiag_Cmplx:
This happens during the 15h iteration of the NLCG iteration and appears to happen when a Strong Wolfe condition is not satisfied:
The Wolfe and Wolfe2 line searches of LBFGS do not produce NaN's in this problem, though they still find that a Strong Wolfe Condition is not satisfied around this part of their iteration.
Not sure if this is just a bug, or if the BLOCK2 case is not good for the NLCG with Wolfe. But posting here for future reference/work. Perhaps this always occurs when the Strong Wolfe condition is not met? I am slowly looking for other examples.