The Roothaan-Hall Equations

A computer cannot integrate over an unknown function. Yet the Hartree–Fock orbital is exactly that. It is an unknown function determined by an integro-differential equation. Its kernel depends on the solution itself. The trick that makes molecular quantum chemistry practical and programmable is deceptively simple. Expand each unknown molecular orbital as a linear combination of a finite set of known functions, the basis set. Then let the algebra of matrices do the rest. This is precisely what Clemens Roothaan and George Hall did independently in 1951. They transformed the The Self-Consistent-Field Procedure from an abstract differential equation into a generalized matrix eigenvalue problem. Any digital computer can solve such a problem. The payoff is enormous. Instead of searching a function space, the Hartree–Fock problem becomes a search for a finite list of numbers. These are the expansion coefficients CμiC_{\mu i}. They are subject to matrix equations built from one- and two-electron integrals over the chosen basis functions. This reduction — from "solve a differential equation for an unknown orbital" to "diagonalize a matrix" — is the single event that turned quantum chemistry into computational quantum chemistry. Every modern electronic structure package still performs some descendant of the Roothaan–Hall iteration at its core. This holds true from a teaching code to a production DFT engine. The big picture is this: molecular orbitals are not built from scratch. They are combinations of atom-centered basis functions. This echoes the atomic orbital combinations chemists already draw for bonding. This article develops the machinery precisely. It covers the basis expansion ansatz, the overlap matrix that keeps track of non-orthogonality, the Fock matrix that encodes the mean-field Hamiltonian, and the density matrix that closes the self-consistent loop. Along the way you will see exactly why the equations must be solved iteratively. You will see why the problem is a generalized rather than ordinary eigenvalue problem. You will also see how the whole edifice reduces to familiar limits when the basis becomes orthogonal or minimal. By the end, you will be able to write out the SCF iteration step by step. Build SS, guess PP, build FF, orthogonalize, diagonalize, form new CC and PP, and repeat until the energy stops changing. This concrete recipe is the direct ancestor of Basis Sets: Slater vs Gaussian Functions. It is also the ancestor of every discussion of Electron Correlation and the Correlation Energy. Correlation energy is defined only relative to the Hartree–Fock limit. Roothaan–Hall is what lets us actually reach that limit.

Key takeaways
  • Expanding molecular orbitals as ψi=∑μCμiχμ\psi_i = \sum_\mu C_{\mu i}\chi_\mu turns the Hartree–Fock integro-differential equation into a matrix equation.
  • The result is the generalized eigenvalue problem FC=SCεFC = SC\varepsilon, with FF the Fock matrix and SS the basis overlap matrix.
  • S≠IS \neq I because atom-centered basis functions on different atoms are not orthogonal; this is why the problem is generalized, not ordinary.
  • The Fock matrix depends on the density matrix PP, which depends on CC, which depends on FF — hence the equations must be solved self-consistently.
  • Orthogonalizing the basis (e.g., via Löwdin's S−1/2S^{-1/2}) converts FC=SCεFC=SC\varepsilon into an ordinary eigenvalue problem that standard diagonalization routines can handle.
  • Key idea: replacing an unknown continuous orbital by a finite linear combination of known basis functions converts the Hartree–Fock problem into linear algebra — a matrix eigenvalue equation solved iteratively until self-consistent.

Where this lives today

Every mainstream quantum chemistry package — Gaussian, ORCA, Psi4, Q-Chem, NWChem, PySCF — performs a Roothaan–Hall (or its unrestricted/restricted-open-shell cousin) iteration as the innermost engine of essentially every calculation, whether the final method is Hartree–Fock itself, a post-HF correlated method, or Kohn–Sham density functional theory (whose matrix equations have the identical FC=SCεFC=SC\varepsilon structure with an exchange-correlation potential folded into FF). Convergence acceleration techniques such as DIIS (direct inversion in the iterative subspace) exist specifically to speed up the Roothaan–Hall fixed-point iteration, since naive alternation between building FF from PP and diagonalizing can oscillate or converge painfully slowly for large or strongly correlated systems. In drug discovery, Roothaan–Hall-based Hartree–Fock calculations (and their DFT descendants sharing the same matrix machinery) are used to compute partial charges, conformer energies, and reactive intermediates for docking and force-field parameterization pipelines. In materials science, plane-wave and Gaussian-basis periodic codes solve a crystal-momentum-resolved generalization of the same equations to obtain band structures and cohesive energies. In spectroscopy, the same Fock and density matrices feed directly into computing vibrational frequencies (via the Hessian of the electronic energy), NMR shielding tensors, and UV-Vis transition energies through linear-response extensions built on the converged Roothaan–Hall solution. Even machine-learned interatomic potentials, now common in high-throughput materials screening, are frequently trained on energies and forces generated from Roothaan–Hall-type SCF calculations, making this 1951 reformulation one of the most continuously used pieces of infrastructure in all of computational science.

:::quiz[In the closed-shell Fock matrix formula F_μν = H^core_μν + Σ P_λσ[(μν|λσ) − ½(μλ|νσ)], what does the ½ factor multiplying the second term represent?]

  • A normalization constant for the basis functions
  • The exchange contribution's correct relative weight compared to twice the Coulomb term ✓
  • A relativistic correction factor
  • An artifact of using atomic units

Ask the tutor: Can you walk through how DIIS actually accelerates convergence of the Roothaan–Hall SCF loop?

The physical picture

Hartree–Fock theory says that each electron in a closed-shell molecule moves in an effective, averaged potential created by the nuclei and by all the other electrons, with exchange included exactly for same-spin pairs. The orbital ψi(r)\psi_i(\mathbf r) that describes this motion satisfies the Fock equation f^ ψi=εi ψi\hat f\,\psi_i = \varepsilon_i\,\psi_i, where f^\hat f is the one-electron Fock operator. This equation looks like an ordinary eigenvalue problem, but it is not one in practice: f^\hat f contains Coulomb and exchange operators built from the very orbitals we are trying to find, and ψi\psi_i is an arbitrary function of three continuous coordinates, not a vector in a finite space. Roothaan and Hall's insight was to stop searching over all functions and instead restrict the search to the span of a finite, chosen set of basis functions {χμ}μ=1N\{\chi_\mu\}_{\mu=1}^N, usually centered on the nuclei (atomic orbital-like functions, whether Slater-type or Gaussian-type). Any molecular orbital is then written as

ψi(r)=∑μ=1NCμi χμ(r).\psi_i(\mathbf r) = \sum_{\mu=1}^{N} C_{\mu i}\,\chi_\mu(\mathbf r).

This is exactly the LCAO idea chemists already use qualitatively when they draw bonding and antibonding combinations of atomic orbitals — Roothaan–Hall makes it quantitative and variational. Substituting this expansion into the Fock equation and projecting onto each basis function turns a differential equation for an unknown function ψi\psi_i into a matrix equation for the unknown numbers CμiC_{\mu i}. The infinite-dimensional variational search collapses to an NN-dimensional one, and NN-dimensional problems are exactly what matrices and computers are built to solve. Three matrices carry all the physics. The overlap matrix Sμν=⟨χμ∣χν⟩S_{\mu\nu} = \langle \chi_\mu | \chi_\nu\rangle measures how much the basis functions overlap each other; it would be the identity matrix only for an orthonormal basis, which atom-centered functions never quite are. The density matrix PμνP_{\mu\nu} packages the occupied-orbital coefficients into a single object that directly gives the electron density, ρ(r)=∑μνPμνχμ(r)χν(r)\rho(\mathbf r) = \sum_{\mu\nu} P_{\mu\nu}\chi_\mu(\mathbf r)\chi_\nu(\mathbf r). The Fock matrix FμνF_{\mu\nu} is the matrix representation of f^\hat f in the basis, built from one-electron (kinetic + nuclear attraction) integrals and two-electron Coulomb/exchange integrals weighted by PP. Because FF depends on PP, and PP depends on the coefficients that come from diagonalizing FF, the whole system must be solved by iteration — the self-consistent field loop.

Figure
From an unknown orbital to a finite coefficient vector: the LCAO expansion
Unknown function → known basis, unknown numbers ψ₁(r) = C₁₁ χ₁(r) + C₂₁ χ₂(r) + C₃₁ χ₃(r) + C₄₁ χ₄(r) χ₁ (H 1s, atom A) χ₂ (O 2pz, atom B) χ₃ (O 2s) χ₄ (H 1s, atom C) Coefficients C_μi are the only unknowns solved for
Figure
The generalized eigenvalue problem FC = SCε and the SCF loop
Self-consistent loop: F depends on P, P depends on C Guess density P⁽⁰⁾ Build Fock matrix F Solve FC = SCε (diagonalize) Form new P from C Loop until ΔE and ΔP fall below threshold → converged orbitals, energy, density

The core ideas

The starting point is the Fock eigenvalue equation for the exact (canonical) molecular orbitals,

f^(r1) ψi(r1)=εi ψi(r1),\hat f(\mathbf r_1)\,\psi_i(\mathbf r_1) = \varepsilon_i\,\psi_i(\mathbf r_1),

where:

  • f^\hat f is the one-electron Fock operator, f^=h^+∑j(2J^j−K^j)\hat f = \hat h + \sum_j (2\hat J_j - \hat K_j) for closed-shell (restricted) Hartree–Fock,
  • h^\hat h is the core Hamiltonian (kinetic energy + nuclear attraction),
  • J^j,K^j\hat J_j, \hat K_j are the Coulomb and exchange operators built from occupied orbital jj,
  • εi\varepsilon_i is the orbital energy of ψi\psi_i.

Reading: each electron feels the bare nuclei plus a mean-field Coulomb repulsion from every occupied orbital, corrected by an exchange term that removes the unphysical self-interaction between same-spin electrons and lowers the energy of parallel-spin pairs — this is the Pauli-driven piece. Expanding ψi=∑μCμiχμ\psi_i = \sum_\mu C_{\mu i}\chi_\mu and left-multiplying by χν∗\chi_\nu^* before integrating gives the matrix form,

∑μFνμ Cμi=εi∑μSνμ Cμi,i.e.FC=SCε,\sum_\mu F_{\nu\mu}\,C_{\mu i} = \varepsilon_i \sum_\mu S_{\nu\mu}\,C_{\mu i}, \qquad \text{i.e.} \qquad FC = SC\varepsilon,

where:

  • Fνμ=⟨χν∣f^∣χμ⟩F_{\nu\mu} = \langle \chi_\nu|\hat f|\chi_\mu\rangle is the Fock matrix,
  • Sνμ=⟨χν∣χμ⟩S_{\nu\mu} = \langle \chi_\nu|\chi_\mu\rangle is the overlap matrix,
  • CC is the N×NN\times N matrix of expansion coefficients (columns are orbitals),
  • ε\varepsilon is the diagonal matrix of orbital energies.

Reading: this is a generalized matrix eigenvalue problem — generalized because SS appears on the right, reflecting that basis functions on different centers are not orthogonal. If they were orthonormal, S=IS=I and this would be an ordinary eigenvalue equation. The Fock matrix elements are built explicitly from one- and two-electron integrals over the basis,

Fμν=Hμνcore+∑λσPλσ[(μν∣λσ)−12(μλ∣νσ)],F_{\mu\nu} = H^{\text{core}}_{\mu\nu} + \sum_{\lambda\sigma} P_{\lambda\sigma}\left[(\mu\nu|\lambda\sigma) - \tfrac12(\mu\lambda|\nu\sigma)\right],

where:

  • Hμνcore=⟨χμ∣−12∇2−∑AZA/rA∣χν⟩H^{\text{core}}_{\mu\nu} = \langle\chi_\mu|-\tfrac12\nabla^2 - \sum_A Z_A/r_A|\chi_\nu\rangle is the one-electron core Hamiltonian matrix,
  • (μν∣λσ)(\mu\nu|\lambda\sigma) is a two-electron repulsion integral in chemists' notation, ∬χμ(1)χν(1) r12−1 χλ(2)χσ(2) dr1dr2\iint \chi_\mu(1)\chi_\nu(1)\,r_{12}^{-1}\,\chi_\lambda(2)\chi_\sigma(2)\,d\mathbf r_1 d\mathbf r_2,
  • Pλσ=2∑ioccCλiCσiP_{\lambda\sigma} = 2\sum_{i}^{\text{occ}} C_{\lambda i}C_{\sigma i} is the density matrix (factor 2 for doubly occupied closed-shell orbitals).

Reading: the Fock matrix is the core Hamiltonian dressed by a weighted sum over all basis-function pairs, with the weights supplied by the density matrix — this is precisely where the equations become nonlinear and self-consistency becomes unavoidable. Finally the total electronic energy, needed to judge convergence and to compare structures, is

Eelec=12∑μνPμν(Hμνcore+Fμν),E_{\text{elec}} = \tfrac12 \sum_{\mu\nu} P_{\mu\nu}\left(H^{\text{core}}_{\mu\nu} + F_{\mu\nu}\right),

where the factor 12\tfrac12 avoids double-counting the electron–electron repulsion, which the naive sum of orbital energies would count twice.

Derivation AFrom the Fock equation to FC = SCε

Goal. Show explicitly how substituting the LCAO expansion into the operator eigenvalue equation f^ψi=εiψi\hat f\psi_i=\varepsilon_i\psi_i produces the matrix equation FC=SCεFC=SC\varepsilon, with no step hidden.

Step 1 — insert the expansion. Write ψi(r)=∑μCμiχμ(r)\psi_i(\mathbf r) = \sum_\mu C_{\mu i}\chi_\mu(\mathbf r) and substitute into the Fock equation:

f^(r)∑μCμiχμ(r)=εi∑μCμiχμ(r).\hat f(\mathbf r)\sum_\mu C_{\mu i}\chi_\mu(\mathbf r) = \varepsilon_i \sum_\mu C_{\mu i}\chi_\mu(\mathbf r).

Because f^\hat f is linear, it can be moved inside the sum, acting on each basis function separately: ∑μCμi f^χμ(r)=εi∑μCμiχμ(r)\sum_\mu C_{\mu i}\,\hat f\chi_\mu(\mathbf r) = \varepsilon_i\sum_\mu C_{\mu i}\chi_\mu(\mathbf r).

Step 2 — project onto a basis function. Multiply both sides from the left by χν∗(r)\chi_\nu^*(\mathbf r) and integrate over all space. This is the standard way to convert an equation among functions into a set of numerical equations, one for every choice of ν=1,…,N\nu = 1,\dots,N:

∑μCμi∫χν∗(r) f^ χμ(r) dr  =  εi∑μCμi∫χν∗(r)χμ(r) dr.\sum_\mu C_{\mu i} \int \chi_\nu^*(\mathbf r)\,\hat f\,\chi_\mu(\mathbf r)\,d\mathbf r \;=\; \varepsilon_i \sum_\mu C_{\mu i} \int \chi_\nu^*(\mathbf r)\chi_\mu(\mathbf r)\,d\mathbf r.

Step 3 — name the integrals. Define Fνμ≡∫χν∗f^χμ drF_{\nu\mu} \equiv \int \chi_\nu^*\hat f\chi_\mu\,d\mathbf r and Sνμ≡∫χν∗χμ drS_{\nu\mu}\equiv\int\chi_\nu^*\chi_\mu\,d\mathbf r. The equation becomes, for every ν\nu,

∑μFνμCμi=εi∑μSνμCμi.\sum_\mu F_{\nu\mu}C_{\mu i} = \varepsilon_i \sum_\mu S_{\nu\mu}C_{\mu i}.

This is a single row of a matrix equation. Stacking all NN rows (ν=1,…,N\nu=1,\dots,N) and all NN orbitals (i=1,…,Ni=1,\dots,N) together turns the sums into ordinary matrix products:

FC=SCε.FC = SC\varepsilon.

Step 4 — recognize why S survives. If the basis were orthonormal, Sνμ=δνμS_{\nu\mu}=\delta_{\nu\mu}, and Step 3 would collapse to the ordinary eigenvalue problem FC=CεFC=C\varepsilon. Atom-centered basis functions on different nuclei always have nonzero overlap (Sνμ≠0S_{\nu\mu}\neq 0 for μ≠ν\mu\neq\nu on different centers), so SS cannot be dropped; the equation is inescapably a generalized eigenvalue problem. This is the mathematical fingerprint of using a non-orthogonal, chemically motivated basis rather than an abstract orthogonal one.

Go deeper · Derivation B · 1 minBuilding the Fock matrix from the density matrix
Derivation BBuilding the Fock matrix from the density matrix

Goal. Derive the explicit working formula for FμνF_{\mu\nu} in terms of two-electron integrals and the density matrix, starting from the operator definitions of the Coulomb and exchange operators.

Step 1 — write the Fock operator in first-quantized form. For a closed-shell system with nn doubly occupied orbitals ψ1,…,ψn\psi_1,\dots,\psi_n,

f^(1)=h^(1)+∑j=1n[2J^j(1)−K^j(1)],\hat f(1) = \hat h(1) + \sum_{j=1}^{n}\left[2\hat J_j(1) - \hat K_j(1)\right],

where the Coulomb operator acting on any function gg is J^j(1)g(1)=[∫ψj∗(2)r12−1ψj(2) dr2]g(1)\hat J_j(1)g(1) = \left[\int \psi_j^*(2)r_{12}^{-1}\psi_j(2)\,d\mathbf r_2\right]g(1), and the exchange operator is K^j(1)g(1)=[∫ψj∗(2)r12−1g(2) dr2]ψj(1)\hat K_j(1)g(1) = \left[\int \psi_j^*(2)r_{12}^{-1}g(2)\,d\mathbf r_2\right]\psi_j(1).

Step 2 — sandwich between basis functions. Take matrix elements Fμν=⟨χμ∣f^∣χν⟩=Hμνcore+∑j[2⟨χμ∣J^j∣χν⟩−⟨χμ∣K^j∣χν⟩]F_{\mu\nu} = \langle\chi_\mu|\hat f|\chi_\nu\rangle = H^{\text{core}}_{\mu\nu} + \sum_j\left[2\langle\chi_\mu|\hat J_j|\chi_\nu\rangle - \langle\chi_\mu|\hat K_j|\chi_\nu\rangle\right]. Expanding each occupied orbital ψj=∑λCλjχλ\psi_j = \sum_\lambda C_{\lambda j}\chi_\lambda inside the Coulomb integral gives

⟨χμ∣J^j∣χν⟩=∑λσCλjCσj (μν∣λσ),\langle\chi_\mu|\hat J_j|\chi_\nu\rangle = \sum_{\lambda\sigma} C_{\lambda j}C_{\sigma j}\,(\mu\nu|\lambda\sigma),

and similarly for exchange, ⟨χμ∣K^j∣χν⟩=∑λσCλjCσj (μλ∣νσ)\langle\chi_\mu|\hat K_j|\chi_\nu\rangle = \sum_{\lambda\sigma}C_{\lambda j}C_{\sigma j}\,(\mu\lambda|\nu\sigma), using chemists' notation for the two-electron repulsion integral.

Step 2 (continued) — sum over occupied orbitals. Summing 2CλjCσj2C_{\lambda j}C_{\sigma j} over the occupied index jj is exactly the definition of the density matrix element Pλσ=2∑joccCλjCσjP_{\lambda\sigma} = 2\sum_j^{\text{occ}}C_{\lambda j}C_{\sigma j}. This is the crucial bookkeeping step: the sum over orbitals collapses into a single matrix, so the Fock matrix never needs to know which orbitals are occupied individually, only their combined density.

Step 3 — assemble the working formula. Substituting back,

Fμν=Hμνcore+∑λσPλσ(μν∣λσ)−12∑λσPλσ(μλ∣νσ)=Hμνcore+∑λσPλσ[(μν∣λσ)−12(μλ∣νσ)].F_{\mu\nu} = H^{\text{core}}_{\mu\nu} + \sum_{\lambda\sigma}P_{\lambda\sigma}(\mu\nu|\lambda\sigma) - \tfrac12\sum_{\lambda\sigma}P_{\lambda\sigma}(\mu\lambda|\nu\sigma) = H^{\text{core}}_{\mu\nu} + \sum_{\lambda\sigma}P_{\lambda\sigma}\left[(\mu\nu|\lambda\sigma)-\tfrac12(\mu\lambda|\nu\sigma)\right].

Step 4 — close the loop. Because PP is built from the coefficients CC that are themselves the solution of FC=SCεFC=SC\varepsilon, the Fock matrix is a function of its own eigenvectors. There is no way to write down FF without already knowing CC, so the only route to a solution is iteration: guess PP, build FF, diagonalize to get new CC, rebuild PP, and repeat until PP (equivalently, the energy) stops changing between cycles — this is the self-consistent field loop made concrete in matrix form.

Worked examples

Example 1 — a minimal two-function basis, entirely by hand. Consider a toy diatomic-like system described by just two normalized real basis functions χ1,χ2\chi_1,\chi_2 centered on two different atoms, with overlap S12=S21=0.30S_{12}=S_{21}=0.30 (an off-round, physically reasonable value for moderately separated atoms) and S11=S22=1S_{11}=S_{22}=1. Suppose a converged Fock matrix (in some energy unit, say hartree) has already been assembled as

F=(−1.20−0.45−0.45−0.95),S=(10.300.301).F = \begin{pmatrix} -1.20 & -0.45 \\ -0.45 & -0.95 \end{pmatrix}, \qquad S = \begin{pmatrix} 1 & 0.30 \\ 0.30 & 1 \end{pmatrix}.

We solve FC=SCεFC = SC\varepsilon by first finding ε\varepsilon from det⁡(F−εS)=0\det(F-\varepsilon S)=0:

det⁡(−1.20−ε−0.45−0.30ε−0.45−0.30ε−0.95−ε)=0.\det\begin{pmatrix} -1.20-\varepsilon & -0.45-0.30\varepsilon \\ -0.45-0.30\varepsilon & -0.95-\varepsilon \end{pmatrix} = 0.

Expanding,

(−1.20−ε)(−0.95−ε)−(−0.45−0.30ε)2=0.(-1.20-\varepsilon)(-0.95-\varepsilon) - (-0.45-0.30\varepsilon)^2 = 0.

The first product is 1.14+1.20ε+0.95ε+ε2=ε2+2.15ε+1.141.14 + 1.20\varepsilon + 0.95\varepsilon + \varepsilon^2 = \varepsilon^2 + 2.15\varepsilon + 1.14. The second is (0.45+0.30ε)2=0.2025+0.27ε+0.09ε2(0.45+0.30\varepsilon)^2 = 0.2025 + 0.27\varepsilon + 0.09\varepsilon^2. Subtracting,

ε2+2.15ε+1.14−0.2025−0.27ε−0.09ε2=0    ⇒    0.91ε2+1.88ε+0.9375=0.\varepsilon^2 + 2.15\varepsilon + 1.14 - 0.2025 - 0.27\varepsilon - 0.09\varepsilon^2 = 0 \;\;\Rightarrow\;\; 0.91\varepsilon^2 + 1.88\varepsilon + 0.9375 = 0.

Applying the quadratic formula,

ε=−1.88±1.882−4(0.91)(0.9375)2(0.91)=−1.88±3.5344−3.41251.82=−1.88±0.12191.82.\varepsilon = \frac{-1.88 \pm \sqrt{1.88^2 - 4(0.91)(0.9375)}}{2(0.91)} = \frac{-1.88\pm\sqrt{3.5344-3.4125}}{1.82} = \frac{-1.88\pm\sqrt{0.1219}}{1.82}.

Since 0.1219=0.3491\sqrt{0.1219}=0.3491, the two orbital energies are

ε1=−1.88−0.34911.82=−1.225 hartree,ε2=−1.88+0.34911.82=−0.841 hartree.\varepsilon_1 = \frac{-1.88-0.3491}{1.82} = -1.225\ \text{hartree}, \qquad \varepsilon_2 = \frac{-1.88+0.3491}{1.82} = -0.841\ \text{hartree}.

For ε1=−1.225\varepsilon_1=-1.225: solve (F−ε1S)c=0(F-\varepsilon_1 S)\mathbf c = 0. The first row gives (−1.20+1.225)C1+(−0.45+1.225(0.30))C2=0(-1.20+1.225)C_1 + (-0.45+1.225(0.30))C_2 = 0, i.e. 0.025 C1+(−0.45+0.3675)C2=0.025C1−0.0825C2=00.025\,C_1 + (-0.45+0.3675)C_2 = 0.025C_1 - 0.0825C_2=0, so C1=3.30 C2C_1 = 3.30\,C_2. Choosing C2=0.279C_2=0.279 and C1=0.921C_1=0.921 (unnormalized ratio scaled arbitrarily), we then enforce normalization CTSC=1C^T S C = 1:

C12+C22+2(0.30)C1C2=1.C_1^2 + C_2^2 + 2(0.30)C_1C_2 = 1.

With the ratio C1=3.30C2C_1=3.30C_2: (3.30)2C22+C22+2(0.30)(3.30)C22=(10.89+1+1.98)C22=13.87 C22=1(3.30)^2C_2^2 + C_2^2 + 2(0.30)(3.30)C_2^2 = (10.89+1+1.98)C_2^2 = 13.87\,C_2^2=1, so C2=0.2686C_2=0.2686 and C1=0.886C_1=0.886. The lowest-energy (bonding-like) molecular orbital is

ψ1=0.886 χ1+0.269 χ2,\psi_1 = 0.886\,\chi_1 + 0.269\,\chi_2,

with both coefficients the same sign — a bonding combination, as expected for the lower root. Repeating the same substitution with ε2=−0.841\varepsilon_2=-0.841 gives an antibonding combination with C1C_1 and C2C_2 of opposite sign (the algebra is the same pattern and is left as a natural check: the second row must also be satisfied simultaneously, confirming the two roots are consistent).

Limiting case check: if S12→0S_{12}\to 0 (orthogonal basis), the secular equation reduces to det⁡(F−εI)=0\det(F-\varepsilon I)=0, an ordinary eigenvalue problem, and the mixing coefficients would simplify to the textbook two-level formula tan⁡2θ=2F12/(F11−F22)\tan2\theta = 2F_{12}/(F_{11}-F_{22}). This confirms the generalized problem correctly reduces to the familiar ordinary one when S=IS=I.

Example 2 — energetic consequence: why the SCF loop is needed (HeH⁺-like density update). Suppose after one SCF cycle for a two-electron, two-basis-function system (one function on He, one on H, mimicking HeH⁺) the coefficients of the single doubly occupied orbital are C1=0.80C_1=0.80, C2=0.35C_2=0.35 (unnormalized for illustration, off-round on purpose). The density matrix element that feeds directly into the next Fock matrix is

P11=2C12=2(0.80)2=1.28,P22=2(0.35)2=0.245,P12=P21=2C1C2=2(0.80)(0.35)=0.560.P_{11} = 2C_1^2 = 2(0.80)^2 = 1.28, \qquad P_{22}=2(0.35)^2=0.245, \qquad P_{12}=P_{21}=2C_1C_2 = 2(0.80)(0.35)=0.560.

If the two-electron integrals over this basis are, in some convenient units, (11∣11)=0.90(11|11)=0.90, (22∣22)=0.55(22|22)=0.55, (11∣22)=0.40(11|22)=0.40, (12∣12)=0.15(12|12)=0.15 (all asymmetric, chosen to avoid accidental cancellation), the Coulomb contribution to F11F_{11} from this density is

∑λσPλσ(11∣λσ)=P11(11∣11)+P12(11∣12)+P21(11∣21)+P22(11∣22).\sum_{\lambda\sigma}P_{\lambda\sigma}(11|\lambda\sigma) = P_{11}(11|11) + P_{12}(11|12) + P_{21}(11|21) + P_{22}(11|22).

Taking (11∣12)=(11∣21)=0.20(11|12)=(11|21)=0.20 for concreteness, this evaluates to

1.28(0.90)+0.560(0.20)+0.560(0.20)+0.245(0.40)=1.152+0.112+0.112+0.098=1.474.1.28(0.90) + 0.560(0.20) + 0.560(0.20) + 0.245(0.40) = 1.152 + 0.112 + 0.112 + 0.098 = 1.474.

This number changes F11F_{11}, which changes ε\varepsilon and CC on the next diagonalization, which changes P11P_{11} again — precisely the nonlinear feedback loop that the derivation above predicted. Only when P11P_{11} (and every other density matrix element) stabilizes between cycles has self-consistency been reached, and only then is the energy formula Eelec=12∑Pμν(Hμνcore+Fμν)E_{\text{elec}}=\tfrac12\sum P_{\mu\nu}(H^{\text{core}}_{\mu\nu}+F_{\mu\nu}) meaningful as the Hartree–Fock energy.

Example 3 — orthogonalizing a non-orthogonal basis (Löwdin transformation), exam-style. A common exam question asks students to convert FC=SCεFC=SC\varepsilon into an ordinary eigenvalue problem. Given the same overlap matrix as Example 1, S=(10.300.301)S=\begin{pmatrix}1 & 0.30\\0.30 & 1\end{pmatrix}, find S−1/2S^{-1/2} and the transformed Fock matrix F′F'. First diagonalize SS: its eigenvalues solve det⁡(S−λI)=0⇒(1−λ)2−0.09=0⇒λ=1±0.30\det(S-\lambda I)=0 \Rightarrow (1-\lambda)^2 - 0.09=0 \Rightarrow \lambda = 1\pm0.30, giving λ1=1.30\lambda_1=1.30 and λ2=0.70\lambda_2=0.70, with (by symmetry of this particular symmetric 2×22\times2 matrix) eigenvectors 12(1,1)\tfrac{1}{\sqrt2}(1,1) and 12(1,−1)\tfrac1{\sqrt2}(1,-1). Then

S−1/2=U diag(λ1−1/2,λ2−1/2) UT,S^{-1/2} = U\,\mathrm{diag}(\lambda_1^{-1/2},\lambda_2^{-1/2})\,U^T,

with λ1−1/2=1/1.30=0.8771\lambda_1^{-1/2}=1/\sqrt{1.30}=0.8771 and λ2−1/2=1/0.70=1.1952\lambda_2^{-1/2}=1/\sqrt{0.70}=1.1952. Carrying out the matrix product,

S11−1/2=S22−1/2=12(0.8771+1.1952)=1.0362,S12−1/2=S21−1/2=12(0.8771−1.1952)=−0.1591.S^{-1/2}_{11}=S^{-1/2}_{22} = \tfrac12(0.8771+1.1952) = 1.0362, \qquad S^{-1/2}_{12}=S^{-1/2}_{21}=\tfrac12(0.8771-1.1952) = -0.1591.

So S−1/2=(1.0362−0.1591−0.15911.0362)S^{-1/2} = \begin{pmatrix}1.0362 & -0.1591\\ -0.1591 & 1.0362\end{pmatrix}. Using the Fock matrix from Example 1, the transformed (orthogonalized) Fock matrix is F′=S−1/2FS−1/2F' = S^{-1/2}FS^{-1/2}. Computing the first product, FS−1/2FS^{-1/2}:

(FS−1/2)11=(−1.20)(1.0362)+(−0.45)(−0.1591)=−1.2434+0.0716=−1.1718,(FS^{-1/2})_{11} = (-1.20)(1.0362)+(-0.45)(-0.1591) = -1.2434+0.0716=-1.1718,
(FS−1/2)12=(−1.20)(−0.1591)+(−0.45)(1.0362)=0.1909−0.4663=−0.2754.(FS^{-1/2})_{12} = (-1.20)(-0.1591)+(-0.45)(1.0362) = 0.1909-0.4663=-0.2754.

By the analogous computation for the second row (F21=F12=−0.45F_{21}=F_{12}=-0.45, F22=−0.95F_{22}=-0.95):

(FS−1/2)21=(−0.45)(1.0362)+(−0.95)(−0.1591)=−0.4663+0.1511=−0.3152,(FS^{-1/2})_{21} = (-0.45)(1.0362)+(-0.95)(-0.1591) = -0.4663+0.1511=-0.3152,
(FS−1/2)22=(−0.45)(−0.1591)+(−0.95)(1.0362)=0.0716−0.9844=−0.9128.(FS^{-1/2})_{22} = (-0.45)(-0.1591)+(-0.95)(1.0362) = 0.0716-0.9844=-0.9128.

Then F′=S−1/2(FS−1/2)F' = S^{-1/2}(FS^{-1/2}), and its diagonal entries are

F11′=1.0362(−1.1718)+(−0.1591)(−0.3152)=−1.2143+0.0502=−1.1641,F'_{11} = 1.0362(-1.1718)+(-0.1591)(-0.3152) = -1.2143+0.0502 = -1.1641,
F22′=−0.1591(−0.2754)+1.0362(−0.9128)=0.0438−0.9459=−0.9021.F'_{22} = -0.1591(-0.2754)+1.0362(-0.9128) = 0.0438-0.9459=-0.9021.

Diagonalizing this ordinary (symmetric, orthogonal-basis) F′F' by the standard rotation formula reproduces the same physical orbital energies found in Example 1 (ε1=−1.225\varepsilon_1=-1.225, ε2=−0.841\varepsilon_2=-0.841 hartree, matching up to the rounding carried through this hand calculation), because Löwdin orthogonalization is an exact similarity-type transformation, not an approximation — it only changes the basis representation, never the physics.

Limiting cases, scope & common traps

Limit / scenarioWhat happens to FC=SCεFC=SC\varepsilonPhysical meaning
Orthonormal basis, S=IS=IReduces to ordinary eigenvalue problem FC=CεFC=C\varepsilonBasis functions don't overlap; e.g., plane waves or symmetry-orthogonalized orbitals
Minimal basis, one function per atomSmallest possible NN; FF and SS are small matrices, solvable by handCrude qualitative MO pictures (e.g., simple diatomics)
N→∞N\to\infty (complete basis limit)HF energy converges to the true Hartree–Fock limitBasis set incompleteness error vanishes; only correlation error remains
Restricted vs. unrestricted spinsSame matrix structure but separate Fα,FβF^\alpha, F^\beta and Pα,PβP^\alpha, P^\betaUHF for open-shell/radical species
Initial guess density P(0)=0P^{(0)}=0First Fock matrix equals core Hamiltonian, F(0)=HcoreF^{(0)}=H^{\text{core}}"Core guess" — a common, crude but cheap starting point
Basis functions on the same atom become linearly dependentSS becomes near-singular, S−1/2S^{-1/2} ill-conditionedNumerical instability; requires basis linear-dependence removal

The chemist behind it

Origins · 1 minClemens C. J. Roothaan and how this was discovered
CC
Clemens C. J. Roothaan
1918–2019 · University of Chicago, early 1950s

Roothaan was a Dutch-American physicist and quantum chemist who spent most of his career at the University of Chicago, working alongside Robert Mulliken's group on the theoretical foundations of molecular orbital theory. His 1951 paper "New Developments in Molecular Orbital Theory," published in Reviews of Modern Physics, laid out the matrix formulation of the Hartree–Fock equations for closed-shell molecules using an LCAO basis — precisely the machinery this article develops. He was deeply engaged with making molecular orbital theory computationally tractable at a time when even modest calculations required painstaking hand or early-computer arithmetic, and he later contributed extensively to open-shell (ROHF) extensions of the same matrix framework.

History
- 1928: Hartree introduces the self-consistent field method for atoms, solving numerically on a radial grid.
- 1930: Fock and Slater independently add antisymmetrization, giving the Hartree–Fock method its exchange term.
- 1951: Roothaan (and independently George G. Hall) publish the matrix formulation, expanding molecular orbitals in a finite atom-centered basis.
- 1950s–1960s: early digital computers make Roothaan–Hall calculations on small molecules practical for the first time.
- 1960s onward: Gaussian-type basis functions replace Slater-type functions in most Roothaan–Hall implementations, driven by the ease of evaluating two-electron integrals analytically.

George G. Hall, working independently in Cambridge and publishing essentially the same matrix equations in the same year, is honored by attaching his name alongside Roothaan's; the equations are properly a joint discovery even though they were derived without direct collaboration. The near-simultaneous, independent arrival at identical matrix equations is itself informative: once the LCAO ansatz for The Self-Consistent-Field Procedure was combined with standard linear algebra, the matrix formulation was, in a real sense, inevitable — the physics and the available mathematics of the era pointed to exactly one destination.

Why can't we just solve the Hartree–Fock equation directly without a basis set?

The Hartree–Fock equation f^ψi=εiψi\hat f\psi_i=\varepsilon_i\psi_i is a differential equation for a continuous function of three spatial coordinates, and computers cannot represent or manipulate an arbitrary continuous function directly. By expanding each molecular orbital in a finite basis, ψi=∑μCμiχμ\psi_i=\sum_\mu C_{\mu i}\chi_\mu, the unknown becomes a finite list of numbers, CμiC_{\mu i}, which linear algebra routines can find efficiently. For atoms, direct numerical grid-based solutions (as Hartree originally did) are feasible because of spherical symmetry, but for general polyatomic molecules a basis expansion is essentially the only practical route.

What exactly is the difference between the Fock matrix and the Fock operator?

The Fock operator f^\hat f is an abstract one-electron operator acting on functions of continuous coordinates; it contains kinetic energy, nuclear attraction, and mean-field Coulomb/exchange terms. The Fock matrix Fμν=⟨χμ∣f^∣χν⟩F_{\mu\nu}=\langle\chi_\mu|\hat f|\chi_\nu\rangle is the representation of that same operator in a specific finite basis — a table of numbers computed by integrating the operator sandwiched between pairs of basis functions. Diagonalizing the matrix (properly, solving the generalized eigenvalue problem with SS) is how one approximately solves the operator equation within the chosen basis.

Why is the density matrix P defined with a factor of 2?

In restricted closed-shell Hartree–Fock, each spatial molecular orbital is occupied by two electrons of opposite spin. The density matrix element Pμν=2∑ioccCμiCνiP_{\mu\nu}=2\sum_i^{\text{occ}}C_{\mu i}C_{\nu i} includes this factor of 2 so that summing PμνP_{\mu\nu} appropriately over the basis reproduces the correct total electron count, Nelec=∑μνPμνSνμN_{\text{elec}}=\sum_{\mu\nu}P_{\mu\nu}S_{\nu\mu}. Without the factor of 2, the density (and hence the Coulomb and exchange contributions built from it) would describe only half the actual electron population.

How does the choice of basis set affect the accuracy of a Roothaan–Hall calculation?

The Roothaan–Hall equations are exact within whatever basis is chosen; all approximation enters through the basis itself. A small or poorly chosen basis restricts the variational search space and gives energies well above the true Hartree–Fock limit — an error called basis set incompleteness. Larger, more flexible basis sets (with polarization and diffuse functions) push the computed energy closer to the exact Hartree–Fock limit, at rapidly growing computational cost since the number of two-electron integrals scales roughly as the fourth power of the number of basis functions.

Is the Roothaan–Hall method the same as density functional theory?

No, though they share matrix machinery. Roothaan–Hall specifically refers to the matrix formulation of Hartree–Fock theory, where the two-electron term in the Fock matrix comes from exact Coulomb and exchange integrals over the wavefunction. Kohn–Sham DFT uses an analogous matrix equation, FKSC=SCεF^{KS}C=SC\varepsilon, but replaces the exact exchange operator with an exchange-correlation potential derived from the electron density, aiming to also capture electron correlation that Hartree–Fock alone misses.

Why does the SCF procedure sometimes fail to converge, and how is this fixed?

Naively alternating between building FF from a density PP and diagonalizing to get a new PP can oscillate between two or more configurations without settling down, especially for systems with small HOMO–LUMO gaps or nearly degenerate orbitals. Convergence acceleration techniques such as DIIS extrapolate the Fock matrix using information from several previous iterations to damp oscillations, and level shifting or damping of the density update are simpler complementary fixes. These techniques do not change the underlying physics, only the numerical path to the same fixed point.

What happens to the Roothaan–Hall equations for open-shell molecules?

For open-shell species with unpaired electrons, restricted Hartree–Fock's single spatial-orbital, doubly-occupied assumption breaks down. Two common extensions exist: unrestricted Hartree–Fock (UHF), which uses separate spatial orbitals and separate Fock matrices FαF^\alpha, FβF^\beta for each spin, doubling the size of the self-consistent problem, and restricted open-shell Hartree–Fock (ROHF), which keeps doubly-occupied orbitals spatially identical across spins but treats singly occupied orbitals separately. Both are direct extensions of the same generalized eigenvalue structure Roothaan and Hall introduced.

Before this

Where this leads