For difficult or ill-conditioned optimization problems, the line search can sometimes return a zero step size α = 0.0. While this is always leads to issues, in the particular case of the ConjugateGradient algorithm it seems this can lead to β = NaN for several flavors of the algorithm. In particular for the default HagerZhang flavor, this circumvents the β < η check that was already in place since this returns false if β = NaN.
Addressing this won't solve the clear issue with the underlying optimization, but it would be helpful if this was flagged in some way. This was observed in the case of Riemannian optimization of MPS, where it resulted in some LAPACKException that was quite distracting from the issue at hand.
For difficult or ill-conditioned optimization problems, the line search can sometimes return a zero step size
α = 0.0. While this is always leads to issues, in the particular case of theConjugateGradientalgorithm it seems this can lead toβ = NaNfor several flavors of the algorithm. In particular for the defaultHagerZhangflavor, this circumvents theβ < ηcheck that was already in place since this returnsfalseifβ = NaN.Addressing this won't solve the clear issue with the underlying optimization, but it would be helpful if this was flagged in some way. This was observed in the case of Riemannian optimization of MPS, where it resulted in some
LAPACKExceptionthat was quite distracting from the issue at hand.