The Self-Consistent-Field Procedure

An electron in a molecule feels every other electron. Yet no electron's motion is known until all the others are pinned down first. This circularity looks like a paradox. It is solved by a beautifully simple iterative trick. Guess the orbitals, build the average field they create. Solve for new orbitals in that field, and repeat. Repeat until nothing changes anymore. That fixed-point loop is the Self-Consistent-Field (SCF) procedure. It is the computational engine underneath essentially every routine electronic structure calculation done today. This ranges from a sophomore's Hartree–Fock homework problem to the reference orbitals inside a density-functional or coupled-cluster production run. The problem the SCF loop solves is a genuine chicken-and-egg one. The Hartree-Fock Energy and Fock Operator shows that each electron obeys an effective one-electron Schrödinger equation. But the operator in that equation — the Fock operator — is built from Coulomb and exchange integrals. Those integrals depend on the very orbitals we are trying to find. You cannot write down the Hamiltonian until you know the answer. And you cannot know the answer until you have the Hamiltonian. Rather than being a dead end, this self-referential structure is exactly the kind of problem that iteration is built for. Pick a starting guess, close the loop once. See how much the guess changes. Then iterate until the input and output orbitals agree with each other to some numerical tolerance. The big picture is that self-consistency converts an intractable many-body problem into a sequence of tractable one-body problems. Each cycle requires diagonalizing a Fock matrix. This is a linear-algebra problem of the same size and difficulty. That holds whether for a five-atom molecule or a five-hundred-atom protein fragment (modulo basis set size). It does not explode into coupled coordinates. The price is that a single diagonalization is not the answer. You need the field to stop changing between iterations. This condition is called self-consistency, hence the procedure's name. Getting this loop to converge reliably is one of the practical arts of quantum chemistry. So is interpreting what convergence actually certifies. This article builds the SCF cycle from the ground up. It covers why the mean-field equations demand iteration. It covers the precise algorithmic steps (guess, build Fock matrix, diagonalize, form density, test convergence, repeat). It covers the mathematical meaning of "self-consistent." It also covers the numerical tricks — damping, DIIS extrapolation. These make convergence fast and reliable in practice. It closes by connecting the loop to the matrix formulation used in real codes. This is previewed here and detailed under the Roothaan-Hall Equations. It also connects to what is deliberately left out of any single SCF solution. That subject is Electron Correlation and the Correlation Energy.

Key takeaways
  • The Fock operator depends on the orbitals it is meant to determine — a closed loop, not a one-shot equation.
  • The SCF procedure breaks the loop by iterating: guess orbitals → build Fock operator → solve → get new orbitals → repeat.
  • Convergence means input and output densities (and energies) agree to a chosen numerical tolerance across a cycle.
  • Practical convergence needs damping or DIIS extrapolation; naive iteration can oscillate or diverge.
  • The energy from the correct converged orbitals is a variational upper bound to the true ground-state energy.
  • Key idea: self-consistency is a fixed point of the map "orbitals define field, field defines orbitals" — you iterate that map until it stops moving.

Where this lives today

Every Hartree–Fock, Kohn–Sham DFT, and semi-empirical electronic structure calculation run today — whether for a drug candidate's binding pose, a battery electrolyte's redox potential, a catalyst's transition state, or a protein active site in a QM/MM study — begins with an SCF loop of exactly this structure: build the mean-field operator from a guessed density, diagonalize, rebuild, repeat until self-consistent. In drug discovery, SCF-converged orbitals underlie the electrostatic potential maps used to design hydrogen-bonding contacts and the frontier-orbital (HOMO/LUMO) reasoning used to anticipate metabolic soft spots. In materials science, self-consistent Kohn–Sham calculations on periodic solids — using the identical fixed-point logic but with a self-consistent charge density in place of the Hartree–Fock density matrix — determine band gaps, defect formation energies, and catalytic surface reactivity. Instrumentally, SCF orbital energies (via Koopmans-type arguments) are used to rationalize photoelectron and X-ray absorption spectra, and SCF-converged densities feed directly into NMR shielding and EPR hyperfine calculations used to interpret spectroscopic data on everything from small organics to metalloenzymes. In every one of these applications, the practical bottleneck engineers actually fight is convergence robustness: chemists routinely switch initial guesses, apply damping, level shifting, or DIIS, or in tough cases turn to more exotic convergence algorithms (e.g. direct energy minimization or quadratically convergent SCF) precisely because the underlying fixed-point search — unchanged since Hartree's mechanical calculators — is not guaranteed to succeed from a poor start.

Ask the tutor: How does the DIIS error vector [F,DS][\mathbf F,\mathbf D\mathbf S] actually measure how far a Fock matrix is from self-consistency?

The physical picture

Consider a single electron moving in a molecule with many other electrons around it. Exactly solving the full Schrödinger equation for all electrons simultaneously is impossible for anything beyond a few particles — the electrons are correlated, each one's motion depending instantaneously on every other one's position. The Hartree–Fock approximation sidesteps exact correlation by asking each electron to move not in the instantaneous field of the others, but in their time-averaged, or mean, field. Concretely, each spin-orbital χi\chi_i satisfies an eigenvalue equation

f^(r1) χi(r1)=εi χi(r1)\hat f(\mathbf r_1)\,\chi_i(\mathbf r_1) = \varepsilon_i\,\chi_i(\mathbf r_1)

where f^\hat f is the one-electron Fock operator. That operator is built from the core Hamiltonian (kinetic energy plus nuclear attraction) plus Coulomb and exchange terms summed over all the occupied orbitals of the system:

f^(1)=h^(1)+∑b=1N[J^b(1)−K^b(1)]\hat f(1) = \hat h(1) + \sum_{b=1}^{N}\Big[\hat J_b(1) - \hat K_b(1)\Big]

Here is the crux of the whole article: the sum runs over the orbitals {χb}\{\chi_b\} that are themselves the unknowns of the equation. The operator you need to diagonalize to find the orbitals is built out of those same orbitals. You cannot write f^\hat f down numerically without already knowing its own eigenfunctions. The SCF procedure resolves this by not demanding an instant answer. Instead, it treats the problem as a fixed-point iteration. Start with any reasonable orbital guess — call it the zeroth iterate — build the Coulomb and exchange operators from that guess, diagonalize the resulting (approximate) Fock operator, and obtain a new, improved set of orbitals. Then throw away the first guess and rebuild f^\hat f from the new orbitals. Repeat. If the physics is sound and the guess was reasonable, the orbitals used to build f^\hat f and the orbitals that come out of diagonalizing it converge toward each other. When they agree — when feeding the output orbitals back in as input reproduces the same output — the field is self-consistent: it is consistent with the orbitals it generates. It helps to picture this as a landscape of mutual influence. Each orbital shapes the mean-field potential that every other orbital experiences; changing one orbital slightly perturbs the potential felt by all the others, which in turn nudges them, feeding back on the first orbital. The SCF iteration is the computational analogue of letting this mutual adjustment settle down, like a set of coupled springs relaxing to equilibrium rather than being solved by inverting one giant matrix all at once.

Figure
The SCF cycle as a closed loop: orbitals build the field, the field returns new orbitals
Guess density P⁽⁰⁾ or χᵢ⁽⁰⁾ Build Fock op. f = h + ΣJ − ΣK Diagonalize f get εᵢ, χᵢ⁽ⁿ⁺¹⁾ Test |ΔE|, |ΔP| below tolerance? no: loop new orbitals feed back yes → converged: E_SCF, self-consistent {χᵢ}

A second useful picture is energetic: at each iteration the total electronic energy can be evaluated from the current orbitals, and this energy traces out a curve as the cycle proceeds. Because the Hartree–Fock energy is variational — any normalized trial set of orbitals gives an energy no lower than the true ground-state Hartree–Fock energy — a properly implemented SCF procedure should see the energy decrease (or, near convergence, oscillate with rapidly shrinking amplitude) toward a minimum, never spuriously drop below the true SCF minimum.

Figure
Typical SCF energy convergence versus iteration number
SCF iteration n E(n) / hartree E_SCF (converged, −76.02371 Eₕ for H₂O/STO-3G-scale example) initial guess (core Hamiltonian) ΔE < 10⁻⁶ Eₕ here

The core ideas

The mathematical heart of the SCF procedure is that it is a fixed-point iteration for a nonlinear eigenvalue problem. Write the Fock operator as a functional of the density built from the occupied orbitals:

f^[{χb}](1) χi(1)=εi χi(1),i=1,…,N\hat f\big[\{\chi_b\}\big](1)\,\chi_i(1) = \varepsilon_i\,\chi_i(1), \qquad i = 1,\dots, N

where:

  • {χb}\{\chi_b\} is the current set of occupied spin-orbitals used to construct the operator,
  • f^[{χb}]\hat f[\{\chi_b\}] denotes that the Fock operator is a functional of that orbital set, not a fixed operator,
  • εi\varepsilon_i are orbital energies (Lagrange multipliers enforcing orthonormality),
  • NN is the number of occupied orbitals (electrons, for closed shells one orbital holds two electrons of opposite spin).

Reading: this equation only makes sense once {χb}\{\chi_b\} is specified, yet the χi\chi_i that solve it are supposed to be {χb}\{\chi_b\}. Self-consistency is the statement that the input set used to build f^\hat f and the output set obtained by diagonalizing f^\hat f are the same set (up to a unitary rotation among occupied orbitals, which leaves the Slater determinant and all physical observables unchanged). Define the iteration map explicitly. Let D(n)\mathbf D^{(n)} denote the one-electron density matrix built from the occupied orbitals at iteration nn (in an atomic-orbital basis {ϕμ}\{\phi_\mu\}, Dμν(n)=∑iocccμi(n)cνi(n)D_{\mu\nu}^{(n)} = \sum_{i}^{\rm occ} c_{\mu i}^{(n)} c_{\nu i}^{(n)} for real closed-shell orbitals). The SCF map is

D(n+1)=S[D(n)]\mathbf D^{(n+1)} = \mathcal S\big[\mathbf D^{(n)}\big]

where:

  • S\mathcal S is the composite operation "build Fock matrix from D(n)\mathbf D^{(n)}, diagonalize it, occupy the lowest orbitals, form the new density,"
  • convergence means D(n+1)=D(n)\mathbf D^{(n+1)} = \mathbf D^{(n)} (or, in practice, ∥D(n+1)−D(n)∥<δ\|\mathbf D^{(n+1)} - \mathbf D^{(n)}\| < \delta for a small tolerance δ\delta),
  • a self-consistent solution D⋆\mathbf D^\star is a fixed point: D⋆=S[D⋆]\mathbf D^\star = \mathcal S[\mathbf D^\star].

Reading: the entire numerical apparatus of Hartree–Fock theory is a search for this fixed point D⋆\mathbf D^\star. Since S\mathcal S is a genuinely nonlinear map (the Coulomb and exchange operators depend quadratically on the orbital coefficients), the iteration need not converge on the first attempt from an arbitrary guess, and the practical difficulty of SCF calculations is entirely about making this nonlinear fixed-point search fast and robust. Convergence is monitored with two complementary criteria, both essential because either alone can be misleading:

ΔE(n)=∣E(n)−E(n−1)∣<δE\Delta E^{(n)} = \big|E^{(n)} - E^{(n-1)}\big| < \delta_E
rms[ΔD(n)]=(1M2∑μν(Dμν(n)−Dμν(n−1))2)1/2<δD\text{rms}\big[\Delta \mathbf D^{(n)}\big] = \left(\frac{1}{M^2}\sum_{\mu\nu}\Big(D_{\mu\nu}^{(n)} - D_{\mu\nu}^{(n-1)}\Big)^2\right)^{1/2} < \delta_D

where:

  • E(n)E^{(n)} is the total electronic energy computed from the density at iteration nn,
  • δE\delta_E is a chosen energy tolerance, typically 10−610^{-6} to 10−9 Eh10^{-9}\,E_h for production calculations,
  • MM is the number of basis functions, so the sum runs over all matrix elements of the density matrix,
  • δD\delta_D is a chosen density (or orbital-gradient) tolerance, typically 10−610^{-6} to 10−810^{-8}.

Reading: the energy can appear converged (it is stationary at a saddle rather than a minimum, or two different densities happen to give nearly the same energy) while the density is still changing; checking the density independently guards against declaring false convergence.

Derivation AFrom the variational principle to the need for iteration

Goal: show explicitly why minimizing the Hartree–Fock energy functional under orthonormality constraints forces the appearance of a self-consistency loop, rather than a direct linear solve.

Step 1 — Write the energy as a functional of the orbitals. For a closed-shell determinant with doubly occupied spatial orbitals {ψi}i=1N/2\{\psi_i\}_{i=1}^{N/2}, the electronic energy is

E[{ψi}]=2∑i=1N/2hii+∑i=1N/2∑j=1N/2(2Jij−Kij)E[\{\psi_i\}] = 2\sum_{i=1}^{N/2} h_{ii} + \sum_{i=1}^{N/2}\sum_{j=1}^{N/2}\Big(2J_{ij} - K_{ij}\Big)

where hii=⟨ψi∣h^∣ψi⟩h_{ii} = \langle \psi_i|\hat h|\psi_i\rangle is the one-electron core integral, and Jij,KijJ_{ij}, K_{ij} are two-electron Coulomb and exchange integrals over pairs of occupied orbitals. This functional is quartic in the orbital coefficients, because JijJ_{ij} and KijK_{ij} each involve two orbitals contracted twice (once from the bra, once from the ket, on each of two electrons).

Step 2 — Impose orthonormality and minimize. The orbitals are varied subject to ⟨ψi∣ψj⟩=δij\langle \psi_i|\psi_j\rangle = \delta_{ij}. Introducing Lagrange multipliers εij\varepsilon_{ij} for these constraints and setting the functional derivative of E−∑ijεij(⟨ψi∣ψj⟩−δij)E - \sum_{ij}\varepsilon_{ij}(\langle\psi_i|\psi_j\rangle - \delta_{ij}) to zero with respect to ⟨ψi∣\langle\psi_i| gives, after a canonical unitary rotation that diagonalizes the multiplier matrix,

f^ ψi=εiψi,f^=h^+∑j=1N/2(2J^j−K^j)\hat f\,\psi_i = \varepsilon_i \psi_i, \qquad \hat f = \hat h + \sum_{j=1}^{N/2}\big(2\hat J_j - \hat K_j\big)

This step is identical in content to the derivation underlying the Hartree-Fock Energy and Fock Operator; the point emphasized here is what happens next.

Step 3 — Recognize the operator is quadratic in the very unknowns being solved for. Because EE is quartic in the orbital coefficients, its derivative — the Fock operator entering the eigenvalue equation — is cubic, i.e. it still depends quadratically on the coefficients through J^j\hat J_j and K^j\hat K_j built from ψj\psi_j. A linear eigenvalue problem f^ψi=εiψi\hat f\psi_i = \varepsilon_i\psi_i can be solved exactly once f^\hat f is a fixed, known operator. Here it is not: f^\hat f contains ψj\psi_j, the unknowns. This is precisely why the equation cannot be solved in one diagonalization; it is a nonlinear eigenvalue problem in disguise.

Step 4 — The only consistent resolution is iteration to a fixed point. Suppose a candidate solution set {ψi⋆}\{\psi_i^\star\} exists satisfying f^[{ψj⋆}]ψi⋆=εiψi⋆\hat f[\{\psi_j^\star\}]\psi_i^\star = \varepsilon_i\psi_i^\star for all ii. There is no algebraic shortcut to find {ψi⋆}\{\psi_i^\star\} directly from Step 2's equation, because the equation is not linear in the target set. What can be done is: start from any trial {ψj(0)}\{\psi_j^{(0)}\}, build f^(0)≡f^[{ψj(0)}]\hat f^{(0)} \equiv \hat f[\{\psi_j^{(0)}\}] (now a genuinely fixed, diagonalizable operator, since the orbitals defining it are frozen at iteration 00), diagonalize it to obtain {ψi(1)}\{\psi_i^{(1)}\}, rebuild f^(1)≡f^[{ψj(1)}]\hat f^{(1)} \equiv \hat f[\{\psi_j^{(1)}\}], and repeat. If this sequence converges, {ψi(n)}→{ψi⋆}\{\psi_i^{(n)}\} \to \{\psi_i^\star\}, and the fixed point satisfies the true nonlinear equation of Step 2 exactly. This is the SCF procedure, derived not as an algorithmic convenience but as the only route from the variational condition to an explicit numerical orbital set.

Go deeper · Derivation B · 1 minLinear convergence rate and the role of damping/extrapolation
Derivation BLinear convergence rate and the role of damping/extrapolation

Goal: derive, in a simplified one-parameter model, why naive (undamped) SCF iteration can oscillate or diverge, and why mixing old and new densities restores convergence — motivating damping and DIIS.

Step 1 — Linearize the SCF map near the fixed point. Let x(n)x^{(n)} represent a single scalar density-matrix element (or a convenient reduction of the whole density) at iteration nn, and let x⋆x^\star be the true self-consistent value. Near the fixed point, the SCF map S\mathcal S can be Taylor-expanded:

x(n+1)=S(x(n))≈x⋆+S′(x⋆) (x(n)−x⋆)x^{(n+1)} = \mathcal S(x^{(n)}) \approx x^\star + \mathcal S'(x^\star)\,\big(x^{(n)} - x^\star\big)

where S′(x⋆)≡dSdx∣x⋆\mathcal S'(x^\star) \equiv \left.\dfrac{d\mathcal S}{dx}\right|_{x^\star} is the local slope of the response of the output density to the input density, evaluated at self-consistency.

Step 2 — Track the error. Define the error e(n)=x(n)−x⋆e^{(n)} = x^{(n)} - x^\star. Then

e(n+1)≈S′(x⋆) e(n)e^{(n+1)} \approx \mathcal S'(x^\star)\, e^{(n)}

so after nn iterations from an initial error e(0)e^{(0)},

e(n)≈[S′(x⋆)]ne(0)e^{(n)} \approx \big[\mathcal S'(x^\star)\big]^n e^{(0)}

Step 3 — Read off the convergence condition. If ∣S′(x⋆)∣<1|\mathcal S'(x^\star)| < 1, the error shrinks geometrically and plain iteration converges — this is called linear convergence, with rate ∣S′(x⋆)∣|\mathcal S'(x^\star)|. If ∣S′(x⋆)∣>1|\mathcal S'(x^\star)| > 1, the error grows and the iteration diverges; if S′(x⋆)\mathcal S'(x^\star) is negative with magnitude near or above 11, the density overshoots and oscillates between iterations without settling — a very common failure mode for systems with small HOMO–LUMO gaps or nearly degenerate orbitals, where the mean field is unusually sensitive to small orbital changes.

Step 4 — Damping suppresses the unstable mode. Instead of feeding the raw output density directly back in, mix it with the previous input:

xdamped(n+1)=(1−α) x(n)+α S(x(n)),0<α≤1x^{(n+1)}_{\rm damped} = (1-\alpha)\,x^{(n)} + \alpha\,\mathcal S(x^{(n)}), \qquad 0 < \alpha \le 1

Linearizing this damped map near x⋆x^\star gives an effective slope 1−α+α S′(x⋆)1 - \alpha + \alpha\,\mathcal S'(x^\star). Choosing α\alpha small enough always brings this effective slope inside (−1,1)(-1,1) whenever S′(x⋆)\mathcal S'(x^\star) is real and finite, restoring convergence at the cost of taking more (but now guaranteed-stable) iterations. This is exactly the fixed-damping scheme used as the crudest SCF stabilizer; DIIS (Direct Inversion of the Iterative Subspace) generalizes this idea by choosing an optimal linear combination of several previous Fock or density matrices, minimizing an error vector (the commutator [F,DS][\mathbf F,\mathbf D\mathbf S], which vanishes exactly at self-consistency) rather than using a fixed mixing fraction, and typically achieves far faster than linear convergence near the solution.

Worked examples

Example 1 — Foundational: tracking one SCF cycle by hand with a toy 2×2 Fock matrix. Suppose a minimal, deliberately asymmetric model problem: a two-basis-function system (orthogonalized basis, so no separate overlap matrix is needed) where the Fock matrix depends on the density as

F11=−1.6000+0.3000 D11,F22=−1.1000+0.2000 D22,F12=F21=0.1000 D12F_{11} = -1.6000 + 0.3000\,D_{11}, \qquad F_{22} = -1.1000 + 0.2000\,D_{22}, \qquad F_{12}=F_{21} = 0.1000\,D_{12}

(energies in hartree; this mimics how diagonal Fock elements rise with electron density due to Coulomb repulsion). Take one doubly-occupied orbital (N=2N=2 electrons), so the density matrix is Dμν=2 cμcνD_{\mu\nu} = 2\,c_\mu c_\nu for the lowest eigenvector c=(c1,c2)\mathbf c = (c_1, c_2). Guess (iteration 0): start from the bare core guess, D(0)=0\mathbf D^{(0)} = \mathbf 0 (ignore electron–electron repulsion initially). Then

F11(0)=−1.6000,F22(0)=−1.1000,F12(0)=0F_{11}^{(0)} = -1.6000, \qquad F_{22}^{(0)} = -1.1000, \qquad F_{12}^{(0)} = 0

This matrix is already diagonal, so the eigenvectors are the basis functions themselves; the lower eigenvalue is −1.6000 Eh-1.6000\,E_h with eigenvector c(1)=(1,0)\mathbf c^{(1)} = (1, 0). The new density is

D11(1)=2(1)2=2.0000,D22(1)=0,D12(1)=0D_{11}^{(1)} = 2(1)^2 = 2.0000, \qquad D_{22}^{(1)} = 0, \qquad D_{12}^{(1)} = 0

Iteration 1: rebuild the Fock matrix from D(1)\mathbf D^{(1)}:

F11(1)=−1.6000+0.3000(2.0000)=−1.0000F_{11}^{(1)} = -1.6000 + 0.3000(2.0000) = -1.0000
F22(1)=−1.1000+0.2000(0)=−1.1000,F12(1)=0F_{22}^{(1)} = -1.1000 + 0.2000(0) = -1.1000, \qquad F_{12}^{(1)} = 0

Diagonalizing (still diagonal): the lowest eigenvalue is now −1.1000 Eh-1.1000\,E_h, with eigenvector c(2)=(0,1)\mathbf c^{(2)} = (0,1) — the orbital character has flipped entirely from basis function 1 to basis function 2! The new density is D11(2)=0D_{11}^{(2)}=0, D22(2)=2.0000D_{22}^{(2)}=2.0000. Iteration 2: rebuild again:

F11(2)=−1.6000+0=−1.6000,F22(2)=−1.1000+0.2000(2.0000)=−0.7000F_{11}^{(2)} = -1.6000 + 0 = -1.6000, \qquad F_{22}^{(2)} = -1.1000 + 0.2000(2.0000) = -0.7000

Lowest eigenvalue is −1.6000 Eh-1.6000\,E_h again, eigenvector back to (1,0)(1,0). The density has returned exactly to D(1)\mathbf D^{(1)}: the iteration is oscillating between two densities without converging, a direct illustration of Step 3 of the second derivation, where ∣S′(x⋆)∣>1|\mathcal S'(x^\star)|>1 for this (deliberately exaggerated) coupling strength. Applying damping with α=0.5\alpha = 0.5: instead of jumping fully to the new density, mix:

D11damped=0.5(2.0000)+0.5(0)=1.0000,D22damped=0.5(0)+0.5(2.0000)=1.0000D_{11}^{\rm damped} = 0.5(2.0000) + 0.5(0) = 1.0000, \qquad D_{22}^{\rm damped} = 0.5(0) + 0.5(2.0000) = 1.0000

Rebuilding the Fock matrix from this damped density,

F11=−1.6000+0.3000(1.0000)=−1.3000,F22=−1.1000+0.2000(1.0000)=−0.9000F_{11} = -1.6000 + 0.3000(1.0000) = -1.3000, \qquad F_{22} = -1.1000+0.2000(1.0000) = -0.9000

Diagonalizing gives lowest eigenvalue −1.3000 Eh-1.3000\,E_h with eigenvector still (1,0)(1,0) dominant character but the density itself now updates more gently on each pass, and successive damped densities converge monotonically toward a stable intermediate value rather than flipping back and forth — exactly the stabilization predicted analytically.

Limiting case check: if the off-diagonal coupling constant in F12F_{12} were zero and the diagonal self-consistency slopes (0.30000.3000 and 0.20000.2000 above) were replaced by values small enough that ∣S′(x⋆)∣<1|\mathcal S'(x^\star)| < 1 — for instance halving both coefficients to 0.15000.1500 and 0.10000.1000 — direct substitution shows the undamped iteration converges monotonically without oscillation, confirming that the pathology here is due to the coupling strength, not to some flaw in the iteration concept itself.

Example 2 — Applied: monitoring convergence for a real closed-shell molecule (illustrative numbers based on typical HF/6-31G* behavior for formaldehyde, H₂CO). A working quantum chemistry package prints, for each SCF iteration, the total electronic-plus-nuclear energy and the density matrix rms change. A representative (illustrative, order-of-magnitude realistic) trace looks like:

Iteration nnE(n)E^{(n)} / EhE_hΔE(n)\Delta E^{(n)} / EhE_hrms[ΔD(n)][\Delta \mathbf D^{(n)}]
1 (core guess)−113.4210-113.4210——
2−113.8531-113.85314.321×10−14.321\times10^{-1}8.4×10−28.4\times10^{-2}
3−113.8967-113.89674.360×10−24.360\times10^{-2}2.1×10−22.1\times10^{-2}
4−113.8991-113.89912.400×10−32.400\times10^{-3}4.7×10−34.7\times10^{-3}
5−113.89918-113.899188.0×10−58.0\times10^{-5}6.2×10−46.2\times10^{-4}
6−113.899183-113.8991833×10−63\times10^{-6}4.0×10−54.0\times10^{-5}
7−113.8991832-113.89918322×10−72\times10^{-7}3×10−63\times10^{-6}

Suppose the calculation is set with δE=10−6 Eh\delta_E = 10^{-6}\,E_h and δD=10−5\delta_D = 10^{-5}. Reading the table: at iteration 6, ΔE=3×10−6 Eh\Delta E = 3\times10^{-6}\,E_h still exceeds δE\delta_E, so the loop must continue. At iteration 7, ΔE=2×10−7 Eh<10−6 Eh\Delta E = 2\times10^{-7}\,E_h < 10^{-6}\,E_h and rms[ΔD]=3×10−6<10−5[\Delta\mathbf D] = 3\times10^{-6} < 10^{-5}: both criteria are satisfied simultaneously, and the calculation reports "SCF converged" at iteration 7 with ESCF=−113.8991832 EhE_{\rm SCF} = -113.8991832\,E_h. Notice the qualitative shape: a large energy drop on the first real iteration (the core-Hamiltonian guess neglects electron repulsion entirely, so it is a poor starting point and the first correction is large), followed by roughly an order-of-magnitude reduction in ΔE\Delta E per iteration once the density is close to self-consistent — the hallmark of the linear (geometric) convergence derived above, here with an effective rate ∣S′(x⋆)∣≈0.04|\mathcal S'(x^\star)| \approx 0.04–0.070.07 read off successive ratios (ΔE(4)/ΔE(3)≈0.055\Delta E^{(4)}/\Delta E^{(3)} \approx 0.055, ΔE(5)/ΔE(4)≈0.033\Delta E^{(5)}/\Delta E^{(4)} \approx 0.033), consistent with a well-behaved, DIIS-accelerated closed-shell calculation.

Limiting case check: if δD\delta_D were instead loosened to 10−210^{-2}, the procedure would have already declared "converged" at iteration 3 (rms[ΔD]=2.1×10−2[\Delta \mathbf D] = 2.1\times10^{-2} is close to but technically above 10−210^{-2}, so actually iteration 4 with rms =4.7×10−3=4.7\times10^{-3} would be the first to pass) — illustrating concretely that the choice of tolerance changes when the loop stops, and that reported "SCF energies" from two codes with different default tolerances need not agree in the seventh decimal place even for the identical molecule and basis.

Example 3 — Exam/competition level: proving that oscillation between two densities cannot be the true self-consistent solution, and estimating the damping fraction needed to guarantee convergence. Setup. In Example 1's toy model, the exact undamped map alternates between DA=diag(2.0000,0)\mathbf D_A = \mathrm{diag}(2.0000, 0) and DB=diag(0,2.0000)\mathbf D_B = \mathrm{diag}(0, 2.0000) forever, never settling. A student is asked: (a) show algebraically that neither DA\mathbf D_A nor DB\mathbf D_B is a fixed point of the SCF map, and (b) find the minimum damping fraction α\alpha (applied to the diagonal density elements) that guarantees monotonic convergence, given the local sensitivities ∂F11/∂D11=0.3000\partial F_{11}/\partial D_{11} = 0.3000 and ∂F22/∂D22=0.2000 Eh\partial F_{22}/\partial D_{22} = 0.2000\,E_h. Part (a). By definition a fixed point D⋆\mathbf D^\star must satisfy D⋆=S(D⋆)\mathbf D^\star = \mathcal S(\mathbf D^\star). Test DA\mathbf D_A: building F\mathbf F from DA\mathbf D_A gives, per Example 1's iteration 1 result, F11=−1.0000F_{11}=-1.0000, F22=−1.1000F_{22}=-1.1000, whose lowest eigenvector is (0,1)(0,1), producing output density DB≠DA\mathbf D_B \ne \mathbf D_A. So DA\mathbf D_A fails the fixed-point test; by the symmetric argument (Example 1 iteration 2), DB\mathbf D_B maps back to DA≠DB\mathbf D_A \ne \mathbf D_B and also fails. Neither member of the oscillating pair is self-consistent — self-consistency requires D(n+1)=D(n)\mathbf D^{(n+1)}=\mathbf D^{(n)} exactly, and an oscillating limit cycle of period 2 never achieves that, no matter how many iterations are run. Part (b). Because this small system is effectively decoupled along the diagonal (the off-diagonal terms vanish exactly at both DA\mathbf D_A and DB\mathbf D_B), the two diagonal channels can be analyzed separately as scalar iterations. Consider the D11D_{11} channel. Because occupation is all-or-nothing (whichever orbital is lower in energy takes both electrons, i.e. D11∈{0,2}D_{11}\in\{0,2\} before damping) rather than a smooth function of F11F_{11}, treat the effective slope using the discrete jump observed directly: an input density change of ΔD11in=2.0000−0=2.0000\Delta D_{11}^{\rm in} = 2.0000-0 = 2.0000 (going from iteration 0 to 1's density) produced an output swing of ΔD11out=0−2.0000=−2.0000\Delta D_{11}^{\rm out} = 0 - 2.0000 = -2.0000 at the next map application (density flips from 2.00002.0000 back toward 00). The observed raw slope is therefore

S′(x⋆)≈ΔD11outΔD11in=−2.00002.0000=−1.0000\mathcal S'(x^\star) \approx \frac{\Delta D_{11}^{\rm out}}{\Delta D_{11}^{\rm in}} = \frac{-2.0000}{2.0000} = -1.0000

This is exactly the borderline value ∣S′∣=1|\mathcal S'| = 1 (a period-2 limit cycle, matching the observed perfect oscillation). With damping fraction α\alpha, the effective slope becomes

Sdamped′=(1−α)+α S′(x⋆)=(1−α)+α(−1.0000)=1−2α\mathcal S'_{\rm damped} = (1-\alpha) + \alpha\,\mathcal S'(x^\star) = (1-\alpha) + \alpha(-1.0000) = 1 - 2\alpha

For guaranteed convergence we need ∣Sdamped′∣<1|\mathcal S'_{\rm damped}| < 1:

−1<1−2α<1⟹0<α<1.0000-1 < 1-2\alpha < 1 \quad\Longrightarrow\quad 0 < \alpha < 1.0000

So any damping strictly between 00 and 11 breaks the exact period-2 cycle in this borderline case (consistent with the α=0.5\alpha = 0.5 trial in Example 1, which gave Sdamped′=1−2(0.5)=0\mathcal S'_{\rm damped} = 1 - 2(0.5) = 0 — the theoretically fastest possible convergence, landing exactly on the fixed point in one damped step for this idealized linear model). For a real system where the raw slope typically satisfies ∣S′(x⋆)∣=1+η|\mathcal S'(x^\star)| = 1 + \eta with a small overshoot η>0\eta > 0 (rather than the exact borderline η=0\eta=0 used here), the same algebra gives the sharper requirement

α<21+∣S′(x⋆)∣\alpha < \frac{2}{1+|\mathcal S'(x^\star)|}

so stronger instabilities (larger ∣S′∣|\mathcal S'|, typically associated with small HOMO–LUMO gaps or near-degenerate frontier orbitals) require smaller, more conservative damping fractions to tame.

Limiting case check: if S′(x⋆)=0\mathcal S'(x^\star) = 0 (a system whose Fock matrix is completely insensitive to the density near self-consistency — e.g. very weak electron correlation with negligible Coulomb/exchange feedback), the formula gives α<2\alpha < 2, meaning even undamped iteration (α=1\alpha=1) converges immediately in a single step, as expected: with zero coupling there is nothing to oscillate against.

Limiting cases, scope & common traps

Regime / questionWhat happensWhy
Well-separated HOMO–LUMO gap, good initial guessFast, monotonic linear convergence, often 5–10 iterations∥S′(x⋆)∥\|\mathcal S'(x^\star)\| is small; the mean field is insensitive to small orbital perturbations
Small or near-zero HOMO–LUMO gap (e.g. some transition metals, biradicaloids)Oscillation, slow convergence, or divergence without damping/DIISNear-degenerate orbitals swap character between iterations, as in Example 1/3
Core-Hamiltonian initial guess (D(0)=0\mathbf D^{(0)}=0)Large first energy drop, then geometric convergenceNeglecting all electron repulsion initially is a crude but always-available starting point
Superposition-of-atomic-densities guessFewer iterations needed than core guessStarting density is already close to the molecular self-consistent density
Energy converged but density still changingFalse convergence risk if only ΔE\Delta E is checkedEnergy is stationary near the minimum (second-order sensitivity), density is first-order sensitive
Multiple self-consistent solutions found from different guessesSCF has found a different stationary point (often an excited determinant or broken-symmetry solution), not necessarily the ground stateThe Fock equations admit many fixed points; only the lowest-energy one (found variationally) is the Hartree–Fock ground state
N→N\to very large basis / large moleculeIteration count per SCF cycle stays similar; cost per iteration (Fock build, diagonalization) scales, historically as O(M4)O(M^4) for the two-electron integrals before screening, now often much better with density fitting/linear-scaling techniquesThe self-consistency loop itself is basis-size-independent in structure; only the cost of each pass changes
Damping fraction α→0\alpha \to 0Iteration is stable but arbitrarily slowEffective slope →1\to 1: change per step shrinks to zero
Damping fraction α→1\alpha \to 1Recovers undamped iteration, may reintroduce oscillationNo mixing with the previous density at all

The chemist behind it

The self-consistent-field method as a physical strategy predates its molecular applications entirely: it was invented for atoms, where the same chicken-and-egg problem — each electron's field depends on the others' unknown orbitals — first became a computational obstacle to solving many-electron atomic structure by hand and by early mechanical/analog calculation.

Origins · 1 minDouglas Rayner Hartree and how this was discovered
DR
Douglas Rayner Hartree
1897–1958 · Cambridge and Manchester, numerical atomic structure theory

Hartree trained originally in physics under Rutherford's circle at Cambridge, but his defining contribution came from an unusual combination of physical insight and relentless numerical persistence. Faced with the impossibility of solving the many-electron Schrödinger equation for atoms directly, he proposed in 1927 that each electron be assigned its own orbital moving in the averaged field of the nucleus and all other electrons — the "self-consistent field" — and that this field be found by iterating a set of coupled differential equations by hand and by mechanical calculating machines until the assumed and computed fields agreed. He and his collaborators (notably his father William Hartree, and later Bertha Swirles/Jeffries and John Slater's exchange corrections leading to the Hartree–Fock refinement) painstakingly tabulated numerical atomic wavefunctions for dozens of atoms, work that predates modern digital computers entirely and was carried out with mechanical differential analyzers built partly by Hartree himself. His method, refined by Vladimir Fock's inclusion of antisymmetry and exchange in 1930, became the Hartree–Fock method, and the iterative numerical strategy he pioneered — guess, compute the field, resolve, repeat until self-consistent — is unchanged in spirit in every modern SCF-based quantum chemistry package.

History
- 1927 — Hartree introduces the self-consistent-field method for atoms, iterating numerically on a differential analyzer.
- 1930 — Fock (and independently Slater) incorporates antisymmetry, adding the exchange term and yielding the Hartree–Fock equations.
- 1951 — Roothaan (and independently Hall) recasts the SCF orbital equations in a finite atomic-orbital basis, turning the integro-differential problem into a matrix eigenvalue problem solvable on early digital computers.
- 1960s–70s — Convergence acceleration techniques (damping, level shifting) become standard as SCF calculations move to routine molecular use.
- 1980 — Pulay introduces DIIS (Direct Inversion of the Iterative Subspace), transforming SCF convergence from often dozens of iterations to typically under ten for well-behaved systems.
Why is it called "self-consistent" rather than just "iterative"?

The term emphasizes what the loop actually certifies: not merely that some iteration has been run some number of times, but that the field used to define the orbitals is consistent with itself — feeding the output orbitals back in as the input reproduces the same output. "Iterative" describes the mechanism; "self-consistent" describes the physical/mathematical condition being sought, which is a fixed point of the orbital-defines-field-defines-orbital map. Hartree chose this language deliberately in 1927 to capture the idea that the averaged field an electron feels must be consistent with the very electron distribution that generates it.

Does the SCF procedure always converge?

No. Plain, undamped iteration of the Fock-build/diagonalize/repeat cycle can oscillate indefinitely (a limit cycle, as in the toy example worked out above) or diverge outright, especially for systems with small HOMO–LUMO gaps, near-degenerate orbitals, or poor initial guesses. In practice, virtually all production software applies stabilization — damping, level shifting, or DIIS extrapolation — precisely because naive iteration is not guaranteed to converge, even though a self-consistent solution is mathematically guaranteed to exist for well-posed Hartree–Fock problems.

What is the difference between the SCF procedure and the Roothaan-Hall equations?

The SCF procedure is the general iterative strategy — guess, build field, resolve, repeat until self-consistent — that applies whether the orbitals are represented numerically on a grid (as Hartree originally did for atoms) or expanded in a finite basis set. The Roothaan-Hall Equations are the specific matrix formulation obtained when molecular orbitals are expanded as linear combinations of atomic basis functions, turning the integro-differential Fock equation into a matrix eigenvalue problem FC=SCε\mathbf{FC}=\mathbf{SC}\boldsymbol\varepsilon. Every modern molecular SCF calculation runs the self-consistency loop on the Roothaan–Hall matrix equations rather than on Hartree's original numerical orbitals.

How is the initial guess for the very first SCF iteration usually chosen?

Common choices include the core-Hamiltonian guess (diagonalize h^\hat h alone, ignoring all electron repulsion, as in Example 1), the superposition-of-atomic-densities (SAD) guess (build a starting molecular density from precomputed free-atom densities, usually much closer to self-consistency and standard in most modern packages), or orbitals carried over from a previous, related calculation (e.g. a slightly different geometry along a potential energy surface scan, or a smaller basis set calculation). A better initial guess reduces the number of iterations needed and lowers the risk of converging to an unwanted higher-energy self-consistent solution.

Can the SCF procedure converge to the wrong answer?

It can converge to a correct self-consistent solution that is not the lowest-energy one. The nonlinear Fock equations can admit multiple fixed points — corresponding, for example, to different orbital orderings, different spin configurations in open-shell systems, or symmetry-broken solutions — and which one the iteration lands on depends on the initial guess. This is why quantum chemists routinely try multiple starting guesses for suspected multi-reference or near-degenerate systems, and why a converged SCF energy should always be checked against chemical expectation (correct spin state, correct symmetry, sensible orbital ordering) rather than accepted purely because the numerical loop terminated.

Why does the SCF energy nearly always decrease monotonically toward convergence, and is that always required?

Because the Hartree–Fock energy functional is variational, any correctly constructed Slater determinant gives an energy at or above the true SCF minimum, so a properly implemented iteration (or one stabilized by damping/DIIS) generally sees the energy fall monotonically as the density approaches self-consistency. It is not, however, a strict mathematical guarantee for every conceivable update scheme at every single iteration — poorly damped or unstable steps (as in the oscillating toy example) can transiently raise the energy between iterations even though the final converged value, once reached, is still a genuine upper bound on the true ground-state energy for that basis set.

What comes after a converged SCF calculation?

A converged SCF solution provides orbitals, orbital energies, and a mean-field total energy that already captures the bulk of the electronic energy, but by construction it omits the instantaneous correlation between electrons' motions — the difference between this mean-field energy and the exact non-relativistic energy is the subject of Electron Correlation and the Correlation Energy. Nearly every post-Hartree–Fock method (Møller–Plesset perturbation theory, coupled-cluster theory, configuration interaction) as well as Kohn–Sham DFT uses the converged SCF (or analogous self-consistent Kohn–Sham) orbitals as its essential starting point.

Before this

Where this leads