Dirac Bra-Ket Notation

By now you have a complex inner-product space, its operators and adjoints, and the completeness that makes it a Hilbert space. Physicists work in exactly this world all day — so they invented a notation so slick that it does much of the bookkeeping for you. It is Dirac notation, or bra-ket notation, and its central joke is hidden in plain sight: an inner product in mathematics is written \langle \phi, \psi\rangle, a "bra-c-ket". Split that bracket down the middle and you get a bra \langle\phi| and a ket |\psi\rangle. Paul Dirac's playful pun is now the universal language of quantum mechanics.

The notation is not just cute — it is load-bearing. It makes the type of every object obvious at a glance, turns the adjoint into a mechanical flip, and lets you write an operator as a little stack of kets and bras that you can slot into a calculation and cancel like algebra. This page is a translation guide: everything you already know about inner-product spaces, rewritten in the language a physics course will actually speak.

Kets and bras: the two kinds of object

A ket |\psi\rangle is just a vector in the Hilbert space — a state. The label inside is a name, nothing more: |\psi\rangle, |0\rangle, |\!\uparrow\rangle, |n\rangle are all just vectors with suggestive names. If you insist on coordinates, a ket is a column vector.

A bra \langle\phi| is the partner object that is waiting to eat a ket and return a number. Formally it is a linear functional — a machine that takes any ket and produces a complex number. In coordinates a bra is a row vector, and it is the conjugate transpose of the corresponding ket:

|\psi\rangle = \begin{bmatrix} \psi_1 \\ \psi_2 \\ \vdots \end{bmatrix} \quad\longleftrightarrow\quad \langle\psi| = \begin{bmatrix} \overline{\psi_1} & \overline{\psi_2} & \cdots \end{bmatrix}.

That conjugate is the whole reason the notation respects the complex inner product. Turning a ket into its bra — "taking the dagger" — is the Dirac version of the adjoint: flip column to row and conjugate the entries. Every ket has a bra shadow, and vice versa.

The bracket: bra meets ket is an inner product

Slide a bra up against a ket and the two halves close into a full bracket — the inner product, a single complex number:

\langle\phi|\psi\rangle = \langle \phi, \psi\rangle = \sum_i \overline{\phi_i}\,\psi_i.

In matrix terms it is a row vector times a column vector — a 1\times n times an n\times 1, giving a 1\times 1 number. All the inner-product facts you know translate directly:

Picture: a state and its amplitudes

Take the simplest quantum system, a two-state qubit with orthonormal basis |0\rangle and |1\rangle. Any real state is a unit vector |\psi\rangle = \cos\theta\,|0\rangle + \sin\theta\,|1\rangle. The amplitude to measure "0" is the bracket \langle 0|\psi\rangle = \cos\theta — geometrically, the projection of the state onto the |0\rangle axis. Drag the angle and watch the two amplitudes trade off. Their squares always add to one, \cos^2\theta + \sin^2\theta = 1 — total probability conserved, the Pythagorean heart of normalisation.

The state |\psi\rangle (unit vector) in the orthonormal basis \{|0\rangle, |1\rangle\}. Its shadows on the two axes are the amplitudes \langle 0|\psi\rangle = \cos\theta and \langle 1|\psi\rangle = \sin\theta; each is a bra acting on the ket. The squared shadows are the measurement probabilities and always sum to 1.

The outer product: a ket-times-bra is an operator

Here is where the notation earns its keep. If bra-times-ket \langle\phi|\psi\rangle is a number (row × column), then ket-times-bra |a\rangle\langle b| is the opposite order — a column × row — which produces an n\times n matrix: an operator. This "backwards bracket" is the outer product, and it builds operators out of raw states. Its action on any ket is pure bookkeeping — the pieces just associate:

\big(|a\rangle\langle b|\big)\,|\psi\rangle = |a\rangle\,\underbrace{\langle b|\psi\rangle}_{\text{a number}} = \langle b|\psi\rangle\;|a\rangle.

It takes any state, measures its overlap with |b\rangle, and re-emits that much of |a\rangle. The most important special case is |n\rangle\langle n|, the projector onto the direction |n\rangle: it keeps the part of a state along |n\rangle and throws the rest away.

Two identities that do all the work

With outer products in hand, two lines summarise most of the algebra of quantum mechanics.

The second identity expands a state in that basis. Since |\psi\rangle = I\,|\psi\rangle = \sum_n |n\rangle\langle n|\psi\rangle, the coordinate of |\psi\rangle along |n\rangle is the amplitude c_n = \langle n|\psi\rangle — the same "project onto an orthonormal basis" rule from the very first page, now written in Dirac's shorthand:

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

Finally, an operator sandwiched between a bra and a ket, \langle\psi|A|\psi\rangle, is the expectation value — the average outcome of measuring the observable A in the state |\psi\rangle. Every prediction in quantum mechanics is one of these sandwiches.

Worked example — building and using a projector

In the qubit basis, write the states as columns |0\rangle = \begin{bmatrix}1\\0\end{bmatrix}, |1\rangle = \begin{bmatrix}0\\1\end{bmatrix}. The projector onto |0\rangle is the outer product

|0\rangle\langle 0| = \begin{bmatrix}1\\0\end{bmatrix}\begin{bmatrix}1 & 0\end{bmatrix} = \begin{bmatrix}1 & 0\\ 0 & 0\end{bmatrix}.

Apply it to a general state |\psi\rangle = \begin{bmatrix}\cos\theta\\ \sin\theta\end{bmatrix} and it keeps only the top entry: |0\rangle\langle 0|\psi\rangle = \cos\theta\,|0\rangle. The probability of measuring "0" is then

\langle\psi|\,\big(|0\rangle\langle 0|\big)\,|\psi\rangle = |\langle 0|\psi\rangle|^2 = \cos^2\theta,

recovering the Born rule directly from the notation. And the completeness relation checks out: |0\rangle\langle 0| + |1\rangle\langle 1| = \begin{bmatrix}1&0\\0&0\end{bmatrix} + \begin{bmatrix}0&0\\0&1\end{bmatrix} = \begin{bmatrix}1&0\\0&1\end{bmatrix} = I. The two projectors tile up to the identity, exactly as promised.

Dirac notation shines brightest in infinite dimensions. There the "basis" is the continuum of position kets |x\rangle, and the amplitude \langle x|\psi\rangle — the overlap of the state with "being exactly at x" — is the wavefunction \psi(x). The completeness sum becomes an integral, \int |x\rangle\langle x|\,dx = I, and inserting it turns an abstract bracket into a familiar integral: \langle\phi|\psi\rangle = \int \overline{\phi(x)}\,\psi(x)\,dx, the L^2 inner product. The momentum eigenstate written in the position basis, \langle x|p\rangle = e^{ipx/\hbar}, is nothing but a plane wave — and the change from the "position basis" to the "momentum basis" is exactly a Fourier transform. One notation, one set of rules, and both the matrix mechanics of Heisenberg and the wave mechanics of Schrödinger fall out as different choices of basis.

Order is everything: \langle b|a\rangle is a number, but |a\rangle\langle b| is an operator. They look almost identical on the page, yet one is a scalar (row × column, a 1\times 1) and the other a whole matrix (column × row, an n\times n). Mixing them up is the classic beginner's error. A safe habit: read left to right and track the shapes — a bra on the left wanting a ket on the right closes to a number; a ket on the left with a bra on the right stays open as an operator.

The second trap is the conjugate. The bra of c\,|\psi\rangle is \overline{c}\,\langle\psi|, not c\,\langle\psi| — turning a ket into its bra conjugates every scalar. That is exactly why \langle\phi|\psi\rangle = \overline{\langle\psi|\phi\rangle} rather than being symmetric. Forgetting the conjugate is how sign and phase errors creep into a calculation.