Take two vectors and combine them, and there are two completely different answers depending on which way you multiply them. One gives back a single number. The other gives back a whole matrix. Both show up constantly in quantum mechanics, under the names bra-ket notation gives them: the inner product and the outer product.
The inner product
Bra-ket notation splits a vector into two roles. The ket |ψ⟩ is the column vector you already know from Ch. 1. The bra ⟨ψ| is its conjugate transpose — flip it into a row, and replace every entry with its complex conjugate. The inner product ⟨ψ|φ⟩ multiplies a bra by a ket and produces a single number:
⟨ψ|φ⟩ = ψ₁*φ₁ + ψ₂*φ₂ + …
(the * marks complex conjugate). For real-valued vectors this is exactly the dot product you may already know, with a direct geometric meaning: a·b = |a||b|cos θ, where θ is the angle between them.
Why complex conjugate?
If you take the inner product of a vector with itself, ⟨ψ|ψ⟩, you get its squared length — and a length has to be a real, non-negative number. Without the conjugate, a complex vector's "length" could come out complex or negative, which is meaningless. The conjugate fixes this: ψᵢ*ψᵢ = |ψᵢ|² is always real and non-negative for every entry, every time.
Norms and orthogonality
The norm (length) of a vector is ‖ψ‖ = √⟨ψ|ψ⟩. A normalized vector has ‖ψ‖ = 1, meaning ⟨ψ|ψ⟩ = 1 — which is exactly the |α|² + |β|² = 1 constraint from Ch. 3, just written in bra-ket notation instead of spelled out.
Two vectors are orthogonal when ⟨ψ|φ⟩ = 0 — geometrically, perpendicular; cos θ = 0. |0⟩ and |1⟩ are orthogonal (⟨0|1⟩ = 0) and each already has norm 1, which makes them orthonormal — the technical term for "a basis where every vector has length 1 and every pair is perpendicular." It's the cleanest possible basis to work with, which is exactly why |0⟩/|1⟩ get used constantly.
The outer product
Multiply the same two vectors the other way around — ket times bra instead of bra times ket — and you get a matrix instead of a number:
Every entry of the resulting matrix is just one entry from ψ times one (conjugated) entry from φ — no sum involved at all, unlike the inner product. Drag the same vectors in Fig. 2.1 above and watch this matrix update in real time (shown here for real-valued entries, so no conjugation is visible — Fig. 1.2 from Ch. 1 already showed you what a matrix like this actually does to a vector):
Projectors
The single most important outer product in this entire book is a vector with itself: |ψ⟩⟨ψ|. Applied to any vector v, it gives back ⟨ψ|v⟩·ψ — the part of v that points along ψ, scaled by how much of v actually lies in that direction. This is called a projector, and it's not just a mathematical curiosity: a projective measurement (Ch. 7) is defined as applying exactly this kind of operator. When you "measure in the |0⟩/|1⟩ basis," you're applying the projectors |0⟩⟨0| and |1⟩⟨1|, and the probability of each outcome is literally how much of your state's "length" that projector keeps.
- Video3Blue1Brown — Dot products and dualityThe geometric intuition behind projection that Fig. 2.1 is built to demonstrate.
- TextbookNielsen & Chuang, §2.1.4–2.1.6Inner products, norms, and the projector formalism used throughout the rest of the book.
- ToolNumPy docs — vdot / outerReference for the exact functions used in Fig. 2.3's code cell.