Skip to main content
University Physics V

University Physics V · Introduction to Quantum Information · 20.4

Tensor Products, Entanglement & Schmidt Form

Two qubits is where the linear algebra stops being a rewrite of wave mechanics and starts paying. Learn to build the four-dimensional space with a Kronecker product, to tell a product state from an entangled one by the rank of a 2 × 2 matrix, and to measure how entangled it is by tracing one qubit out.

01

Build the model

Connect the measurement to the mechanism.

A composite system lives in the tensor product of its parts' spaces, not their sum, so dimensions multiply: two qubits need C² ⊗ C², four amplitudes, and n qubits need 2ⁿ. A product |a⟩ ⊗ |b⟩ carries four real parameters, a general unit ray in C⁴ carries six, so product states are a thin surface and almost every state carries correlations no local recipe produces. The Schmidt decomposition makes this precise.

Arrange the amplitudes cᵢⱼ as a matrix C and take its singular value decomposition: |ψ⟩ = Σₖ √λₖ |kA⟩|kB⟩ in one orthonormal basis per side, with Σ λₖ = 1. The state is entangled exactly when more than one λₖ is nonzero, and the λₖ are the eigenvalues of the reduced state ρA = TrB |ψ⟩⟨ψ| = C C†, so the entropy S = −Σ λₖ log₂ λₖ measures the entanglement: 1 bit for a Bell pair, 0 for a product. What makes this the right definition is invariance: C → UA C UBᵀ leaves every singular value alone, so no local unitary can create or destroy entanglement, and the term count of a ket, which local rotations change freely, never could have measured it.

The cost is that this is a pure-state tool. A mixed pair can have a maximally mixed ρA through plain classical correlation, and deciding whether a mixed state is entangled needs a different criterion — the partial transpose for two qubits, and in general an NP-hard problem.

Simple definition
A pure state of two systems is entangled when it cannot be written as one vector tensor another; equivalently its coefficient matrix has rank above one, its Schmidt decomposition has more than one term, and the reduced state of either half is mixed.
Example
(|00⟩ + |11⟩)/√2 has coefficient matrix I/√2, rank 2: tracing out B leaves ρA = I/2 with S = 1 bit, whereas (|00⟩ + |01⟩ + |10⟩ + |11⟩)/2 has the rank-1 matrix ½[[1, 1], [1, 1]] and is just |+⟩|+⟩.
Kronecker product of states and gates(|a⟩ ⊗ |b⟩)ᵢⱼ = aᵢ bⱼ · (A ⊗ B)(|a⟩ ⊗ |b⟩) = A|a⟩ ⊗ B|b⟩

np.kron builds both. Dimension multiplies, so n qubits need 2ⁿ amplitudes and a gate on qubit k alone is I ⊗ … ⊗ U ⊗ … ⊗ I.

|a⟩, |b⟩ ∈ C²; the product sits in C⁴ ordered |00⟩, |01⟩, |10⟩, |11⟩ (row 2i + j); amplitudes dimensionless

Coefficient matrix and the product test|ψ⟩ = Σ cᵢⱼ |i⟩ ⊗ |j⟩ · product ⇔ rank C = 1 ⇔ c₀₀c₁₁ − c₀₁c₁₀ = 0

psi.reshape(2, 2) turns the ket into C. A determinant, not a count of terms, decides whether the state factorises.

C is the dA × dB matrix of amplitudes, 2 × 2 for two qubits, with Σ|cᵢⱼ|² = 1; the determinant test is two-qubit only

Schmidt decomposition (the SVD of C)|ψ⟩ = Σₖ √λₖ |kA⟩ ⊗ |kB⟩ · C = U diag(√λₖ) V† · Σ λₖ = 1

One orthonormal basis per side puts any pure state in diagonal form, and UA ⊗ UB cannot change a single λₖ.

λₖ ≥ 0 are the squared singular values of C; Schmidt rank = number of nonzero λₖ ≤ min(dA, dB)

Partial trace and the reduced stateρA = TrB ρAB = Σⱼ (I ⊗ ⟨j|) ρAB (I ⊗ |j⟩) = C C†

ρA predicts every measurement A can make alone; for a pure pair, ρA pure means product and ρA mixed means entangled.

ρA is dA × dA, Hermitian, Tr ρA = 1, eigenvalues λₖ; ρB = (C†C)ᵀ has the same nonzero spectrum

Entanglement entropyS(ρA) = −Σₖ λₖ log₂ λₖ = S(ρB)

Counts Bell pairs: n copies convert by local operations and classical communication into about nS Bell pairs, and back.

in bits; 0 for a product state, 1 for any Bell state, at most log₂ min(dA, dB); defined for pure ρAB

Two-qubit concurrenceC = 2|c₀₀c₁₁ − c₀₁c₁₀| = 2√(λ₁λ₂) · λ± = (1 ± √(1 − C²))/2

One determinant gives both Schmidt weights without an SVD: C = 1 is a Bell pair, C = 0 a product.

0 ≤ C ≤ 1, dimensionless; pure two-qubit states here, Wootters' formula extends it to mixed ρ

01

Composite systems multiply dimensions: build C² ⊗ C²

A single qubit is a unit ray in C². Two qubits do not live in C² ⊕ C², which also has dimension four but the wrong structure; they live in the tensor product C² ⊗ C², whose basis is the four products |ij⟩ = |i⟩ ⊗ |j⟩ with i, j ∈ {0, 1}, ordered |00⟩, |01⟩, |10⟩, |11⟩ so that |ij⟩ occupies row 2i + j. In NumPy the product of two column vectors is np.kron(a, b), and the same call builds gates: np.kron(X, I) is the 4 × 4 matrix that flips qubit A and leaves B alone, and the mixed-product rule (A ⊗ B)(C ⊗ D) = AC ⊗ BD is what lets circuits compose layer by layer. Dimension multiplies rather than adds. Three qubits need 8 amplitudes, ten need 1024, and a 30-qubit state vector in complex doubles is 2³⁰ × 16 bytes, about 17 GB. Now count parameters. A unit ray in C⁴ has 2 × 4 − 2 = 6 real parameters, one normalisation and one global phase removed; a product |a⟩ ⊗ |b⟩ has 2 + 2 = 4. Product states are a four-dimensional surface inside a six-dimensional space, so almost every state you can write down is not a product, and the working question is how to recognise one.

02

Reshape the ket into a matrix and take its rank

Write |ψ⟩ = Σ cᵢⱼ |i⟩ ⊗ |j⟩ and lay the amplitudes out as a 2 × 2 matrix C with cᵢⱼ in row i, column j — in code, psi.reshape(2, 2). If |ψ⟩ = |a⟩ ⊗ |b⟩ then cᵢⱼ = aᵢ bⱼ, so C = a bᵀ is an outer product of rank 1; conversely every rank-1 matrix is an outer product, so the state factorises. For two qubits rank 1 means det C = c₀₀c₁₁ − c₀₁c₁₀ = 0. Test it: (|00⟩ + |01⟩ + |10⟩ + |11⟩)/2 gives C = ½[[1, 1], [1, 1]], determinant zero, and indeed it is |+⟩|+⟩ despite its four terms. (|00⟩ + |11⟩)/√2 gives C = I/√2, determinant ½: entangled. The in-between case (2|00⟩ + |01⟩ + |10⟩ + 2|11⟩)/√10 gives det C = (4 − 1)/10 = 0.3, so it is entangled, but how much needs the next step. The test is basis-proof. A local change of basis (UA ⊗ UB)|ψ⟩ sends C → UA C UBᵀ, and multiplying by invertible matrices on either side never changes the rank, which is why counting terms fails and the rank test does not.

03

The Schmidt decomposition is the SVD of that matrix

Every matrix has a singular value decomposition C = U Σ V† with U and V unitary and Σ diagonal with entries σₖ ≥ 0. Substitute it into the ket: |ψ⟩ = Σₖ σₖ |uₖ⟩ ⊗ |vₖ*⟩, where |uₖ⟩ are the columns of U and |vₖ*⟩ the conjugated columns of V — one orthonormal basis on each side in which the state is diagonal. The weights λₖ = σₖ² sum to 1 by normalisation, and the number of nonzero ones, the Schmidt rank, is at most min(dA, dB): 1 or 2 for two qubits. Take C = [[2, 1], [1, 2]]/√10. It is real and symmetric, so its SVD is its eigendecomposition: eigenvectors (1, 1)/√2 = |+⟩ and (1, −1)/√2 = |−⟩ with eigenvalues 3/√10 and 1/√10, hence λ₁ = 0.9, λ₂ = 0.1 and |ψ⟩ = √0.9 |+⟩|+⟩ + √0.1 |−⟩|−⟩ — two terms in the right bases, four in the computational one. Since UA C UBᵀ has the same singular values as C, the Schmidt weights are precisely what a local unitary cannot touch, which is what qualifies them to measure a property shared between two parties. In NumPy: u, s, vh = np.linalg.svd(ψ.reshape(2, 2)); lam = s**2.

04

Trace out B and read the entanglement from ρA

An observer who never touches B still needs a state that predicts every local measurement. That is ρA = TrB |ψ⟩⟨ψ|, defined by Tr(ρA M) = ⟨ψ|M ⊗ I|ψ⟩ for every operator M on A; explicitly ρA = Σⱼ (I ⊗ ⟨j|)|ψ⟩⟨ψ|(I ⊗ |j⟩), which in terms of the coefficient matrix is ρA = C C† and ρB = (C†C)ᵀ. In code: ρ = np.outer(ψ, psi.conj()).reshape(2, 2, 2, 2); ρA = np.einsum('ijkj→ik', ρ). The eigenvalues of C C† are the σₖ² = λₖ, so ρA is pure exactly when the Schmidt rank is 1, and both reduced states share a spectrum even when dA ≠ dB. For the Bell pair ρA = I/2: every local measurement is a fair coin and S(ρA) = −2 × ½ log₂ ½ = 1 bit, although the pair itself is pure. For the [[2, 1], [1, 2]]/√10 state, ρA = C C† = [[0.5, 0.4], [0.4, 0.5]] with eigenvalues 0.9 and 0.1, purity 0.82 and S = −0.9 log₂ 0.9 − 0.1 log₂ 0.1 = 0.137 + 0.332 = 0.469 bits. That number is operational, not a score: n copies of the state can be converted by local operations and classical communication into about nS Bell pairs and back again, so S counts the Bell pairs the state is worth.

05

What Schmidt rank cannot classify: mixed states

Everything above assumed ρAB is pure. Drop that and a mixed ρA stops meaning entanglement. The mixture (|00⟩⟨00| + |11⟩⟨11|)/2 has ρA = I/2 and S = 1 bit, identical to the Bell pair, yet it is a classical coin shared by post — separable, a convex sum of product states — and violates no Bell inequality. Nothing local tells them apart; the difference lives in the off-diagonal terms |00⟩⟨11| that only a joint measurement sees. For mixed states the question becomes separability: can ρ be written as Σ pₖ ρAk ⊗ ρBk? For 2 × 2 and 2 × 3 systems the Peres–Horodecki criterion settles it. Transpose the B indices only, ⟨ij|ρTB|kl⟩ = ⟨il|ρ|kj⟩; the state is entangled exactly when the result has a negative eigenvalue. For |Φ⁺⟩⟨Φ⁺| the partial transpose moves the ½ from |00⟩⟨11| to |01⟩⟨10| and produces the eigenvalue −½; for the classical mixture there is nothing to move and every eigenvalue stays non-negative. In higher dimensions a positive partial transpose is necessary but not sufficient, and general separability is NP-hard — a reminder that Schmidt rank is a pure-state luxury.

06

Three qubits: choose the cut

The Schmidt decomposition is a two-party statement, and it does not extend to three: no basis makes a generic three-qubit state a single sum Σ √λₖ |k⟩|k⟩|k⟩. What you can always do is cut the register in two and apply everything above to the bipartition. For the GHZ state (|000⟩ + |111⟩)/√2 across A|BC the coefficient matrix is 2 × 4 with rank 2, ρA = I/2 and S = 1 bit; trace out A instead and the remaining pair is (|00⟩⟨00| + |11⟩⟨11|)/2, the separable classical mixture of the previous section, so the entanglement is held by all three or by none. The W state (|001⟩ + |010⟩ + |100⟩)/√3 gives ρA = diag(2/3, 1/3) and S = 0.918 bits across the same cut, but tracing out one qubit leaves a pair whose Wootters concurrence is 2/3: its entanglement survives the loss of a party. GHZ and W cannot be converted into each other by local operations and classical communication, even probabilistically, so beyond two parties there is no single number and no single kind of entanglement, only what each cut reveals.

02

Change one variable at a time

Make the relationship visible.

Interactive model
30 °
0 °
0 °

Put θ at 45° and sweep α from 0 to 180°: the four amplitude bars on the left rearrange completely while λ₁, λ₂ and S stay at ½, ½ and 1 bit, because Ry(α) ⊗ I is local. Then set θ to 0 and no α or β will lift λ₂ off the axis — a product state stays a product state.

Interactive physics modelPure two-qubit state |ψ⟩ = (R_y(α) ⊗ R_y(β))(cos θ|00⟩ + sin θ|11⟩). Left: the four signed amplitudes ⟨ij|ψ⟩ in the computational basis, which the local rotations α and β reshuffle. Right: the Schmidt weights λ₁ = cos²θ = 0.750 and λ₂ = sin²θ = 0.250, set by θ alone; the dashed line at λ = ½ is where a Bell pair puts both, and the entropy S(ρ_A) is printed above the bars.amplitudes ⟨ij|ψ⟩Schmidt weights λₖ00011011λ₁λ₂S = 0.811 bits

λ₁ = cos²θ0.750

λ₂ = sin²θ0.250

S(ρA) ENTROPY0.811 bits

CONCURRENCE 2|det C|0.866

Live interpretationλ₁ = cos²θ: 0.750. λ₂ = sin²θ: 0.250. S(ρA) ENTROPY: 0.811 bits. CONCURRENCE 2|det C|: 0.866

03

Catch the common trap

Explain before calculating.

Which of these two-qubit states is entangled? Decide by the rank of the 2 × 2 matrix of amplitudes [[c₀₀, c₀₁], [c₁₀, c₁₁]], not by the number of terms.

Choose an answer to test the model.

04

Practice & worked examples

Reason from the model, then test the result.

EasyTake the Bell state |Φ⁺⟩ = (|00⟩ + |11⟩)/√2. Write its coefficient matrix, find the Schmidt rank, compute ρA by partial trace, and give the entanglement entropy and the purity of ρA.
  1. Amplitudes in the order |00⟩, |01⟩, |10⟩, |11⟩ are (1, 0, 0, 1)/√2, so C = [[1, 0], [0, 1]]/√2. Its determinant is ½ ≠ 0: rank 2, so the state is entangled.
  2. C is already diagonal, so the Schmidt form reads off directly: |Φ⁺⟩ = √½ |0⟩|0⟩ + √½ |1⟩|1⟩ with λ₁ = λ₂ = ½; the Schmidt bases are the computational bases themselves.
  3. Partial trace: ρA = C C† = ½ I = [[0.5, 0], [0, 0.5]]. Element by element, ⟨0|ρA|0⟩ = |c₀₀|² + |c₀₁|² = ½ and ⟨0|ρA|1⟩ = c₀₀c₁₀* + c₀₁c₁₁* = 0.
  4. S(ρA) = −2 × ½ log₂ ½ = 1 bit, the maximum for a qubit; purity Tr ρA² = ¼ + ¼ = ½, the minimum. Alice's qubit alone is a fair coin in every basis, yet the pair as a whole is pure.

AnswerSchmidt rank 2 with λ = (½, ½); ρA = I/2; S = 1 bit; Tr ρA² = ½.

MediumA two-qubit state is |ψ⟩ = (2|00⟩ + |01⟩ + |10⟩ + 2|11⟩)/√10. Decide whether it is entangled, find its Schmidt decomposition, then compute ρA, its purity and the entanglement entropy. Cross-check with the concurrence.
  1. Normalisation: 4 + 1 + 1 + 4 = 10, so the amplitudes (2, 1, 1, 2)/√10 give C = [[2, 1], [1, 2]]/√10. det C = (4 − 1)/10 = 0.3 ≠ 0: rank 2, entangled.
  2. C is real and symmetric, so its SVD is its eigendecomposition: eigenvectors (1, 1)/√2 = |+⟩ and (1, −1)/√2 = |−⟩ with eigenvalues 3/√10 and 1/√10. Schmidt weights λ₁ = 9/10 = 0.9 and λ₂ = 1/10 = 0.1, summing to 1.
  3. Schmidt form: |ψ⟩ = √0.9 |+⟩|+⟩ + √0.1 |−⟩|−⟩. Check one amplitude: ⟨00|ψ⟩ = (3/√10)(½) + (1/√10)(½) = 2/√10, as given.
  4. ρA = C C† = (1/10)[[2, 1], [1, 2]]² = (1/10)[[5, 4], [4, 5]] = [[0.5, 0.4], [0.4, 0.5]]; its eigenvalues are 0.9 and 0.1 as required. Purity: 0.5² + 0.4² + 0.4² + 0.5² = 0.82.
  5. S = −0.9 log₂ 0.9 − 0.1 log₂ 0.1 = 0.9 × 0.1520 + 0.1 × 3.3219 = 0.1368 + 0.3322 = 0.469 bits — under half a Bell pair's worth.
  6. Concurrence C = 2|det C| = 0.6, and (1 ± √(1 − 0.36))/2 = (1 ± 0.8)/2 = 0.9 and 0.1 reproduces the Schmidt weights without an SVD.

AnswerEntangled: |ψ⟩ = √0.9 |+⟩|+⟩ + √0.1 |−⟩|−⟩; ρA = [[0.5, 0.4], [0.4, 0.5]] with purity 0.82; S ≈ 0.469 bits; concurrence 0.6.

HardThe Werner state ρW = p|Φ⁺⟩⟨Φ⁺| + (1 − p) I/4 mixes a Bell pair with white noise. Show that the partial trace cannot detect its entanglement, say why Schmidt rank does not apply, and use the Peres–Horodecki partial transpose to find the range of p for which ρW is entangled. Evaluate at p = 0.5.
  1. In the |00⟩, |01⟩, |10⟩, |11⟩ basis, |Φ⁺⟩⟨Φ⁺| has ½ at the four corners (00,00), (00,11), (11,00), (11,11). So ρW has diagonal ((1 + p)/4, (1 − p)/4, (1 − p)/4, (1 + p)/4) and off-diagonal entries p/2 at (00,11) and (11,00); the trace is (2 + 2p + 2 − 2p)/4 = 1.
  2. Partial trace: ρA = TrB ρW = p (I/2) + (1 − p)(I/2) = I/2 for every p. The reduced state is maximally mixed whether p = 1 (a Bell pair) or p = 0 (pure noise), so S(ρA) = 1 bit decides nothing here.
  3. Schmidt rank needs a pure ρAB. The eigenvalues of ρW are (1 + 3p)/4 on |Φ⁺⟩ and (1 − p)/4 on the other three Bell states, so Tr ρW² = (1 + 3p²)/4 < 1 for p < 1: the state is mixed and the pure-state classification does not apply.
  4. Partial transpose on B swaps the second index of each |ij⟩⟨kl|: the corner elements p/2 at (00,11) and (11,00) move to (01,10) and (10,01) while the diagonal stays. ρWTB is block diagonal: (1 + p)/4 at 00 and at 11, and the 2 × 2 block [[(1 − p)/4, p/2], [p/2, (1 − p)/4]] on {01, 10}.
  5. That block has eigenvalues (1 − p)/4 ± p/2, i.e. (1 + p)/4 and (1 − 3p)/4. The only eigenvalue that can go negative is (1 − 3p)/4, which does so exactly when p > 1/3. For 2 × 2 systems a negative partial transpose is necessary and sufficient, so ρW is entangled for p > 1/3 and separable for p ≤ 1/3.
  6. At p = 0.5 the minimum eigenvalue is (1 − 1.5)/4 = −0.125: entangled, and Wootters' concurrence for this family, max(0, (3p − 1)/2) = 0.25, agrees. At p = 0.25 the eigenvalue is +0.0625 and the state is separable even though ρA is still I/2 and the two qubits are still correlated.

AnswerρA = I/2 for all p; ρW is mixed, so Schmidt rank is undefined; ρWTB has eigenvalue (1 − 3p)/4, negative for p > 1/3. At p = 0.5 it equals −0.125 and the concurrence is 0.25.