Wavefunction Stability¶
A Wavefunction Stability Analysis checks whether a converged SCF (HF or DFT) solution truly sits at the lowest-energy point available to it, rather than merely at a stationary point. Unlike a Geometry Optimization or Transition State Search, which explore the Potential Energy Surface in nuclear coordinates, a stability test explores the energy surface in the space of orbital rotations — mixing occupied and virtual orbitals of the same converged geometry.
A normal SCF calculation only guarantees that the energy gradient with respect to orbital rotation is zero (Brillouin's theorem). It says nothing about whether that point is a minimum, and it is entirely possible to converge onto a self-consistent solution that is actually a saddle point in orbital space, with a lower-energy determinant hiding nearby.
What Is Wavefunction Stability?¶
An SCF wavefunction is stable when its energy is a genuine local minimum with respect to all allowed orbital rotations. Formally, this requires
- the first derivative of the energy with respect to orbital rotation to vanish (already satisfied by any converged SCF),
- the second derivative (the orbital, or electronic, Hessian) to be positive semi-definite along every rotation direction considered.
If the second condition fails, the wavefunction is unstable: a lower-energy solution exists nearby, reached by rotating the orbitals along the offending direction.
Why Perform a Stability Analysis?¶
Running a stability test protects the rest of a computational study from being built on a false solution. It is used to
- confirm that a closed-shell RHF/RKS solution is not artificially trapped by symmetry,
- detect a lower-energy spin-unrestricted (UHF/UKS) solution hiding near a suspicious closed-shell result,
- check for lower-energy real or complex solutions before trusting derived properties,
- validate a reference wavefunction before running excited-state methods such as TD-DFT or CIS on top of it.
How Does Gaussian Perform a Stability Test?¶
Gaussian does not re-optimize nuclear geometry during a stability run. Instead, it builds the orbital (electronic) Hessian implicitly and diagonalizes it iteratively.
Converged SCF / DFT Wavefunction
│
▼
Construct Orbital Hessian
(the "Stability Matrix")
│
▼
Iterative Davidson-Type
Diagonalization
│
▼
Lowest Eigenvalues Examined
│
▼
Are all eigenvalues ≥ 0 ?
│ │
Yes No
│ │
Stable Unstable
Wavefunction → rotate orbitals along
the soft mode, restart SCF
Characteristics of a Stable Wavefunction¶
A wavefunction reported as stable satisfies:
- the iterative diagonalization of the stability matrix converges,
- every eigenvalue found (across the instability channels tested) is non-negative,
- Gaussian prints the message "The wavefunction is stable under the perturbations considered."
If any eigenvalue is negative, Gaussian instead reports an instability and — when the default Stable=Opt option is used — automatically follows the corresponding eigenvector to a lower-energy determinant and re-optimizes the SCF from there.
Typical Applications¶
Stability analysis is routinely performed for
- Open-shell singlets and biradicaloid systems.
- Stretched or partially broken bonds.
- Transition-metal complexes with near-degenerate orbitals.
- Hydrogen-bonded dimers and aggregates, such as the formic acid dimer used in this tutorial.
- Verifying a DFT ground state before running TD-DFT.
- Checking symmetry-restricted solutions for hidden symmetry-broken alternatives.
Prerequisites¶
A stability test requires
- a converged SCF or DFT wavefunction at a fixed geometry,
- a reasonable orbital guess (a checkpoint file from a prior job is convenient),
- enough virtual orbitals to represent the relevant excitation space.
What You Will Learn¶
This section demonstrates how to perform a Wavefunction Stability Analysis in Gaussian, using the hydrogen-bonded formic acid dimer as a worked example. It covers:
- Preparing the Gaussian input file with the
Stablekeyword. - Understanding the available stability options.
- Running the stability calculation.
- Interpreting the eigenvector/eigenvalue output.
- Distinguishing singlet, triplet, real, and complex instabilities.
- The mathematics of the electronic (orbital) Hessian behind the test.
-
Download Input
Complete Gaussian input used in this tutorial.
-
Download Output
Complete output file discussed below.