Time Evolution
Time Evolution
Everything else in this term has been a snapshot: a state at one instant, a measurement, a density matrix. Now we let time run. The Schrödinger equation is the one law of motion for closed quantum systems, and for a constant Hamiltonian its solution is a single clean object — the unitary propagator . This is literally the "Hermitian generates unitary" theorem from 0.1.6 with the eigenvalues of now read as energies and the parameter as time. Master this and quantum gates stop being axioms: in the next lesson they become time evolution you chose to run for a chosen duration.
Learning Objectives
After this lesson you will be able to:
- State the time-dependent Schrödinger equation () and solve it for time-independent Hermitian to obtain .
- Identify the propagator as unitary and verify it is a one-parameter group.
- Expand any state in the energy eigenbasis and read off its evolution as independent phases , recognizing energy eigenstates as stationary states.
- Derive the Ehrenfest / Heisenberg equation of motion for expectation values.
- Evolve a density matrix via and confirm purity is conserved.
Intuition
A quantum state is a unit vector. As time passes, a closed system's state must stay a unit vector — probabilities always sum to one — so the only thing allowed to happen is a rotation of the state vector inside Hilbert space. Rotations that preserve length are exactly the unitary operators (0.1.6). So time evolution is a continuous family of unitaries with .
The Hamiltonian is the "rate" of that rotation — its generator. Diagonalize and the rotation decouples: along each energy eigen-direction the state simply spins its phase at angular frequency (faster for higher energy), and nothing else. A state that lives entirely in one eigen-direction therefore never changes except by an unobservable global phase — it is stationary. Interesting dynamics (oscillations, precession) happen only when a state is a superposition of different energies: the relative phase between the components winds at the energy difference, and relative phases are physical.
Theory
Symbol note. Throughout this lesson denotes the Hamiltonian (a Hermitian operator), not the Hadamard gate. We set (Appendix C), so energies have units of angular frequency and time is dimensionless against them.
The time-dependent Schrödinger equation
The dynamical law of closed-system quantum mechanics — the content of the evolution postulate — is the time-dependent Schrödinger equation (TDSE):
with the Hamiltonian (the observable for energy). It is a first-order linear ODE on : given the initial state , the future is determined.
Solving for time-independent : the propagator
Assume does not depend on time (the case for the rest of Term 1). The TDSE is then a constant- coefficient linear ODE, formally identical to the scalar equation , whose solution is the matrix exponential:
Verification that this solves the TDSE. Differentiate the power series term by term (it converges absolutely for any bounded , so this is legal):
(Here commutes with itself, so the usual scalar rule survives — no Baker–Campbell–Hausdorff correction needed; see Appendix E.) Hence
and at , gives . So is the solution. ∎
The propagator is unitary — and a group
Because is Hermitian, Hermitian generates unitary (0.1.6) applies verbatim with as the parameter:
where the last step is valid because and commute. So is unitary — it preserves norm and inner products, hence total probability is conserved, exactly as physics demands. It is also a one-parameter group:
Evolution composes additively in time and is reversible (run to undo it) — the seed of reversible computation that gates inherit (Term 2; cf. 0.4.3).
Evolution in the energy eigenbasis; stationary states
Diagonalize the Hamiltonian by the spectral theorem (0.1.5):
with real energies and orthonormal energy eigenstates (the time- independent Schrödinger equation is just this eigenvalue problem). The function-of-an-operator rule (Appendix E) makes the propagator diagonal in this basis:
Expand an arbitrary initial state in energies, with . Then evolution is componentwise phase rotation:
Each coefficient just acquires a phase ; the moduli — hence the probabilities of each energy outcome — never change. Two immediate consequences:
- Stationary states. If , then : the state picks up only a global phase, which is physically invisible (Appendix C). Energy eigenstates are frozen — every measurement statistic of every observable is time-independent. This is why they are called stationary states.
- Dynamics needs an energy spread. Genuine change requires at least two different energies in the superposition; the relative phase between and winds as , oscillating at the Bohr frequency . Only energy differences are dynamically observable (so we may shift freely; it only adds an unobservable global phase ).
Evolution of expectation values (Ehrenfest)
For an observable (not explicitly time-dependent) in state , define . Differentiate, using the TDSE for the ket and its adjoint for the bra:
Collecting terms gives the Ehrenfest theorem (the Heisenberg-picture equation of motion read in the Schrödinger picture):
So an observable's expectation is constant in time iff it commutes with — such an is a conserved quantity (a symmetry). In particular , so energy is always conserved: . We will turn this equation into Bloch-vector precession in the next lesson.
Density-matrix evolution
If the state is described by a density matrix (pure or mixed; Course 1.5), evolve every pure component in the ensemble . By linearity the conjugation factors out:
Differentiating gives the Liouville–von Neumann equation, the density-matrix form of the TDSE:
Unitary evolution conserves the spectrum of (it is a similarity transform by a unitary), so it conserves purity and von Neumann entropy: closed-system evolution never turns a pure state mixed. (That requires coupling to an environment — open systems, Term 4.1.) Note the sign convention differs from Ehrenfest: states evolve with , observables with — the two pictures are adjoint to each other.
Worked Examples
Example 1 — precessing under
Take the Hamiltonian (a qubit with energy splitting between and ) and initial state .
The energy eigenstates are the computational basis: , , so , . Evolving each component by its phase:
Drop the global phase : the physical state is . The relative phase winds at the Bohr frequency . On the Bloch sphere this is a unit vector on the equator rotating about the -axis: at it points along (), at along (), at along (). Indeed is exactly the -rotation gate (Appendix E) — Larmor precession. Note also that the populations are stuck: for all , because are the energy eigenstates and only relative phase moves.
Cross-check with Ehrenfest. , and indeed $\frac{d}{dt}\langle X\rangle = i\langle[\tfrac{\omega}{2}Z, X]\rangle = i\cdot\tfrac{\omega}{2}\langle 2iY\rangle = -\omega\langle Y\rangle = -\omega\sin\omega t[Z,X]=2iY$, Appendix E).
Example 2 — A two-level oscillation under
Now choose and start in a non-eigenstate of , namely . Here is a superposition of 's eigenstates (with energies ), so we expect real motion. Two ways to compute:
(a) Closed form of the propagator. Since , the exponential closes into trig (Appendix E, §3):
Acting on :
(b) Probabilities. The chance of finding the qubit in oscillates:
The population sloshes fully from to and back at angular frequency . This is a Rabi oscillation — the subject of the next lesson, where is the resonant drive and the pulse becomes an gate. The state vector precesses about the -axis of the Bloch sphere ( is conserved here because , while and trace the circle).
Hands-on (Python)
NumPy plus scipy.linalg.expm turn the propagator into one line. We reproduce both worked examples and
plot the oscillating probability.
import numpy as np
from scipy.linalg import expm
import matplotlib.pyplot as plt
# Pauli matrices (Appendix E)
I = np.eye(2, dtype=complex)
X = np.array([[0, 1], [1, 0]], dtype=complex)
Z = np.array([[1, 0], [0, -1]], dtype=complex)
def dag(A): # conjugate transpose, ⟨·| from |·⟩
return A.conj().T
def propagator(H, t):
"""U(t) = exp(-i H t): the solution of i d|ψ⟩/dt = H|ψ⟩ for constant H."""
return expm(-1j * H * t)
# --- Example 1: |+> under H = (ω/2) Z → R_z(ωt), pure phase precession ---
omega = 1.0
H1 = 0.5 * omega * Z
plus = np.array([1, 1], dtype=complex) / np.sqrt(2)
t = np.pi / 2 / omega # quarter period: |+> -> |+i>
psi_t = propagator(H1, t) @ plus
print("U(t) unitary? ", np.allclose(dag(propagator(H1, t)) @ propagator(H1, t), I)) # True
print("ψ(t) ≈ |+i>: ", np.round(psi_t, 3)) # (up to global phase) (|0>+i|1>)/√2
# populations are frozen (|0>,|1> are energy eigenstates):
print("P0, P1: ", np.round(np.abs(psi_t)**2, 3)) # [0.5 0.5] for all t# --- Example 2: |0> under H = (Ω/2) X → Rabi-like population oscillation ---
Omega = 2.0
H2 = 0.5 * Omega * X
ket0 = np.array([1, 0], dtype=complex)
ket1 = np.array([0, 1], dtype=complex)
def P1_numeric(t):
psi = propagator(H2, t) @ ket0
return np.abs(ket1 @ psi) ** 2 # Born probability of outcome "1"
ts = np.linspace(0, 4 * np.pi / Omega, 400)
P1_num = np.array([P1_numeric(tt) for tt in ts])
P1_exact = np.sin(Omega * ts / 2) ** 2 # derived closed form sin²(Ωt/2)
print("max |numeric - exact| =", np.max(np.abs(P1_num - P1_exact))) # ~1e-15
plt.figure(figsize=(7, 3.2))
plt.plot(ts, P1_num, lw=2, label=r"$P_1(t)$ (expm)")
plt.plot(ts, P1_exact, "k--", lw=1, label=r"$\sin^2(\Omega t/2)$")
plt.axhline(1.0, color="gray", ls=":", lw=0.8)
plt.xlabel("time t"); plt.ylabel(r"$P_1(t)$")
plt.title(r"Population oscillation under $H=\frac{\Omega}{2}X$")
plt.legend(loc="upper right"); plt.tight_layout()
plt.show()# --- Density-matrix evolution conserves purity ---
rho0 = np.outer(ket0, ket0.conj()) # pure state |0><0|
def rho_t(t):
U = propagator(H2, t)
return U @ rho0 @ dag(U) # ρ(t) = U ρ(0) U†
for tt in [0.0, 0.7, 1.3, 2.5]:
r = rho_t(tt)
purity = np.real(np.trace(r @ r)) # Tr(ρ²): 1 iff pure
print(f"t={tt:>4}: Tr(ρ)={np.real(np.trace(r)):.3f} purity={purity:.6f}")
# Tr(ρ)=1 and purity=1 throughout — closed evolution keeps a pure state pure.Braket note (optional). Braket's
LocalSimulatorevolves circuits, not raw Hamiltonians, so we will not exponentiate on it. But the bridge is direct: since , the same dynamics is one gate —Circuit().rx(0, Omega * t). We build that connection explicitly in the next lesson and develop Braket properly in Term 2.1.
Exercises
E1 (easy). For , write as a matrix and confirm it equals from Appendix E.
Solution
is diagonal, so . Comparing with and reading gives . ∎
E2 (easy). Show that an energy eigenstate remains an energy eigenstate under evolution, and that all expectation values are time-independent in such a state.
Solution
, still proportional to . For any observable , : the phases are scalars and cancel, so is constant. Hence "stationary state." ∎
E3 (medium). Starting from the TDSE, derive the Liouville–von Neumann equation for a pure state .
Solution
. The TDSE gives and (adjoint) . Substituting: $\dot\rho = -iH|\psi\rangle\langle\psi| + i|\psi\rangle\langle\psi|H = -iH\rho + i\rho H = -i[H,\rho]\rho=\sum_j p_j|\psi_j\rangle\langle\psi_j|$.)
E4 (medium). Let and . Compute , , in closed form and identify the Bloch-vector motion.
Solution
From Example 1, (global phase dropped). Then , , . The Bloch vector traces the equator counterclockwise at rate — Larmor precession about . (Cross-check Ehrenfest: , , the rotation ODE.)
E5 (hard). Prove conserves purity: for all . Then argue that no unitary can turn a pure state into a mixed one.
Solution
(using ). By cyclicity of the trace (Appendix E), . So purity is invariant. A pure state has purity ; since unitary evolution preserves purity, it stays , i.e. pure. Changing purity (decoherence) is impossible for closed/unitary dynamics and requires non-unitary channels — open systems, Term 4.1. ∎
E6 (hard). Suppose on a two-qubit system. Show the propagator factorizes, , and conclude such a (non-interacting) Hamiltonian never creates entanglement from a product state.
Solution
The two terms commute: (mixed-product rule, Appendix E). For commuting terms , and (the -factor exponentiates to ), so . Acting on a product yields — still a product. Entanglement requires an interaction term that is not a sum of single-system operators (the seed of two-qubit entangling gates, Term 2.1). ∎
Checkpoint
- Write the TDSE () and its solution for time-independent Hermitian .
- Why is the propagator unitary, and what physical fact does that guarantee?
- What is a stationary state, and why does it not evolve observably?
- Give the equation of motion for and state the condition for to be conserved.
- How does a density matrix evolve, and what quantity does that evolution conserve?
Answers
- ; solution .
- Hermitian has real eigenvalues, so has modulus and ; unitarity preserves the norm, i.e. total probability is conserved.
- An energy eigenstate ; it evolves only by the global phase , which is physically invisible, so every measurement statistic is time-independent.
- ; is conserved iff . (Energy always is, since .)
- , obeying ; it conserves the spectrum of , hence purity and entropy — pure stays pure.
Further Reading
- [NC] Nielsen & Chuang, §2.2.2 — the evolution postulate and the Schrödinger equation; §2.2.3 for the density-operator picture.
- [Sak] Sakurai & Napolitano, §2.1–2.2 — time evolution, the propagator, stationary states, and the Heisenberg/Ehrenfest equations (with explicit; set to match us).
- [Gri] Griffiths & Schroeter, §2.1 — stationary states and the separation of the time-dependent Schrödinger equation, at a gentler pace.
- [Pre] Preskill, Ph219, Ch. 2–3 — unitary evolution and the Liouville–von Neumann equation.
← Prev: The Bloch Ball & Purity · Up: Term 1 · Next: Two-Level Dynamics & Rabi Oscillations →