Skip to main content
University Physics V

University Physics V · Mathematical Foundations of Quantum Physics · 1.7

Hermitian Operators & the Spectral Theorem

Here the week-one linear algebra earns its keep. † =  buys everything measurement needs: real outcomes, mutually exclusive outcome states, and a basis that catches every state. Learn to test for it, run the two-line proofs it powers, and diagonalise past 3×3 with numpy.linalg.eigh.

01

Build the model

Connect the measurement to the mechanism.

Quantum mechanics needs a mathematical object to stand for a measurable quantity, and Hermiticity is what makes the candidate work. Define the adjoint by how an operator crosses the inner product, ⟨φ|Âψ⟩ = ⟨†φ|ψ⟩, and call  Hermitian when † = Â. That one equation forces everything a measurement requires.

Sandwich Â|a⟩ = a|a⟩ between ⟨a| and itself and the eigenvalue equals its own conjugate: measured values are real. Sandwich it between two different eigenvectors and (a − a′)⟨a|a′⟩ = 0: distinct outcomes are orthogonal, hence perfectly distinguishable in a single shot. The spectral theorem finishes the job: a Hermitian operator on a finite-dimensional space has a complete orthonormal eigenbasis, so every state expands as Σ cₙ|aₙ⟩ with Σ |cₙ|² = 1 — the Born rule has somewhere to live.

The cost comes in two instalments. Degeneracy leaves you a subspace rather than a direction, and you must orthogonalise within it yourself, by Gram–Schmidt or by a second commuting observable. And in infinite dimensions bare symmetry is not enough: whether −iℏ d/dx is genuinely self-adjoint depends on the boundary conditions that fix its domain, and its eigenfunctions can escape the space entirely, surviving only as δ-normalised distributions.

Simple definition
A Hermitian operator equals its own adjoint, † = Â, so ⟨φ|Âψ⟩ = ⟨Âφ|ψ⟩ for all states in its domain; its real eigenvalues are the possible results of measuring the observable it represents, and its eigenvectors are the outcome states.
Example
σy = [[0, −i],[i, 0]] equals its own conjugate transpose, so despite the imaginary entries its eigenvalues are the real pair ±1, and its eigenvectors (1, i)/√2 and (1, −i)/√2 obey ⟨+|−⟩ = 1⋅1 + (−i)(−i) = 0 once the first slot is conjugated.
Adjoint and Hermiticity⟨φ|Âψ⟩ = ⟨†φ|ψ⟩, Hermitian when † = Â

The one test that certifies an observable. Diagonal entries must come out real, and ⟨Â⟩ is real in every state.

in an orthonormal basis (†)ᵢⱼ = (Âⱼᵢ)*: transpose the matrix, then conjugate

The eigenvalue equation as measurementÂ|aₙ⟩ = aₙ|aₙ⟩

A measurement of  can only return an eigenvalue, and returns aₙ with certainty exactly when the state already is |aₙ⟩.

aₙ real, carrying the observable's unit; |aₙ⟩ normalised to ⟨aₙ|aₙ⟩ = 1

Reality and orthogonalityaₙ = aₙ* and ⟨aₘ|aₙ⟩ = 0 when aₘ ≠ aₙ

Real numbers on the meter and outcome states with zero overlap. Degenerate directions you must orthogonalise yourself.

both proved in two lines from † = Â; equal eigenvalues constrain nothing

Spectral decomposition = Σₙ aₙ |aₙ⟩⟨aₙ|, with Σₙ |aₙ⟩⟨aₙ| = 1

Expand any state on the eigenbasis: P(aₙ) = |⟨aₙ|ψ⟩|² sums to one and ⟨Â⟩ = Σ aₙ P(aₙ) follows at once.

the completeness sum is the resolution of the identity on the eigenbasis

Commuting observables[Â, B̂] = 0 ⇔ a shared orthonormal eigenbasis exists

Compatible quantities take sharp values together, and their joint eigenvalues label states — the origin of quantum-number lists like (n, ℓ, m).

both Hermitian; inside a degenerate block of Â, diagonalise B̂ to fix the basis

Numerical diagonalisationw, V = numpy.linalg.eigh(A)

Beyond 3×3 the characteristic polynomial is hopeless; eigh is how every discretised Hamiltonian in this course gets its spectrum.

w real and ascending; columns of V the orthonormal eigenvectors; eigh assumes A = A†

01

The adjoint is defined by the inner product, not the transpose

The adjoint † is whatever operator lets  cross the inner product: ⟨φ|Âψ⟩ = ⟨†φ|ψ⟩ for every pair of states. Choose an orthonormal basis and the abstract definition becomes a recipe: (†)ᵢⱼ = (Âⱼᵢ)* — transpose, then conjugate every entry. A real symmetric matrix passes; so does σy = [[0, −i],[i, 0]], because its imaginary entries mirror into their conjugates; but [[0, i],[i, 0]] fails, since its adjoint is [[0, −i],[−i, 0]], the negative of itself. Two facts fall out before any eigenvalue is computed. Diagonal matrix elements must equal their own conjugates, so they are real. And ⟨ψ|Âψ⟩ = ⟨Âψ|ψ⟩ = ⟨ψ|Âψ⟩* for every state, so every expectation value of a Hermitian operator is real. Keep the physics convention straight: the inner product is conjugate-linear in its first slot, so the star lands on the bra side of every coefficient.

02

Two sandwiches: real eigenvalues, orthogonal eigenvectors

Both classic theorems are two-line computations with the same move: evaluate a matrix element twice, once with  acting rightward and once leftward. Take Â|a⟩ = a|a⟩ with ⟨a|a⟩ = 1. Then ⟨a|Â|a⟩ read rightward is a; read leftward, using † = Â, it is a*. So a = a*: every eigenvalue is real. Now take a second eigenvector with a′ ≠ a and evaluate ⟨a|Â|a′⟩ both ways: rightward gives a′⟨a|a′⟩, leftward gives a⟨a|a′⟩, reality already banked. Subtracting, (a − a′)⟨a|a′⟩ = 0, and since a ≠ a′ the overlap must vanish: outcome states of distinct results are orthogonal. Notice what the proof does not say. Two eigenvectors sharing the same eigenvalue make the bracket a − a = 0, so their overlap is unconstrained — degeneracy is where orthogonality stops being automatic and becomes your job.

03

Degeneracy, Gram–Schmidt, and the spectral theorem

A degenerate eigenvalue owns a subspace, not a direction: if Â|u⟩ = a|u⟩ and Â|v⟩ = a|v⟩, then every combination α|u⟩ + β|v⟩ is again an eigenvector with the same a. So "the" eigenvectors of a degenerate level are a choice of basis, and you make that choice orthonormal by running Gram–Schmidt inside each degenerate block. The spectral theorem guarantees the pieces assemble: a Hermitian operator has a complete orthonormal eigenbasis of the whole space and is rebuilt from it as  = Σ aₙ|aₙ⟩⟨aₙ|, with Σ |aₙ⟩⟨aₙ| = 1. Completeness is the load-bearing word: expand |ψ⟩ = Σ cₙ|aₙ⟩ and Parseval gives Σ|cₙ|² = 1, so the outcome probabilities exhaust certainty. Contrast a matrix that is not Hermitian: [[1, 1],[0, 1]] has eigenvalue 1 twice but only the single eigenvector direction (1, 0). It is defective — no eigenbasis exists — and no Hermitian matrix can ever be.

04

Read Â|a⟩ = a|a⟩ as a statement about measurement

The physical decode of the eigenvalue equation: measuring  can return only its eigenvalues, and returns aₙ with certainty exactly when the state is |aₙ⟩. For any other state, expand on the eigenbasis and read off probabilities. Take σₓ = [[0, 1],[1, 0]] and prepare |ψ⟩ = (1, 0). The eigenvectors are (1, 1)/√2 and (1, −1)/√2 with eigenvalues ±1; both overlaps are 1/√2, so each outcome appears with probability ½ and ⟨σₓ⟩ = 0 — which matches ⟨ψ|σₓψ⟩ = 0 computed directly, no diagonalisation needed. Guard against the standard misreading: Â|ψ⟩ is not "the state after the measurement", and it is not "a number times the state" unless |ψ⟩ was an eigenvector already. Here σₓ(1, 0) = (0, 1), a different state entirely, because (1, 0) is a basis vector of the representation, not of the observable.

05

Commuting observables share an eigenbasis

Let [Â, B̂] = 0 and let |a⟩ be an eigenvector of  with a nondegenerate eigenvalue. Then Â(B̂|a⟩) = B̂Â|a⟩ = a(B̂|a⟩): the vector B̂|a⟩ sits in the same one-dimensional eigenspace, so B̂|a⟩ ∝ |a⟩, and the eigenvector of  is automatically an eigenvector of B̂. When the eigenvalue is degenerate, B̂ is only guaranteed to map the block into itself; diagonalise B̂ within the block and the shared basis appears. Physically, commuting Hermitian operators are compatible: one experiment can pin sharp values of both at once, and a complete set of commuting observables labels every basis state by its list of simultaneous eigenvalues — precisely what (n, ℓ, mℓ, mₛ) will do for hydrogen later in the course. Non-commuting pairs such as x̂ and p̂ share no eigenbasis at all, which is where Unit 8's uncertainty relation will start.

06

In infinite dimensions, Hermiticity lives in the domain

On the function space L², moving an operator across the inner product is an integration by parts, and a boundary term rides along. For p̂ = −iℏ d/dx, ⟨φ|p̂ψ⟩ − ⟨p̂φ|ψ⟩ = −iℏ[φ*ψ] evaluated at the endpoints, so p̂ is Hermitian only on functions whose boundary conditions kill that term: periodic on a ring, vanishing at ±∞ on the line. Change the domain and the property dies — on the half-line x ≥ 0 with ψ(0) = 0, p̂ is symmetric yet admits no self-adjoint version, and no momentum eigenbasis exists there at all. Even in the good cases the eigenfunctions e(ikx) are not square-integrable; they survive as distributions normalised to ⟨p|p′⟩ = δ(p − p′). The working escape used all course: put the problem on N grid points, build the boundary condition into the finite-difference stencil, and hand the resulting N×N Hermitian matrix to numpy.linalg.eigh, which returns real eigenvalues in ascending order and an orthonormal eigenbasis in the columns of V.

02

Change one variable at a time

Make the relationship visible.

Interactive model
1.0 eV
−0.5 eV
0.6 eV

Sweep c to 0: the arrows snap onto the basis axes and the levels drop onto a and b. Then set a = b with c small — the eigenvectors lock at 45° however weak the coupling, and the gap 2|c| refuses to close: level repulsion, the reason an avoided crossing signals a hidden off-diagonal term.

Interactive physics modelThe real Hermitian matrix H = [[a, c],[c, b]] diagonalised live. Left: its two eigenvector directions, perpendicular at every slider setting. Right: its spectrum — dashed bare levels at a and b, solid eigenvalues λ+ = 1.21 eV and λ− = −0.71 eV, pushed outside the bare pair whenever the coupling c is nonzero.λ+λ−H = [ 1.0 0.6 ; 0.6 −0.5 ] eVdashed: bare a, bθ = 19° from |1⟩eigenvectors of Hspectrum / eV

EIGENVALUE λ+1.21 eV

EIGENVALUE λ−-0.71 eV

GAP λ+ − λ−1.92 eV

MIXING ANGLE θ19 °

Live interpretationEIGENVALUE λ+: 1.21 eV. EIGENVALUE λ−: −0.71 eV. GAP λ+ − λ−: 1.92 eV. MIXING ANGLE θ: 19 °

03

Catch the common trap

Explain before calculating.

In the (|↑⟩, |↓⟩) basis a spin observable has the matrix σy = [[0, −i],[i, 0]]. Which statement about measuring it is correct?

Choose an answer to test the model.

04

Practice & worked examples

Reason from the model, then test the result.

EasyThe matrix  = [[2, 1−i],[1+i, 3]] acts on a two-state system. Verify that  is Hermitian, find its eigenvalues, and confirm they are real, as the theorem demands.
  1. Adjoint = transpose, then conjugate. Transposing swaps the off-diagonal entries to give [[2, 1+i],[1−i, 3]]; conjugating returns [[2, 1−i],[1+i, 3]] = Â. The diagonal is real and the off-diagonals are conjugates of each other — Hermitian.
  2. Characteristic polynomial: det(Â − λI) = (2 − λ)(3 − λ) − (1−i)(1+i). The off-diagonal product is |1−i|² = 1² + 1² = 2 — automatically real and positive, because Hermiticity forces those two entries to be conjugates.
  3. So λ² − 5λ + 6 − 2 = λ² − 5λ + 4 = (λ − 1)(λ − 4) = 0: eigenvalues λ = 1 and λ = 4.
  4. The guarantee behind the arithmetic: for any [[a, c],[c*, b]] with † = Â, the discriminant of the characteristic polynomial is (a − b)² + 4|c|² — here 1 + 8 = 9 — which can never be negative. Real roots are structural, not luck.

Answer† = Â; eigenvalues λ = 1 and λ = 4, both real. For a 2×2 Hermitian matrix the discriminant (a − b)² + 4|c|² ≥ 0, so real eigenvalues are guaranteed before you solve anything.

MediumAn observable of a two-state system has matrix Ĥ = [[2, 1],[1, 2]] eV in the basis (|1⟩, |2⟩), and the system is prepared in |ψ⟩ = (2|1⟩ + |2⟩)/√5. Find the possible measurement outcomes, the probability of each, and ⟨Ĥ⟩ — then check the expectation value directly, without diagonalising.
  1. Diagonalise: det(Ĥ − λI) = (2 − λ)² − 1 = 0 gives 2 − λ = ∓1, so λ₊ = 3 eV and λ₋ = 1 eV, with normalised eigenvectors |+⟩ = (1, 1)/√2 and |−⟩ = (1, −1)/√2 — orthogonal, as Hermiticity demands.
  2. Project the state onto each outcome state: ⟨+|ψ⟩ = (2 + 1)/√10 = 3/√10 and ⟨−|ψ⟩ = (2 − 1)/√10 = 1/√10.
  3. Born rule: P(3 eV) = 9/10 and P(1 eV) = 1/10. They sum to one because the eigenbasis is complete — Parseval, not luck.
  4. Expectation value as the weighted average of eigenvalues: ⟨Ĥ⟩ = 3(0.9) + 1(0.1) = 2.8 eV.
  5. Direct check: Ĥ|ψ⟩ = (2⋅2 + 1, 2 + 2)/√5 = (5, 4)/√5, so ⟨ψ|Ĥψ⟩ = (2⋅5 + 1⋅4)/5 = 14/5 = 2.8 eV. The two routes agree — but only 3 eV or 1 eV ever appears on the meter, never 2.8.

AnswerOutcomes 3 eV with P = 0.9 and 1 eV with P = 0.1; ⟨Ĥ⟩ = 2.8 eV, confirmed by ⟨ψ|Ĥ|ψ⟩ = 14/5 eV. The expectation value is an ensemble average, not a possible single-shot reading.

HardTwo observables have matrices  = diag(1, 1, 2) and B̂ = [[0, 1, 0],[1, 0, 0],[0, 0, 5]] in the basis (|1⟩, |2⟩, |3⟩). Show they commute, explain why |1⟩ and |2⟩ are eigenvectors of  but not of B̂, and construct the simultaneous orthonormal eigenbasis with its pairs of eigenvalues.
  1. Multiply both ways: ÂB̂ scales the rows of B̂ by (1, 1, 2) and B̂Â scales its columns by the same factors, giving [[0, 1, 0],[1, 0, 0],[0, 0, 10]] in both orders. [Â, B̂] = 0, so a shared eigenbasis must exist.
  2. Â's eigenvalue 1 is doubly degenerate: every vector in span(|1⟩, |2⟩) satisfies Â|v⟩ = |v⟩, so |1⟩ and |2⟩ are eigenvectors of  only as one arbitrary choice of basis. They are not eigenvectors of B̂, which swaps them: B̂|1⟩ = |2⟩.
  3. Diagonalise B̂ inside the degenerate block: the sub-matrix [[0, 1],[1, 0]] has eigenvalues ±1 with eigenvectors (1, ±1)/√2. Define |±⟩ = (|1⟩ ± |2⟩)/√2.
  4. Both |±⟩ remain eigenvectors of  with eigenvalue 1 — any combination inside a degenerate subspace is — and now B̂|±⟩ = ±|±⟩ as well. The third direction is shared already: Â|3⟩ = 2|3⟩ and B̂|3⟩ = 5|3⟩.
  5. Basis (|+⟩, |−⟩, |3⟩) with eigenvalue pairs (a, b) = (1, +1), (1, −1), (2, 5). The pair labels each state uniquely where a alone could not: (Â, B̂) is a complete set of commuting observables for this space.

Answer[Â, B̂] = 0; the simultaneous eigenbasis is |±⟩ = (|1⟩ ± |2⟩)/√2 and |3⟩, with (a, b) = (1, +1), (1, −1) and (2, 5). B̂'s eigenvalue breaks the degeneracy of  and completes the label.