While the calculations are being done, the program prints the progress
of the optimization process:
The ``scaling input'' prints the number by which the right-hand-side
of Eq. (242) is multiplied in order to deal with
reasonable numbers during the optimization. The number is determined
through the condition
(248)
When leaving the optimization routine, the inverse scaling is applied
to the
, of course.
The standard output shows (A) the maximum gradient of the second order
energy with respect to the first order perturbation wavefunction, (B)
the norm of that gradient, (C) the second order energy, (D) its
difference with respect to the last value, and finally (E) the CPU
time needed for one step. The last value decreases by somewhat after
the number of steps determined by the CG-ANALYTIC keyword,
because the analytic line search is no longer performed, as discussed
above.
A line full of tildes (
) indicates that the energy has
increased. In that case, the conjugate direction is erased and the
conjugate gradient routine is restarted. Also the time step is
calculated again using the analytic quadratic line search formula.
The warning ``line search instable'' indicates that the length which
has been calculated using the analytic quadratic line search
approximation (Numerical Recipes Eq. 10.6.4) has given a numerical
values larger than 3. This does not happen in normal cases, and it can
yield to program crashes due to floating point overflows (NaN, not a number). Thus, a safe value, 1, is used instead.
The warning ``gradient norm increased by more than 200%'' indicates
that the quadratic approximation is not valid in the momentary
position of the optimization. If it was, the gradient (of the energy
with respect to the first order perturbation wavefunctions) would only
decrease and finally reach zero. If this situation occurs, the
conjugate direction is erased and the conjugate gradient algorithm is
restarted.