```{index} Stability Analysis
```

(sec:essentialelements.stabilityanalysis)=
# SCF Stability Analysis

The SCF stability will give an indication whether the SCF solution is at
a local minimum or a saddle
point.{cite}`SeegerPopleXVIIIStability,AhlrichsDFTStability` It is
available for RHF/RKS and UHF/UKS. In the latter case, the SCF is
restarted by default using new unrestricted start orbitals if an
instability was detected. For a demonstration, consider the following
input:

```{literalinclude} ../../orca_working_input/C05S06_161.inp
:language: orca
```

The HCORE guess leads to a symmetric/restricted guess, which does not
yield the unrestricted solution. The same is often true for other guess
options. For more details on the stability analysis, see Section
{ref}`sec:essentialelements.stabilityanalysis`.

The SCF stability analysis evaluates the electronic Hessian (with
respect to orbital rotations) at the point indicated by the SCF solution
to determine the lowest eigenvalues of the Hessian. If one or more
negative eigenvalues are found, the SCF solution corresponds to a saddle
point and not a true local minimum in the space considered in the
analysis. A typical case are stretched bonds of diatomics, where the
symmetry of the initial guess leads to a restricted solution instead of
the often preferred unrestricted one. Several spaces are theoretically
possible{cite}`SeegerPopleXVIIIStability`. However, ORCA limits itself to the
analysis RHF/RKS in the space of UHF/UKS or UHF/UKS in the space of
UHF/UKS. As such, it is on the available for the SCF parts of DFT and
HF.{cite}`AhlrichsDFTStability` 
In the following, HF is used to
indicate both HF and KS. Consider the following input (unless indicated
otherwise, default values are shown):

```{literalinclude} ../../orca_working_input/C06S06_348.inp
:language: orca
```

The determination of the electronic Hessian is structurally comparable
to the TDHF/CIS/TDDFT procedure. Thus, many options are very similar and
the user is encouraged to read the section on TDDFT (Section
{ref}`sec:spectroscopyproperties.tddft`) to clarify some of the options given
here. Since one is usually only interested in the qualitative
determination "stable or not?", three roots should be sufficient to find
the lowest eigenvalue. By the same philosophy, `StabMaxDim`,
`StabMaxIter`, `StabNGuess` and the convergence criteria were chosen.
The parameter `StabLambda` refers to the $\lambda$ of equation 37 of
reference {cite}`SeegerPopleXVIIIStability`, which determines the mixing of
the original SCF solution and the new orbitals to yield a new guess.
Choosing this value is not trivial, since positive and negative values
can lead to different new solutions (at least in principle). The
convergence of the ensuing SCF depends on it, as well, since all SCF
procedures require a sufficiently good guess to converge in a decent
number of iterations (or even at all).

The orbital window and the energy window can be specified. Note that the
`StabEWIN` will be overridden by the appropriate `StabORBWIN` values.
The automatic determination is also influenced by the
`%method FrozenCore` settings. Tests have shown that significant
curtailing of the actual orbital window can drastically influence the
results to the point of qualitative failure.

Current limitations on the method are:

-   Only single-point-like calculations are supported. For geometry
    optimizations etc., one must use the guess MORead feature
    {ref}`sec:essentialelements.initialguess` to employ the guess obtained
    here. Likewise, one must extract a geometry and run a separate
    calculation if one is interested in the SCF stability.

-   As for TDDFT, NORI, RIJONX, and RIJCOSX are supported. RI-JK is not
    supported.

-   Other, more advanced features like finite-temperature calculations
    and relativistic calculations (beside ECPs) are not possible at this
    time.

Overall, the user is cautioned against using the stability analysis
blindly without critically evaluating the result in terms of energy
difference and by investigating the orbitals (by the printout or by
plotting). Its usefulness cannot be denied, but it is certainly not
black-box.

An SCF stability analysis with default settings can be requested via
STABILITY, SCFSTABILITY, SCFSTAB or STAB on the simple input line.