About this map
Sections
What this is
Quantum algorithms are not written from scratch. They are assembled from a small number of reusable steps, and almost every published method is a different route through the same handful of them.
This is a map of those routes. Circles are the things an algorithm can be holding. Lines are the steps that carry you from one to the next. A method is a path across.
Nothing here is generated. Every line was read out of a paper and checked against it.
How to read it
- Something you can hold — a state, a matrix, a circuit, an answer.
- The same, in the middle of a step you have opened.
- A step. Someone has published a way through it.
- A step whose way through has not been pinned to one method.
- A step nothing published fills yet.
- A step you have opened. What is drawn inside it is how it was done.
- There is a record in the repository for this one.
How to move around
- Two fingers move the map. Pinch to zoom, or hold ctrl and scroll.
- Click a step to open it in place — everything else stays where it is.
- Click a name to read the full record without leaving the map.
- Arrow keys move, plus and minus zoom, zero puts it back.
What a line is claiming
A solid line means a paper puts those two steps together and we have the citation. A long-dashed line means the route is recorded but no single method has been named for that step. A short-dashed line means nothing published fills it — the step is real, the way through is not written yet.
A count after a step's name — ×T/h, ×O(κ) — means the route walks that step that many times rather than once. It is the source's own symbol, and the card says what it stands for and what one turn costs. A step with no count is a step no source we read said is repeated, which is not the same as one taken once.
A line drawn nested under another, on the soft shaded band behind it, is a narrower version of the line above it: the same construction, re-analysed or re-tuned, filling the same step. It is why two lines can draw the identical interior and still be two entries. Lines outside the band are alternatives to their neighbours, not versions of them.
The map does not hide the gaps. An empty step is drawn as an empty step.
What is not here yet
The map covers the algorithm literature. The repository covers circuits and primitives. They overlap less than you would expect, and where a method has no record we say so on its page rather than leaving the space blank.
Where something named here does have a record, its name links straight to it.
Method
Iterative qubit coupled cluster
Stop growing the circuit and grow the Hamiltonian instead. Each round folds the entanglers found so far into the operator by a canonical transformation, so every round runs a circuit of the same size — the cost moves off the device and into the number of terms that have to be measured.
A narrower version of: Qubit coupled-cluster ansatz
Open the full recordFills the slot: Choose a parameterised trial state
Ryabinkin et al. state the trade in one sentence — "each iteration involves a canonical transformation of the Hamiltonian and employs constant-size quantum circuits at the expense of increasing the Hamiltonian size" — which is the whole point of the method: a NISQ device is bounded in circuit size, not in how many terms a classical computer can carry. The condition attached to convergence is the part not to skip: they "found that the exact ground-state energies can be systematically approached only if the generators of the QCC ansatz are sampled from a specific set of operators", so the generator pool is a correctness requirement here rather than a tuning choice, and the paper supplies an algorithm for constructing that set. Evidence is numerical, on LiH, H2O and N2; no hardware run is reported.
The Hamiltonian whose ground state is wanted, together with whatever structure is to be respected — particle number, spin, point-group symmetry, a reference determinant — and the connectivity and native gate set of the device the family has to run on.
Hamiltonian whose eigenvalues are wanted → Parameterised circuit familydress the Hamiltonian, screen by flip index
At each outer round the previously found entangler is folded into the operator, not appended to the circuit, via the canonical transformation , closing exactly as , a 3-term expression that would triple the operator count each round ( after rounds) if terms stayed independent; since adds no new terms, only re-signs old ones, the paper tightens this to . The next is not found by exhaustive search: assumption: the qubit mean-field reference is a common -eigenstate (or is purified to be one), and the Hamiltonian has real coefficients with an even number of terms, so the gradient vanishes unless 's flip indices fall in one of the classes the Hamiltonian's terms partition into, shrinking the pool to the "direct interaction set" (). approximation: the growing dressed Hamiltonian is periodically truncated to its largest-magnitude coefficients, with the ground-state shift bounded via Weyl's theorem, .
approximationassumption
A circuit family with a fixed structure and free real parameters, together with the number of those parameters — which is the size of the classical search problem handed to the next layer.
- Estimate an observable
Given the ability to prepare and a description of an observable , return a classical scalar within of at confidence . The state is never returned; only the number is.
Each iteration asks the estimator for — the dressed operator carried in from prior rounds, not the bare — on : a qubit mean-field product state under a fixed-size entangler. Eq. (7)'s minimization runs "with respect to amplitudes and Bloch angles," repeated for "a small (usually 10) number of guesses," plus, whenever none beats the prior energy, a restart at and the previous Bloch angles — "guaranteed to lower energy because the chosen generators have non-zero energy gradients by construction." The operand grows, the circuit does not: dressing "increases the size of the Hamiltonian up to a factor of 3/2 at each step," hence "more measurements for a quantum one." Generator selection never comes back here: Eq. (9) scores each candidate on the mean-field state alone. The last return is "the ground-state energy estimate for the Hamiltonian ."
given qubit Hamiltonian H = sum_k C_k P_k, M = O(n^4) Pauli terms on n qubits (Eq. 3-4)
C_k real, an even number of y-factors per P_k (real electronic Hamiltonian)
QMF reference |Omega> = (x)_{j=1}^n |Omega_j>,
|Omega_j> = cos(theta_j/2) |up>_j + e^(i phi_j) sin(theta_j/2) |down>_j (Eq. 5-6)
requires the optimum |Omega_min> -- or its "purified" state of maximum overlap with it --
is a common eigenstate of every z_i, prod_i z_i |Omega_min> = +/- |Omega_min> (Eq. 10)
# needed so the gradient below vanishes outside a flip-index partition of H; the paper
# notes this condition frequently holds for the optimized QMF state as found, and
# supplies the purification only as a fallback when it does not
Ng >= 1 generators per round, N_steps rounds -- both are inputs, not derived
# the authors "did not find rigorous conditions when such convergence was possible";
# only numerical evidence is offered, on LiH, H2O, N2 -- no hardware run
H_d^(0) = H # base case for the round index k below (Sec. II C, below Eq. 18)
# --- screen the CURRENT dressed Hamiltonian for its next Ng generators, classically ---
partition H_d^(k-1) into groups S_l by flip index F(P_i) = {j : x_j or y_j in P_i} (Eq. 12-15)
# only P_i with odd y-parity and F(P_i) matching some group has dE[P_i]/dtau != 0 (Eq. 8-11)
for each group S_l, build one representative P_l: x on every flip index but one, y on the rest
# this is the "direct interaction set" (DIS) -- O(M) representatives, one per group;
# the full set of generators satisfying the gradient condition is O(M 2^(n-1))
score each representative |dE[P_l]/dtau|_0| = | <QMF| -i/2 [S_l, P_l] |QMF> | (Eq. 8, S_l for H)
# QMF = |Omega_min> is a product state with known Bloch angles -- computed classically,
# no device measurement; Eq. 8's H is taken to be the LOCAL group S_l, not the full
# H_d^(k-1) -- that substitution is what makes the total screening cost O(M), summed
# over the O(M)-sized union of groups, rather than O(M) per representative
take the Ng representatives with largest |dE/dtau|
if max |dE/dtau| < threshold: exit loop # part of the base algorithm's step 1, same as
# the sampling step above it -- not an optional add-on (contrast the compression stretch
# below, which the paper itself does mark optional); no default numeric threshold is
# given in the main text
# --- optimize a FIXED-SIZE circuit against the dressed Hamiltonian, Eq. 7 ---
U(tau) = prod_{l=1}^{Ng} exp(-i tau_l P_l / 2)
# circuit length is Ng exponentials -- independent of how many rounds have already run
minimize E = <Omega| U(tau)^dagger H_d^(k-1) U(tau) |Omega> over tau (Ng) and Bloch angles (2n)
# <= 10 random-guess restarts (a reported typical count, not a fixed rule);
# if none beats the previous round's energy, retry once from tau=0 with the
# previous round's Bloch angles -- guaranteed not to raise the energy, since
# each P_l has dE/dtau|_0 != 0 by the screening step above
# --- dress: fold the optimized entanglers into the OPERATOR, not the circuit, Eq. 17-18 ---
H_d^(k) = H_d^(k-1)
+ sin(tau_l) ( -i/2 [H_d^(k-1), P_l] )
+ (1/2)(1 - cos tau_l) ( P_l H_d^(k-1) P_l - H_d^(k-1) ) # one P_l shown; apply Ng times
# P_l H_d^(k-1) P_l only re-signs existing terms (Pauli anticommutation); all new terms
# come from the commutator, so a naive bound of 3^Ng tightens to ~ (3/2)^Ng M --
# an average-case estimate (Appendix A), not a worst-case bound
# --- optional: compress before the next round, Sec. II D ---
keep the J largest |C_j|, sqrt( sum_{j>J} |C_j|^2 ) <= eps / 2^(n/2) (Eq. 21-23)
# by Weyl's theorem this bounds every eigenvalue shift of the TRUNCATED operator:
# max_j |lambda_j(H_d) - lambda_j(H_c)| <= eps (Eq. 20)
# -- a proved bound on the spectrum for a GIVEN J; nothing here bounds how large J must be
repeat from the screening step until round count reaches N_steps,
or the gradient threshold above stops it first, whichever comes first (Sec. II C, step 1)
return the final round's QCC energy -- "the ground-state energy estimate for the Hamiltonian H"
# no total cost bound is given, since M grows per round with no proven ceiling: numerically,
# 14-qubit N2 (M = 825 at k=0) reached ~5x10^5 terms after 30 rounds and stayed more than
# 1 mEh from exact after 40 (Sec. III D) -- all evidence is numerical, no hardware runRyabinkin, Lang, Genin and Izmaylov give per-iteration counts and no total. The circuit stays fixed size: each iteration optimises amplitudes and Bloch angles, then folds them into the Hamiltonian by Eq. (17)'s canonical transformation, with cut at run time to the number of distinct gradient groups. The Hamiltonian grows instead, from Pauli terms to per dressing — an Appendix A average-case estimate, not a bound — and every retained term is one more to measure, with no shot count given. Screening generators costs , for a real electronic Hamiltonian and a mean-field reference that is an eigenstate of every . Nothing bounds the iterations: is an input, and the authors "did not find rigorous conditions when such convergence was possible". Classically simulated, no hardware: 14-qubit grew from 825 terms to after 30 iterations, still over 1 from exact after 40. Keeping the largest coefficients with moves every eigenvalue by at most : a proved bound on the spectrum, not on .
None found yet.
None found yet.
Iterative qubit coupled cluster · Qiskit
From the repository — run, not written up from a paper · unsupported
About
Iterative QCC repeatedly dresses the Hamiltonian and selects new entanglers instead of fixing one deep circuit.
Methods
None found yet.
Data
None found yet.
Code
Qiskit
Results
Literature-backed method record; algorithmic scope and evidence boundary reviewed, with no benchmark run claimed.
- Iterative qubit coupled cluster
Iterative QCC repeatedly dresses the Hamiltonian and selects new entanglers instead of fixing one deep circuit.
References
- Iterative Qubit Coupled Cluster approach with efficient screening of generators
Ilya G. Ryabinkin, Robert A. Lang, Scott N. Genin, Artur F. Izmaylov · 2019
Where the routes meet
Every circle is drawn once. This step has no smaller object recorded inside it, so the strands between its two circles are the recorded ways of taking it — one strand per method.
13 recorded ways of doing Choose a parameterised trial state; 11 are drawn — the other 2 are refinements with the same internals, folded into their parents' cards. Nothing smaller is recorded inside it, so there is no object in the middle to draw.
Everything on this figure that opens is open.
Of the routes that have been taken apart, 15 are built entirely from named slots, 15 hand off part of the work and finish the rest themselves, and 20 are one undivided act. None of the three is a defect; they are different things to reuse.
Every line on this figure, in words
The lines on this figure
- Unitary coupled-cluster singles and doubles
- Hardware-efficient ansatz
- ADAPT-VQE adaptive ansatz
- qubit-ADAPT-VQE ansatz, a narrower version of ADAPT-VQE adaptive ansatz
- Batched ADAPT-VQE ansatz, a narrower version of ADAPT-VQE adaptive ansatz
- k-UpCCGSD ansatz
- Qubit coupled-cluster ansatz
- Particle-hole coupled-cluster circuits
- Orbital-optimized coupled-cluster circuits
- Symmetry-preserving state-preparation circuits
- Generalized singles and doubles ansatz
- Every line on this figure is one a recorded source takes.
Open the cardRead the full write-up
Where you are
Path
- Estimate an excited-state energy
- Choose a parameterised trial state
Ways through: 13
- Unitary coupled-cluster singles and doubles
- Hardware-efficient ansatz
- ADAPT-VQE adaptive ansatz
- qubit-ADAPT-VQE ansatz
- k-UpCCGSD ansatz
- Qubit coupled-cluster ansatz
- Particle-hole coupled-cluster circuits
- Orbital-optimized coupled-cluster circuits
- Symmetry-preserving state-preparation circuits
- TETRIS-ADAPT-VQE ansatz
- Iterative qubit coupled cluster
- Generalized singles and doubles ansatz
- Batched ADAPT-VQE ansatz
Routes that skip it
No recorded route avoids this step.
Narrower kinds
Nothing recorded is a narrower kind of this.
Every step you can open
1 of these have an object recorded in the middle; the rest open into the methods that fill them.
- Solve a nonlinear ODE dy/dt = F(y)
- Replace a spatial domain with a finite grid
- Discretize a PDE into one linear system
- Embed a nonlinear system into a linear one
- Solve a linear ODE du/dt = A(t)u + b(t)
- Recast a non-Hermitian generator as Hamiltonian evolution
- Choose a time discretization or propagator approximation
- Quantum linear solve
- Matrix function
- QSP phase factors
- Polynomial approximation
- Block-encode a matrix
- Prepare an input state
- Amplify a success branch
- Simulate Hamiltonian evolution
- Estimate an observable
- Compile a circuit to a specific device
- Satisfy the hardware connectivity constraint
- Approximate a continuous rotation in a discrete gate set
- Recover a noiseless expectation value by post-processing
- Build logical qubits at a target logical error rate
- Estimate a Hamiltonian's ground-state energy
- Choose a parameterised trial state
- Minimise the objective over the parameters
- Estimate an excited-state energy
- Measure what the machine can actually do
- Recover the period of a periodic function
- Estimate the eigenphase of a unitary
- Find the item a check accepts
- Walk a graph to the vertex you want
- Search a cost Hamiltonian for the assignment it minimises
What is on this map, counted
What is here, counted
147 nodes — 31 slots and 116 methods.
76 of the 147 link to a record in the Atlas, between them naming 89 records. The rest name papers and nothing else: this graph describes work the catalogue has not got yet, and the nodes with no record are the list of what a corpus pass has to go and read.
0 slots have no method recorded, and 32 methods have not been taken apart. Both are shown as what they are rather than left blank.
Every claim here rests on a source. This graph cites 140 papers; they and the 172 the Atlas cites alone are registered in one place, with what each reports and everywhere it is cited from. Papers