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
Randomized benchmarking over Clifford sequences
Apply a random sequence of Clifford gates, then the one gate that undoes all of them, and see how often the machine comes back to where it started. Lengthen the sequence and the return probability decays; the decay rate is the average error a single gate costs, and preparation and measurement errors fall out of the fit rather than contaminating it.
Open the full recordFills the slot: Measure what the machine can actually do
The protocol's shape is stated exactly: *"Generate a sequence of m + 1 quantum operations with the first m operations chosen uniformly at random from some group G ⊆ U(d) and the final operation chosen so that the net sequence (if realized without errors) is the identity operation"*, with the Clifford group chosen *"because each element of the Clifford group can be realized efficiently on a quantum processor"*. The number that comes out is a per-gate average, read off the decay: . **What "robust" means here is the paper's own contribution and it is a correction rather than a refinement:** earlier randomized benchmarking could be defeated outright — *"it is easy to show (via a counter example with gate-dependent errors that consist of the exact inverse of the gate applied) that the decay rate estimated via RB methods can be totally unrelated to the actual error-rate"* — and this analysis *"is valid for a realistic noise model admitting time-dependent and gate-dependent errors and also accounts for state preparation and measurement errors"*, requiring only that the variation across the gate set is not too strong.
A programmable device — its qubits, its native gate set, its connectivity and its measurement — plus how many circuits and how many shots you are willing to spend, and the confidence level the answer has to be established at.
Physical qubits → Number about the machinefit fidelity decay, read off error rate
Step 4 fits the averaged sequence fidelity to a device figure — a plotted decay curve in with two candidate models. assumption: the zeroth-order curve holds only when for every gate and time-step, i.e. errors are exactly gate- and time-independent, so averaging over the randomly-chosen Clifford operations twirls the noise into a single depolarizing channel. approximation: the first-order curve instead perturbs each about the gate-set mean , keeping only the linear term in ; for the time-independent-noise case of this model the truncation is justified once the spread satisfies , while noise that also varies across time-steps needs the paper's stronger per-step bound on the individual 's instead of this single scalar. Both share the decay parameter , read into the plotted average error-rate via .
approximationassumption
A number characterising the hardware, the protocol that produced it, and the statistical confidence it holds at — never an answer to a computational problem, because no computational problem was posed.
None found yet.
given a programmable device realizing the Clifford group G on n qubits (d = 2^n),
with each element efficiently compilable and its correcting inverse
efficiently pre-computable
# (p.1, "Step 1" paragraph)
K := |G|, the size of the Clifford group on n qubits
# (p.2, text around Eq. 8)
an initial state rho_psi (folding in preparation error) and a POVM
element E_psi (folding in measurement error) -- ideally
rho_psi = E_psi = |psi><psi| (Eq. 2, "Step 2")
an accuracy eps and a confidence delta for the fidelity estimate at
each sequence length m, and a range of m to sweep, with m >> 1
(paragraph after Eq. 18)
requires the noise Lambda_{i,j} may depend on the time-step j and on which
gate C_i is applied, but the environment's correlation time must be
negligible against one operation's duration -- the only structural
assumption on the noise model this protocol targets
# (p.1, paragraph after Eq. 1)
# --- Step 1: build one random length-(m+1) sequence -------------------------
draw i_1, ..., i_m independently and uniformly at random from G
# exact uniform sampling needs an exhaustive list of G, which is only
# feasible for a few qubits; for larger n, sample instead from a
# generating set G' (CNOTs on every pair, plus single-qubit H and S)
# whose compiled length b scales polynomially in n, or from the
# 2-qubit Clifford group per pair, whose b is a smaller-degree
# polynomial in n -- both are cited constructions, not proved here
# (p.4, "conclusion" paragraphs, Refs [20],[24])
C_{i_{m+1}} := the unique Clifford making the length-(m+1) sequence equal
the identity if every operation were realized without error (Step 1, Eq. 1)
S_{i_m} = compose over j = 1..m+1 of ( Lambda_{i_j,j} then C_{i_j} ) (Eq. 1)
# --- Step 2: execute the sequence once and measure survival ----------------
run the sequence on rho_psi, measure E_psi
record s := Tr[ E_psi S_{i_m}(rho_psi) ] (Step 2, Eq. 2 context)
# --- Step 3: average over k random draws at this m --------------------------
repeat Steps 1-2 for k independently-drawn sequences, where
k := ln(2/delta) / (2 * eps^2)
# (Hoeffding bound, unlabelled eq. after Eq. 18)
# proved, not fitted: this many trials suffice to put the averaged
# sequence fidelity within eps of its true value at confidence delta,
# and k does not depend on m or on the qubit count n -- but the bound
# assumes the i_1..i_m are drawn UNIFORMLY from the Clifford group
F_seq(m, psi) := mean of the k recorded s values (Step 3, Eq. 2-3)
# --- Step 4: sweep m, fit the decay ------------------------------------------
repeat Steps 1-3 at every m in the chosen range
fit { (m, F_seq(m,psi)) } to ONE of the two models below (pick one, not both):
F_seq^(0)(m,psi) = A0 p^m + B0 (Eq. 6)
# exact only if Lambda_{i,j} = Lambda for every gate and every
# time-step -- errors precisely gate- and time-independent. The
# twirl is then over the CUMULATIVE products
# D_{i_j} := C_{i_j} after ... after C_{i_1}, not over the
# single-step C_{i_j}: substituting the net identity turns the
# sequence into an m-fold gate-independent twirl
# Lambda_twirl = (1/K) sum_{i_j} D_{i_j}^dagger Lambda D_{i_j},
# which is exactly depolarizing; A0, B0 absorb state-prep and
# measurement error and an edge effect from the error on the
# final gate
# (Eq. 9 and following paragraph; paragraph after Eq. 6)
F_seq^(1)(m,psi) = A1 p^m + B1 + C1 (m-1)(q - p^2) p^(m-2) (Eq. 4)
# perturbs each Lambda_{i,j} to first order about the gate-set
# mean Lambda_bar; valid once gamma := (1/K) sum_i
# ||Lambda_i - Lambda_bar||_{1->1}^H satisfies gamma << 2/m for
# TIME-independent noise -- noise that also varies across
# time-steps needs the paper's stronger per-step bound on each
# gamma_j instead of this one scalar; this is an assumed regime,
# not something proved to hold (paragraph after Eq. 18)
# q - p^2 is this model's own measure of how gate-dependent the
# errors are; A1, B1, C1 absorb state-prep/measurement error and
# the same final-gate edge effect as A0, B0
# (Eq. 15-17; paragraph after Eq. 4)
read p off the fit that was used
return r := 1 - p - (1 - p)/d (Eq. 5)
# r averages over the Haar measure on each gate AND over the whole gate
# set G -- it is a group-average per-gate error, never a worst-case or
# single-gate figure
# (Eq. 7 and surrounding text)
# this fit is provably reliable for a general time- and gate-dependent
# noise model, PROVIDED the gate-dependence stays small enough for the
# model used above; without that qualifier RB is not automatically
# trustworthy -- a counterexample where the error on each gate is exactly
# that gate's own inverse can make an unqualified RB decay rate totally
# unrelated to the true error-rate (p.1, intro paragraph)
# gate compilation is NOT free: one length-m sequence costs mb elementary
# gates, b = poly(n) per Clifford element, once C is realized via a
# generating set rather than looked up directly
# (p.4, "conclusion" paragraphs)The paper prices two things and proves only one. Proved: by Hoeffding's inequality, estimating the averaged sequence fidelity at a single sequence length needs at most randomly drawn Clifford sequences, where is the accuracy and is what this paper itself calls the confidence; is independent of and of the qubit number , and the bound assumes uniform sampling from the Clifford group. Exhaustive averaging is ruled out instead: the group's size scales as , so the number of length- sequences scales as . Cited rather than proved here: compiling each Clifford element into generating-set gates, with polynomial in , makes one length- sequence cost elementary gates. Nothing here bounds how many distinct sequence lengths the fit itself requires.
None found yet.
None found yet.
Single-qubit numerics, four noise models
- Robust randomized benchmarking of quantum processes
Easwar Magesan, J. M. Gambetta, Joseph Emerson · 2010
About
This paper reports no hardware run. Its only demonstration of the protocol is a simulation: the abstract says the authors "illustrate the protocol through numerical examples", and the conclusion says they "numerically illustrate the relevance of both models". The experimental randomized benchmarking the introduction points at — "initial experimental implementations of RB in atomic ions for different types of traps [13, 14], NMR [15], superconducting qubits [6, 16], and atoms in optical lattices [17]" (p. 1, left column) — is cited, not performed in this Letter. What is reported is a simulated single-qubit benchmarking experiment against four constructed noise models, and its purpose is to separate the two fitting models the paper derives: to show where the zeroth-order curve (Eq. 6) suffices and where the first-order curve (Eq. 4) is needed.
Methods
The example benchmarks "a single qubit under time-independent unitary errors with no state-preparation or measurement errors". The error on each Clifford is manufactured out of the gate itself, which is what makes it gate-dependent by construction: "For each , the unitary error was constructed by finding the Hamiltonian that generates the Clifford operation via . For each , the unitary was diagonalized and to simulate the error one of the eigenvalues was multiplied by and the other by ", which the paper reads as "over/under rotations around ". (The symbol does double duty in this paper: the rotation angle here, and the confidence level in the Hoeffding bound elsewhere.) Two further models add a channel on top of that unitary error — "unitary error with depolarizing noise and unitary error with amplitude damping". Fig. 1 plots rather than itself because "we have subtracted the DC offset in the model so that pure exponentials appear as straight lines on the semilog plot", and for the two unitary cases that offset is exactly "since the noise is unital and there are no state preparation or measurement errors". **Two things a reader needs are never reported for these numerics.** The paper's own Step 3 is "Average over random realizations of the sequence", yet how many random Clifford sequences were averaged at each is not given anywhere — the Hoeffding bound is stated in this same paper, but no , no accuracy and no confidence is quoted for the simulation, so the bound describes what would suffice rather than what was run. And no software, package, language or machine is named anywhere in the Letter — that is a reporting convention rather than something the four-step protocol demands, but it is why nothing here can be re-run as written.
Data
Case A fixes the over/under-rotation angle: " (case A)". Case B draws it, " chosen uniformly at random in the range (case B)" — quoted exactly as the paper prints the interval, confirmed in a 500 dpi render of p. 3 rather than from the extracted text alone. As printed, the upper endpoint is more than ten times case A's ; this entry reproduces the paper's interval and makes no correction to it. For the other two models, "the depolarizing and damping parameters were chosen randomly in with the unitary error chosen in the same way as case A". Sequence lengths appear only in Fig. 1 and only for the two unitary cases: the numerics are plotted at — twenty-five sequence lengths per case, read off the figure by measuring the plotted points against the axis tick marks, since no sentence in the paper states a sequence-length range or list. There is no dataset here in any other sense; the inputs are the noise-model parameters above.
Code
None found yet.
Results
Table I reports the fitted decay parameter , the average error-rate — Eq. (5) ties the two, the paper writing that " determines the average error-rate according to the relation" — and the paper's own gate-dependence measure , for the four simulated noise models. Unitary A: , , . Unitary B: , , . Unitary and depolarizing: , , . Unitary and (the prose calls it amplitude damping): , , . **No uncertainty is attached to any of these** — Table I prints point values only, and no error bars appear in Fig. 1. One caveat for anyone recomputing: at Eq. (5) reproduces Unitary B's from its exactly, and the last two columns once is rounded to three decimals, but not Unitary A, whose printed implies against the the table prints; both are reproduced above exactly as the paper prints them. These are outputs of the simulation's own constructed error models, not measurements: no hardware and no simulator is named. The comparison the numbers are for splits the four cases in two. For the unitary pair, "the first order result fits the data extremely well (green line) while the zero'th order (red dashed) only approximates the sequence fidelity when the variation in is small (case A)", and in case B "the non-exponential behaviour of the average sequence fidelity is clearly visible". For the other two it runs the other way: "in both these cases the simulations are well approximated by the zero'th order solution", which the paper takes to show "that the zero'th-order randomized benchmarking model gives a robust estimate of the error-rate for a variety of error models provided that the variation in the noise is small enough". The text describes its gate-dependence measure as "much larger for case B than case A", while Table I prints both of those values as negative. Fig. 1 covers the unitary cases alone — its caption reads in full "(color online) Average sequence fidelity as a function of sequence length for a error model with unitary noise. See text for details.", the paper's own "a error model" included — so the depolarizing and damping models have no plotted decay curve, only a Table I column.
- Robust randomized benchmarking of quantum processes
Robust randomized benchmarking of quantum processes · Qiskit
From the repository — run, not written up from a paper · unsupported
About
Estimate an average error rate for a set of operations (gates) on a quantum information processor, under a noise model general enough to allow errors that depend on both the time and the gate at which they occur.
Methods
None found yet.
Data
None found yet.
Code
Qiskit
Results
Literature record · the algorithm a Classiq library entry demonstrates, checked against that algorithm's primary reference on its arXiv abs page
- Robust randomized benchmarking of quantum processes
Estimate an average error rate for a set of operations (gates) on a quantum information processor, under a noise model general enough to allow errors that depend on both the time and the gate at which they occur.
References
- Robust randomized benchmarking of quantum processes
Easwar Magesan, J. M. Gambetta, Joseph Emerson · 2010
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.
13 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
Compile a circuit to a specific device
- NISQ transpilation (retargetable pass pipeline) — open · opened: what was inside is drawn in its place
- Satisfy the hardware connectivity constraint — opens into 3 · a way across — click it to open it here
- Fault-tolerant compilation (Clifford+T pipeline) — opens into 2 · 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 — opens into 3 · 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