Establishes the SLOCC classification of three-qubit entanglement into the GHZ and W classes and derives the W state's robustness under particle loss.
arxiv.org/abs/quant-ph/0005115 ↗W state (three-qubit)
The three-qubit W state, an equal superposition of every single-excitation basis string that survives the loss of one qubit better than GHZ.
Atlas stars stay in the public catalog. Saving this entry to your workspace starts an unstarred private copy.
The W state is the standard second example of genuine multipartite entanglement after GHZ, and the two are provably inequivalent under stochastic local operations and classical communication (SLOCC): no sequence of local operations turns one into the other, even probabilistically.
Circuit & simulation
What this takes and returns
TakesNothingWhat joins here
Nothing goes in, and that is what this entry is: a pipeline starts here. There is no upstream to choose — what you pick is what comes after.
Nothing in the Atlas meets this end.
Returns3 qubitsWhat joins here
Returns a 3-qubit register a next stage can take. This is the end that joins.
3 entries meet this end · 14 entries line up on shape, composition unverified. Named below.
Prepares a state. Nothing goes in, and what comes out is a register another stage can take. See all 12 →
- Bernstein–Vazirani all-ones oracle · 3 qubits
- Clifford brickwork benchmark · 3 qubits
- GHZ chain benchmark · 3 qubits
- RY-CX hardware-efficient ansatz · 3 qubits
- RZ-RY-CZ hardware-efficient ansatz · 3 qubits
- Ising Trotter-step benchmark · 3 qubits
- and 8 more
The widths and types line up. What is not established is everything a width does not carry — the basis convention, the normalisation, the state each was written to start from — so this is not a claim that the two compose.
Where the map uses this
This record is an instance of an object the map names, so these are the processes that consume or produce one. None of them is about this record in particular.
State you can prepare 5 of 33 processes
- Quantum linear solve hands one back
- Prepare an input state hands one back
- Amplify a success branch hands one back
- Estimate an observable takes one
- Minimise the objective over the parameters hands one back
How it works
The three-qubit state is
Generalizing to qubits, places the single excitation in a uniform superposition over all positions.
Entanglement structure. The state and the GHZ state are the two SLOCC-inequivalent classes of genuine tripartite entanglement identified by Dür, Vidal, and Cirac (2000): no local operations and classical communication, even applied probabilistically, can convert one into the other. Operationally this shows up in robustness — tracing out any single qubit of leaves the remaining two qubits in a mixed state with nonzero concurrence (residual pairwise entanglement survives), whereas tracing out one qubit of the GHZ state leaves the rest in a separable classical mixture .
Construction. The state is prepared with a chain of controlled rotations rather than a single Hadamard: an gate flips the last qubit to , and a cascade of controlled- rotations with angles (for : , ) redistributes the excitation probability evenly across the remaining qubits, followed by CNOTs that copy the "excitation present" flag outward. Because every rotation angle and CNOT target is fixed by the recursion, the resulting amplitudes are exact closed-form values rather than estimates.
Significance. states appear as the natural output of single-photon-loss-tolerant encodings, in quantum secret sharing, and as the ground state of the single-excitation sector of the ferromagnetic Heisenberg model (the state is a highest-weight total-spin eigenstate), making it a bridge between circuit-model entanglement and condensed-matter spin physics.
Implementation
import numpy as np
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
def w_state(n: int) -> QuantumCircuit:
qc = QuantumCircuit(n)
qc.x(n - 1)
for k in range(n - 1):
remaining = n - k
theta = 2 * np.arccos(np.sqrt(1 / remaining))
qc.cry(theta, n - 1 - k, n - 2 - k)
for k in range(n - 1, 0, -1):
qc.cx(k, k - 1)
return qc
qc = w_state(3)
sv = Statevector.from_instruction(qc)
# sv equals (|100> + |010> + |001>) / sqrt(3) exactly
print(sv.probabilities_dict())
FINAL_CIRCUIT = qcQuantum vs classical
Classical baseline
Use a classical state-vector or matrix simulation at the same width, precision, and measurement objective.
Quantum claim
The quantum record demonstrates a state or operator behavior; it does not make classical simulation or communication costs disappear.
How to compare
Compare fidelity, samples, gate depth, noise, memory, and the cost of preparing and reading the state.
Declared gaps
Nobody has reviewed this record for gaps yet.