Dirac Notation in Quantum Mechanics

You have already met bra–ket notation as a piece of pure mathematics: kets are vectors, bras are the dual functionals that eat them, and an inner product \langle\phi|\psi\rangle is just a number. This page does one thing: it hands that machinery to quantum mechanics, where it becomes the private language physicists actually think in. Every calculation you will ever do in QM — measuring a spin, expanding a wavefunction, finding an average energy — is written in these angle brackets, and once you can read them, the subject stops looking like a wall of integrals and starts looking like clean linear algebra.

The dictionary is short and it is worth burning into memory from the very start: a quantum state is a ket |\psi\rangle, a vector living in a Hilbert space; the overlap \langle\phi|\psi\rangle of two states is a (generally complex) number that tells you how much one state resembles another; and that number, squared in size, is a probability. That single idea — an inner product is a probability amplitude — is the engine of the whole page.

The hook: a qubit, written three ways

Take the simplest quantum system there is: a qubit, a thing with exactly two distinguishable states. It could be a spin that is up or down, a photon polarised horizontally or vertically, an atom in its ground or excited level. Call the two special states |0\rangle and |1\rangle. In Dirac notation a general state of the qubit is a superposition

|\psi\rangle = c_0\,|0\rangle + c_1\,|1\rangle,

where c_0 and c_1 are complex numbers. That is the whole state — two numbers. Written as a column vector it is \begin{pmatrix} c_0 \\ c_1 \end{pmatrix}; written as a wavefunction it would be a table of two amplitudes. Dirac's notation keeps the physics (this is the state |\psi\rangle) in front and lets you pick whichever concrete representation you need, only when you need it. That is why it is so beloved: it is coordinate-free until you choose coordinates.

The pay-off is the measurement rule. If you ask the qubit "are you 0 or 1?", the probability of the answer 0 is |c_0|^2 and of 1 is |c_1|^2. Since one of the two answers must come out, those probabilities add to one — which is exactly the normalisation condition we meet below.

Bras, kets, and the inner product

Every ket |\psi\rangle has a partner, its bra \langle\psi|. If the ket is the column \begin{pmatrix} c_0 \\ c_1 \end{pmatrix}, the bra is the row you get by transposing and complex-conjugating: \begin{pmatrix} c_0^* & c_1^* \end{pmatrix}. A bra is not a state; it is a machine that waits for a ket. Feed it one and it returns a number — the inner product:

\langle\phi|\psi\rangle \;\in\; \mathbb{C}.

This number is the probability amplitude for finding the system in state |\phi\rangle given that it is in state |\psi\rangle. Two properties, straight from the maths, carry real physical weight. First, swapping the two states conjugates the answer,

\langle\phi|\psi\rangle = \langle\psi|\phi\rangle^{*},

so the amplitude "from \psi to \phi" and the one the other way are mirror images. Second, a state's overlap with itself is real and non-negative, and we normalise every physical state so that it equals one:

Eigenstates as an orthonormal basis

Now bring in an observable — say the energy, with operator \hat{A}. Its eigenstates \{|n\rangle\}, the states with definite value a_n, form a special basis: they are orthonormal. Distinct eigenstates do not overlap at all, and each is normalised, both facts packed into one Kronecker delta:

\langle m|n\rangle = \delta_{mn} = \begin{cases} 1 & m = n \\ 0 & m \neq n. \end{cases}

Because this basis is complete, any state can be written as a sum over it, with complex coefficients:

|\psi\rangle = \sum_n c_n\,|n\rangle.

Here is the trick that makes Dirac notation feel like magic. To pull out one coefficient c_k, hit the expansion with the bra \langle k| and use orthonormality — every term dies except the one you want:

\langle k|\psi\rangle = \sum_n c_n \langle k|n\rangle = \sum_n c_n\,\delta_{kn} = c_k.

So the coefficient is simply an overlap, c_n = \langle n|\psi\rangle, and the probability of measuring the eigenvalue a_n is

P(a_n) = |c_n|^2 = |\langle n|\psi\rangle|^2.

This is the whole measurement postulate in one line: project the state onto the eigenstate, and square the length of the shadow. The picture below makes that shadow literal.

See it: the state as a unit vector and its shadows

Set aside complex numbers for a moment and draw a qubit whose coefficients are real. Then the Hilbert space is an ordinary plane, the basis kets |0\rangle and |1\rangle are two perpendicular axes, and the state |\psi\rangle = \cos\theta\,|0\rangle + \sin\theta\,|1\rangle is a unit arrow that sweeps round as you turn the angle \theta. Its two coefficients are the shadows it casts on the axes: c_0 = \langle 0|\psi\rangle = \cos\theta and c_1 = \langle 1|\psi\rangle = \sin\theta. Drag the slider and watch the probabilities |c_0|^2 and |c_1|^2 trade off, always summing to one — the Pythagorean theorem is normalisation.

Two identities that do all the work

Dirac's notation earns its keep through two moves that turn sums of brackets into single symbols.

1. The resolution of the identity. Because the basis is complete, laying every eigenstate against its own bra and adding them up gives back the do-nothing operator:

2. Outer products are operators. Where the inner product \langle m|n\rangle is a number, the outer product |m\rangle\langle n| is an operator: it eats a ket on its right and emits a ket on its left. The particular operator \hat{P}_n = |n\rangle\langle n| is the projector onto |n\rangle — it grabs the part of a state pointing along |n\rangle and throws the rest away. Every operator can be assembled from such bricks; in its own eigenbasis an observable is

\hat{A} = \sum_n a_n\,|n\rangle\langle n|.

Sandwiching a state around an operator gives its expectation value — the average of many measurements on identically prepared systems:

\langle \hat{A}\rangle = \langle\psi|\hat{A}|\psi\rangle = \sum_n a_n\,|c_n|^2.

Read the right-hand side out loud: it is each possible outcome a_n weighted by its probability |c_n|^2 — a plain weighted average, exactly what an "expectation" should be.

The wavefunction is a bra–ket too

None of this abandons the familiar \psi(x). Position is itself an observable, with a (continuous) basis of position eigenstates |x\rangle — the states of perfectly definite location. The wavefunction is nothing but the state's coefficients in that basis:

\psi(x) = \langle x|\psi\rangle.

It is the same overlap-is-a-coefficient rule as for the qubit, only now the label x runs continuously, so the sum over n becomes an integral and the Kronecker delta becomes a Dirac delta. Completeness reads \int |x\rangle\langle x|\,dx = \hat{1}, and normalisation becomes the familiar \langle\psi|\psi\rangle = \int |\psi(x)|^2\,dx = 1. So |\psi(x)|^2 is the probability density of finding the particle at x — the exact analogue of |c_n|^2. Dirac's abstract ket |\psi\rangle and Schrödinger's wavefunction \psi(x) are one object seen in two bases.

Worked examples

Example 1 — expand a state and read off probabilities. A qubit is prepared in

|\psi\rangle = \tfrac{1}{2}\,|0\rangle + \tfrac{\sqrt{3}}{2}\,|1\rangle.

The coefficients are c_0 = \tfrac12 and c_1 = \tfrac{\sqrt3}{2}, so the probability of measuring 0 is |c_0|^2 = \tfrac14 and of measuring 1 is |c_1|^2 = \tfrac34. They sum to \tfrac14 + \tfrac34 = 1: the state is normalised, so these really are probabilities. The qubit comes out "1" three times as often as "0".

Example 2 — verify (and fix) normalisation. Suppose a state is written |\psi\rangle = 3|0\rangle + 4|1\rangle. Then \langle\psi|\psi\rangle = 3^2 + 4^2 = 25 \neq 1, so it is not normalised. Divide by \sqrt{25} = 5 to fix it:

|\psi\rangle = \tfrac{3}{5}|0\rangle + \tfrac{4}{5}|1\rangle, \qquad |c_0|^2 = \tfrac{9}{25},\quad |c_1|^2 = \tfrac{16}{25},\quad \tfrac{9}{25} + \tfrac{16}{25} = 1.\ \checkmark

The probabilities of the two outcomes are 36\% and 64\%.

Example 3 — compute an overlap. With real coefficients an inner product is just the dot product of the coefficient columns. Take |\phi\rangle = \tfrac{1}{\sqrt2}|0\rangle + \tfrac{1}{\sqrt2}|1\rangle and |\psi\rangle = \tfrac{1}{2}|0\rangle + \tfrac{\sqrt3}{2}|1\rangle. Using \langle 0|0\rangle = \langle 1|1\rangle = 1 and \langle 0|1\rangle = 0,

\langle\phi|\psi\rangle = \tfrac{1}{\sqrt2}\cdot\tfrac{1}{2} + \tfrac{1}{\sqrt2}\cdot\tfrac{\sqrt3}{2} = \frac{1 + \sqrt3}{2\sqrt2} \approx 0.966.

The amplitude is close to 1, so these two states are nearly the same direction in Hilbert space — if you prepared |\psi\rangle and asked "are you |\phi\rangle?", you would get "yes" with probability |\langle\phi|\psi\rangle|^2 \approx 0.93.

From a pun, of course. Paul Dirac wrote the inner product as a "bracket" \langle\phi|\psi\rangle, then sliced the word in half at the vertical bar: the left piece \langle\phi| is the bra and the right piece |\psi\rangle is the ket. Bra + ket = bracket. He introduced it in 1939 and it swept through physics because it is so ruthlessly practical: the notation itself reminds you which object is which and which way round they combine. A ket needs a bra on its left to close into a number; a bra needs a ket on its right. Even the shape of the symbols does bookkeeping for you.

The classic trap. The order of the bra and the ket changes everything. Put the bra first and the ket second, \langle\phi|\psi\rangle, and the brackets close up into a single complex number — the inner (overlap) product. Put the ket first and the bra second, |\phi\rangle\langle\psi|, and nothing closes: you have an operator, the outer product, a machine that turns kets into kets. One is a scalar you could write on a napkin; the other is a whole matrix.

A quick sanity check on dimensions makes the difference obvious. For a qubit a ket is a 2\times 1 column and a bra is a 1\times 2 row. Then \langle\phi|\psi\rangle is (1\times 2)(2\times 1) = 1\times 1 — a number — while |\phi\rangle\langle\psi| is (2\times 1)(1\times 2) = 2\times 2 — a matrix. Same two symbols, opposite order, utterly different type. Whenever a calculation seems to have "a number acting on a state" or "an operator being added to a scalar", check the bra/ket order first; nine times out of ten this is the slip.