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
Qubit coupled-cluster ansatz
Skip the fermionic layer and build the ansatz directly in qubit space, ranking candidate entangling operators by how much each would move the energy and keeping the ones that earn their place.
Open the full recordFills the slot: Choose a parameterised trial state
Ryabinkin et al. name two separate problems with the unitary coupled-cluster route, and the second is a hardware constraint rather than an accuracy one: the accuracy "depends on how many and what kind of terms are included", and there is "a growth of the number of simultaneously entangled qubits even at the fixed fermionic excitation rank", which "not all quantum computing architectures can cope with". Their method "starts directly in the qubit space and uses energy response estimates for ranking the importance of individual entanglers".
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 familyrank entanglers, then estimate the energy
The QCC trial state pairs a mean-field product of single-qubit Bloch states with a correlation unitary built from Pauli-word entanglers . The observable is the energy , minimized over both parameter sets. assumption: each is involutory, , so the similarity-transformed Hamiltonian closes in two terms, . Candidate entanglers are ranked by ; approximation: rather than fully optimizing and for every candidate, a two-tier pre-screen flags entanglers first by a nonzero first derivative , and, only when that vanishes, by a significant negative second derivative from the paper's appendix before the costly full evaluation runs on the surviving candidates.
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.
QCC hands this ingredient a fixed, shallow preparation and asks for one scalar back. The state is the QMF product built from one-qubit rotations, followed by the surviving entanglers in order; the paper's only device-level instance is Fig. 2, a Rigetti circuit for that reaches it with , and Hadamard gates and exactly two CNOT gates for its single entangler. What is estimated is the qubit-space on that state — the similarity-transformed that ranks entanglers is a classical expansion, not something handed to the estimator — one estimate per energy evaluation of the joint minimization, with no grouping of 's Pauli words into commuting sets prescribed. assumption: is treated as an exact expectation value; the paper raises the "inherent quantum uncertainty" of a quantum computer's expectation values only when contrasting its numbers with a hardware run, and no shot budget enters its accounting
assumption
given H = sum_I C_I P_I on N_q qubits, the JW/BK-transformed
electronic Hamiltonian, C_I numerical, P_I Pauli words (Eq. 4-5)
pool of Pauli-word entanglers P_k, |P_k| = 2 ... N_q,
pool size 4^N_q - 3N_q - 1 (Sec. II A)
requires each P_k involutory, P_k^2 = I (Sec. II A)
# true of any Pauli word; this is what lets H[tau;P_k] below close
# after exactly two extra terms, not a truncated series
# --- QMF reference state ---------------------------------------------
|Omega> = product_i ( cos(theta_i/2)|alpha_i> + e^(i phi_i) sin(theta_i/2)|beta_i> ) (Eq. 16)
# 2 Bloch angles (theta_i, phi_i) per qubit -- 2 N_q parameters here (Eq. 15)
E_QMF = min_Omega <Omega| H |Omega> (Sec. II B, Eq. 22)
# --- rank the pool: cheap derivative tests before the costly one -----
for each P_k in pool:
d1_k = <Omega_min| -i/2 [H, P_k] |Omega_min> # dE/dtau at tau=0 (Eq. 25)
if d1_k != 0:
tier1 += P_k
else:
d2_k = <Omega_min| (1/2) P_k[H,P_k] |Omega_min> - c_k^T D^-1 c_k (Eq. A.12-13)
# relaxation-corrected second derivative -- c, D are the
# Bloch-angle cross term and Hessian at Omega_min (Eq. A.8-A.9);
# the correction accounts for Omega_min moving as tau moves off 0
if d2_k is significantly negative:
tier2 += P_k # "significant negative" -- no numeric cutoff given
shortlist = top-ranked of tier1 (by |d1_k|) union top-ranked of tier2 (by |d2_k|)
# "top entanglers in both tiers" is the paper's own phrase for this cut --
# how many survive it is left to inspection of the ranked list, not a
# fixed rule (Sec. II B)
# --- full re-optimisation, but only on that shortlist -----------------
for each P_k in shortlist:
H[tau; P_k] = H - i sin(tau)/2 [H,P_k] + (1-cos(tau))/2 P_k[H,P_k] (Eq. 20)
dE[P_k] = min_tau ( min_Omega <Omega| H[tau; P_k] |Omega> ) - E_QMF (Eq. 21-22)
# dE[P_k] <= 0 by construction
select {P_1, ..., P_Nent} = the entanglers kept from the dE[P_k] ranking
# how many are kept is likewise not fixed by the theory above -- the
# paper settles it molecule by molecule, e.g. all 6 energy-lowering
# H2 entanglers turn out redundant and only 1 is used in the end;
# for LiH near equilibrium (R~1.5 A) a few (6-7) already reach
# chemical accuracy THERE, but do not hold over the whole 0.5-5.0 A
# curve -- that takes a different, specific 7, chosen below at the
# symmetry-breaking geometry R=3.2 A (Sec. III C)
# at that symmetry-breaking geometry the same first-derivative gradient
# test (not the full two-tier test -- the paper writes out only this
# half at the constrained reference) is rerun on a spin-singlet
# CONSTRAINED QMF reference instead, whose gradient favours
# entanglers that restore the broken symmetry (Eq. 33)
# --- assemble the ansatz -----------------------------------------------
U(tau) = product_{k=1..N_ent} exp( -i tau_k P_k / 2 ) (Eq. 17)
Psi(tau, Omega) = U(tau) |Omega> (Eq. 14)
# if hardware caps entanglement at two qubits, factor any |P_k| >= 3 term:
# split P = P_1 w_k P_2, use [w_k', w_k''] = 2i w_k on the shared qubit,
# giving exp(-i t P) as a product of ~log2|P_k| two-qubit exponentials (Eq. 26-32)
# gate count only -- Psi and the parameter count below are unaffected;
# e.g. LiH's 7 entanglers factor into 31 such two-qubit terms (Sec. III C)
return Psi(tau, Omega) = U(tau)|Omega>, jointly variational in tau, Omega
-- 2 N_q + N_ent parameters total (Sec. II A)
# feeds observable-estimation: E(tau,Omega) = <Psi|H|Psi> is minimized
# jointly over both parameter sets, one estimate per energy evaluation (Eq. 18-19)Ryabinkin, Yen, Genin and Izmaylov price the QCC ansatz at variational parameters, two Bloch angles per qubit plus one amplitude per entangler (Sec. II A), with bounded only by the pool of Pauli words of length to , . Ranking is two-stage (Sec. II B): over the whole pool, one commutator expectation per entangler, (Eq. 25), and where that vanishes a second derivative (Eq. A.12); then full re-optimisation of and all Bloch angles, but only for the top entanglers of both tiers. Eq. (20) expands the Hamiltonian into three terms per entangler, so the exactly transformed holds operators, a classical expansion and not a gate count. Measured, not proved: LiH in STO-3G, reduced to a -qubit, -Pauli-term effective Hamiltonian, reaches kcal/mol with entanglers, parameters and two-qubit factors, those chosen at angstrom by an added spin-singlet constrained-QMF gradient (Eq. 33). No shot count, iteration count, optimiser or circuit depth is given.
- 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.
What would earn it a path of its own: Drawing this apart from QCC needs the map to represent a problem that CHANGES between rounds: iQCC folds each round's entanglers into the Hamiltonian by a canonical transformation, so the operator handed to round n+1 is not the one round n was given. Today a method's inputs are fixed for the whole route, and the `hamiltonian-recasting` slot that does exist recasts a problem ONCE on the way into a region rather than repeatedly inside a loop. Give the map a way to say "the same slot, on a rewritten problem, again" and this refinement has drawable internals — and so, probably, does every other method whose cost is a growing operator rather than a growing circuit.
None found yet.
Qubit coupled-cluster VQE · Qiskit
From the repository — run, not written up from a paper · unsupported
About
Qubit coupled-cluster uses Pauli-word entanglers and a product-state reference directly in qubit space.
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.
- Qubit coupled-cluster VQE
Qubit coupled-cluster uses Pauli-word entanglers and a product-state reference directly in qubit space.
References
- Qubit coupled-cluster method: A systematic approach to quantum chemistry on a quantum computer
Ilya G. Ryabinkin, Tzu-Ching Yen, Scott N. Genin, Artur F. Izmaylov · 2018
Where the routes meet
11 problems nothing else needs — the places a reader arrives. Open a line to see what is recorded inside it, or click its name to go there.
15 lines have something recorded inside that you have not opened.
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
Solve a nonlinear ODE dy/dt = F(y)
- Embed a nonlinear system into a linear one — opens into 6 · a way across — click it to open it here
- Solve a linear ODE du/dt = A(t)u + b(t) — opens into 9 · a way across — click it to open it here
- Choose a time discretization or propagator approximation → Quantum linear solve — open
- Choose a time discretization or propagator approximation — opens into 6 · a way across — click it to open it here
- Quantum linear solve — opens into 5 · a way across — click it to open it here
- Simulate Hamiltonian evolution → Estimate an observable — open
- Simulate Hamiltonian evolution — opens into 3 · a way across — click it to open it here
- Estimate an observable — opens into 4 · a way across — click it to open it here
Estimate an excited-state energy
- Variational quantum deflation — opens into 3 · a way across — click it to open it here
- Subspace-search variational eigensolver — opens into 3 · a way across — click it to open it here
- Quantum subspace expansion
- Quantum equation of motion
- Folded-spectrum variational eigensolver — opens into 3 · a way across — click it to open it here
- Penalty-constrained variational eigensolver — open · opened: what was inside is drawn in its place
- Choose a parameterised trial state — opens into 13 · a way across — click it to open it here
- Minimise the objective over the parameters — opens into 6 · a way across — click it to open it here
- Estimate an observable — opens into 4 · a way across — click it to open it here
- Multistate contracted variational eigensolver — opens into 3 · a way across — click it to open it here
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