Skip to content

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 Stable keyword.
  • 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.