Skip to content

NLCG Wolfe produces NaN's in BlkDiag_Cmplx for BLOCK2 Example #47

@MiCurry

Description

@MiCurry

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions