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
Taylor propagator, all-at-once encoding
Encode a truncated Taylor series of the propagator into a single sparse linear system approximating the whole evolution, then solve it with a quantum linear system algorithm. This is what brought the precision dependence down to polynomial in .
Open the full recordFills the slot: Solve a linear ODE du/dt = A(t)u + b(t)Expand it here — a map of just this
Stated for systems of possibly inhomogeneous linear ODEs with constant coefficients. Berry, Childs, Ostrander and Wang describe the encoding as a sparse, well-conditioned linear system, and state that unlike with finite difference methods their approach does not require additional hypotheses to ensure numerical stability. It reduces to a quantum linear solve; it does not remove that layer.
A block-encoding of with a normalization , preparation unitaries for and , the evolution time , and an error tolerance .
Linear ODE system → Linear system Ax = bChoose a time discretization or propagator approximation
Over one step of length the exact solution is replaced by , where and . approximation: stands in for and for . Lemmas 10 and 12 bound the two replacements in their unscaled form, and , so the term picks up a factor when the bound is carried to the step above. Each Taylor term becomes one row of built from the row before it, for with , and the row that closes a step sums them, . assumption: The step is short — , so — and the lemmas hold only for with , which is why Theorem 6 is stated for a diagonalizable whose every eigenvalue satisfies , with and ; its accumulated bound carries .
approximationassumption
Linear system Ax = b → Solution as a stateQuantum linear solve
The system handed down is , a matrix with and, for of sparsity , nonzero entries in any row or column; it is nonsingular because it is lower triangular with nonzero diagonal entries. Theorem 5 bounds its condition number by , which at the algorithm's parameter choice is . assumption: is diagonalizable with and for every eigenvalue, and with ; the bound is in terms of , the condition number of the diagonalizing . approximation: The solver returns a state only -close to the normalised solution, with chosen so that the extracted state is -close.
approximationassumption
A state proportional to , or a history state, together with separately stated matrix-query and initial-state-query complexity.
None found yet.
Berry, Childs, Ostrander and Wang report no run of any kind. A full-text read (2026-08-12, which moved the register row for arxiv:1701.03684 from an abstract basis to a full-text one) found no figure, no table, no worked instance with numbers, no dataset, no simulator and no hardware anywhere in the paper — the only occurrences of "simulation" are in the sense of Hamiltonian simulation. There is therefore nothing to write up, and there is no neighbouring numerical work to describe either.
given A (constant coefficients, diagonalizable A = V D V^-1, Re(lambda_i) <= 0),
b, x_in with known norms ||x_in||, ||b||, horizon T, error budget e <= 1/2,
oracles O_A for the entries of A, and controlled O_x, O_b
set h = T / ceil(T ||A||)
m = p = T/h = ceil(T ||A||)
g = max_{t in [0,T]} ||x(t)|| / ||x(T)||
delta = e / (25 sqrt(m) g) # the solver's error budget
Omega = 70 g kappa_V m^{3/2} (||x_in|| + T ||b||) / (e ||x(T)||)
k = ceil( 2 log(Omega) / log log(Omega) ) # ensures (k+1)! >= Omega
# --- time-discretization, via truncated-taylor-propagator -------------------
assemble C_{m,k,p}(Ah) x = |0>|x_in> + h sum_{i=0..m-1} |i(k+1)+1>|b>
Taylor-term rows : x_{i,j} = (Ah/j) x_{i,j-1}, 2 <= j <= k
x_{i,1} = Ah x_{i,0} + h b
step-closing row : x_{i,0} = sum_{j=0..k} x_{i-1,j}
padding rows : x_{m,j} = x_{m,j-1}, 1 <= j <= p
# sparse and well-conditioned: O(ks) nonzeros per row or column, and
# condition number O(kappa_V k m) by Theorem 5. Unlike with finite
# difference methods, no additional hypothesis is needed to ensure
# numerical stability.
repeat O(g) times, coherently -- the amplitude amplification rounds:
# --- own work: prepare the right-hand side ---
prepare |0>|x_in> + h sum_{i=0..m-1} |i(k+1)+1>|b>
# a constant number of calls to O_x and O_b, poly(log(mk)) gates
# --- quantum-linear-solve ---
solve C_{m,k,p}(Ah) x = (that state) with a QLSA, to within delta of the
normalised solution
# this route reduces to a quantum linear solve; it does not remove
# that layer
# --- own work: extract the answer ---
measure the first register in the standard basis
accept iff the outcome lies in S = {m(k+1), ..., m(k+1)+p}
# the last p+1 blocks all hold x_{m,0}, the state at time T
# one round accepts with probability at least 1/78 g^2 (p = m)
return the second register -- a state e-close to x(T)/||x(T)||, with a flag
indicating successThe complexity is polynomial in the logarithm of the inverse error, an exponential improvement over previous quantum algorithms for this problem. No matrix-query or state-preparation query count appears in the abstract; a -dependent expression often attached to this method in secondary summaries belongs to the spectral-method row of a later comparison table, so it is not reproduced here.
- Krovi's reanalysis of the all-at-once encoding
Reanalyses the all-at-once propagator encoding and shows that the norm of the matrix exponential, rather than the eigenvector condition number, characterizes the run time. It still forms a global linear system and still calls a quantum linear solver.
What would earn it a path of its own: The paper's contribution is analytic — the norm of the matrix exponential, not the eigenvector condition number, characterizes the run time — and it chooses no step of its own. Nothing in the walk differs, so a drawn path would need the map to represent analysis-level distinctions (which bound governs a lane), which it does not draw today.
None found yet.
The sparse-oracle construction of Theorem 9 (sections 2, 6 and 7)
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
Dominic W. Berry, Andrew M. Childs, Aaron Ostrander, Guoming Wang · 2017
About
The algorithm the paper states and proves as its main result. Section 1 gives the reason it was built: the earlier approach handed a linear multistep method to a quantum linear systems algorithm, and its complexity stayed even when the improved solver was substituted, because the multistep method is itself a significant source of error. Direct use of a linear combination of unitaries was considered and rejected — for general non-anti-Hermitian the best implementation the authors are aware of has an exponentially small success probability — so a truncation of the Taylor series of the propagator is encoded into a linear system instead, which the paper describes as conceptually similar to a linear combination of unitaries but with significantly better performance because the combination is built stepwise through a system of linear equations. The problem statement is Theorem 9's: is an diagonalizable matrix whose eigenvalues all satisfy , with at most nonzero entries in any row and column and an oracle computing them; and have known norms and controlled oracles and preparing states proportional to them; the output is a state -close in norm to with a flag indicating success, obtained with probability .
Methods
The parameters are all fixed in one place, the Statement of the Algorithm in section 7: , , with , and where . That choice of ensures , and because it also ensures , which is the hypothesis the conditioning and success-probability theorems need. The system built is . Its right-hand side is prepared by Lemma 8 of section 6, in three moves: a rotation on the block register that weights against , then and applied in arbitrary order, then a unitary that fixes and sends to , spreading the inhomogeneous part over the time-step blocks — a constant number of calls to and plus elementary gates. The system is solved with the linear systems algorithm of Childs, Kothari and Somma, which section 1 singles out because it avoids phase estimation and inverts the system directly by a linear combination of unitaries, giving a state within of the normalised solution. The first register is then measured in the standard basis and the outcome accepted when it lies in , the block labels that all carry . Theorem 7 with puts one round's success probability at for the exact solution vector, and Eq. (127) at once the solver's own error is carried through. rounds of amplitude amplification raise it to ; section 2 records classical repetition as the alternative to amplification.
Data
No dataset. enters only through the oracle that computes its at most nonzero entries per row and column, and the two vectors only through controlled oracles and preparing and , with both norms assumed known. Section 6 marks this input model as a deliberate change from the multistep algorithm it is compared against, which assumes and are sparse vectors whose entries are given by oracles: instead of assuming sparsity, this paper simply assumes controlled oracles that produce states proportional to the two vectors.
Code
None found yet.
Results
Counted, never run. The solve alone costs queries, using Theorem 5's bound on the condition number of at these parameters and the fact that the matrix is with nonzero entries in any row or column. With the amplification rounds, Theorem 9 gives the whole algorithm queries to , and , where , and a gate complexity larger by a factor . Section 8 argues that neither of the two parameters this is charged in can be improved much: evolution in which the state decays can be used to implement postselection, and the ability to postselect on an exponentially small amplitude would imply BQP = PP, so the dependence on is close to necessary, while Hamiltonian simulation is the special case and the no-fast-forwarding theorem then makes the dependence on optimal up to logarithmic factors. Nothing here was measured. The paper reports no numerical experiment, contains no figure and no table, and names no hardware and no simulator, so this implementation exists as a specified and analysed algorithm rather than an executed one.
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
Non-diagonalizable $A$ through a nearby diagonalizable matrix (section 8)
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
Dominic W. Berry, Andrew M. Childs, Aaron Ostrander, Guoming Wang · 2017
About
Theorem 9 assumes is diagonalizable, and section 8 states that the algorithm can nonetheless produce approximate solutions when it is not. This is the paper's own variant for that case, offered as a remark rather than as a second theorem.
Methods
Diagonalizable matrices are dense within the set of all complex matrices: for any non-diagonalizable and any there is a diagonalizable with . The construction is then run unchanged with in place of , so that Eq. (1) is simulated approximately.
Data
None found yet.
Code
None found yet.
Results
The paper states the price in the same sentence it offers the variant: this approach can yield a matrix whose diagonalizing transformation has a condition number polynomial in , so the complexity would no longer be . The variant keeps the algorithm applicable and gives up the property the paper was written for. No bound is proved for it and no numerics are reported.
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
Hamiltonian simulation as the $g = 1$ specialisation (sections 1 and 8)
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
Dominic W. Berry, Andrew M. Childs, Aaron Ostrander, Guoming Wang · 2017
About
The specialisation the paper names for itself. Section 1 opens on differential equations of the form with anti-Hermitian, and section 8 says outright that Hamiltonian simulation is a special case of this algorithm with .
Methods
The inhomogeneity is absent and the generator is anti-Hermitian, so the solution does not decay and the parameter of Eq. (111) — the quantity the success probability and the amplification rounds are charged against — takes the value one.
Data
None found yet.
Code
None found yet.
Results
The paper uses the specialisation as an argument rather than as an algorithm to run: because Hamiltonian simulation is this case, the no-fast-forwarding theorem implies that the algorithm's dependence on the evolution time is optimal up to logarithmic factors. Nothing is computed, and no separate construction is written down for it.
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
None found yet.
References
- Quantum algorithm for linear differential equations with exponentially improved dependence on precision
Dominic W. Berry, Andrew M. Childs, Aaron Ostrander, Guoming Wang · 2017
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
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