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
Dyson propagator, all-at-once encoding
Encode the Dyson series in a system of linear equations and solve it via the optimal quantum linear equation solver, extending the all-at-once approach to genuinely time-dependent generators.
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 time-dependent linear differential equations, with a simplified approach in the time-independent case. It reduces to a quantum linear solve. An, Childs and Lin's comparison table places truncated Dyson in the family whose initial-state-preparation cost grows with the evolution, not in the bypass family.
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
The interval is cut into steps of length and the steps become rows of one lower bidiagonal block system , row reading with the truncated Dyson propagator over that step and its driven counterpart. assumption: has non-positive logarithmic norm, which gives and is what bounds , hence . assumption: , the restriction limiting how large can be, imposed to keep the -value of the block encoding of at ; it is what fixes . Rows to hold the solution constant rather than evolving it, and with an equal number of held and evolving steps, , the condition number handed down is .
assumption
Linear system Ax = b → Solution as a stateQuantum linear solve
The assembled system is handed to the optimal quantum linear equation solver of Costa et al., whose complexity is calls to the block encodings of and , which here is . assumption: The solver's error can be taken proportional to — that is what the bound needs, and it holds because . is prepared twice inside that solver's walk step, which would square its success amplitude, so amplitude amplification boosts the preparation to first, at steps — the second factor of the constant in Theorem 4.1. An, Childs and Lin name this hop as what the route pays for: even with the optimal solver the state-preparation oracle for in is queried times, so the initial state is queried times, linearly in and .
assumption
A state proportional to , or a history state, together with separately stated matrix-query and initial-state-query complexity.
None found yet.
Berry and Costa (arXiv:2212.03544) carry no numerical work at all — no figure, no table, no computed value from the first section through the appendix, and no hardware or simulator named. An, Childs and Lin, cited beside it, do compute, but every number there measures the LCHS kernel, which is the competing route rather than this one.
given A(t) with non-positive logarithmic norm, b(t), x_0, horizon T, budget e
the parameters provided through the unitaries U_A, U_b, U_x
with known normalisations lambda_A, lambda_b, lambda_x
x_max >= max_t ||x(t)||
split [0,T] into r steps of length dt = T / ceil(lambda_A T)
# dt taken as large as lambda_A dt <= 1 allows, which is what makes r = lambda_A T
# encode the Dyson series in a system of linear equations
for each step m = 1 ... r:
V_m = W_K(m dt, (m-1) dt) # the Dyson series for the propagator, truncated at K
v_m = v_K(m dt, (m-1) dt) # the same integrals with b(t_k) in place of A(t_k)
# forming these two is this route's time discretization
assemble the lower bidiagonal block system AA X = B over R = 2r rows:
row 0 : x~(0) = x_0 # the initial condition
row m <= r : x~(m dt) - V_m x~((m-1) dt) = v_m # one row per time step
row m > r : x~(m dt) - x~((m-1) dt) = 0 # solution held constant
# the trailing rows do not evolve anything; they are there to boost the success
# probability of the final amplitude amplification
# AA is the paper's block matrix; kappa_AA = ||AA|| ||AA^-1|| = O(R) = O(lambda_A T)
prepare B, and amplitude-amplify its state preparation to amplitude Theta(1)
# B is prepared twice inside the solver's walk step; without this boost the
# success amplitude would enter squared
solve AA X = B with the optimal quantum linear equation solver
# O(kappa_AA log(1/e)) calls to the block encodings of AA and B
amplitude-amplify the component of X over rows r+1 ... R
# O(x_max / ||x(T)||) steps on average
return the state approximating |x(T)>Logarithmic dependence of the complexity on the error and derivative, with the usual exponential improvement over classical approaches in the scaling with the dimension, the solution being encoded in the amplitudes of a quantum state.
None found yet.
None found yet.
Bidiagonal block system with a Dyson-series block encoding (sections 2.1, 3.1 and 4.1)
- Quantum algorithm for time-dependent differential equations using Dyson series
Dominic W. Berry, Pedro C. S. Costa · 2022
About
The construction Theorem 4.1 is proved for, and the paper says plainly why it is not the earlier one: "We use a block matrix similar to [3], but we do not use extra lines of the block matrix to implement terms in the series as in that work. Instead we construct this matrix via a block encoding using a Dyson series, in an analogous way as the block encodings in [12, 15]." The conclusion names the payoff — this approach makes the analysis of the complexity simpler than in Berry, Childs, Ostrander and Wang, because it is not necessary to account for the extra lines in the encoding. The problem it is built for is with and an coefficient matrix of non-positive logarithmic norm, the deliverable being a state with in the Bures-Wasserstein metric, which is adopted so that an approximate state that is not pure can still be scored and which reduces to the 2-norm distance for pure states.
Methods
The block matrix of Eq. (26) is never held as a matrix. Eq. (54) splits it as the identity minus the product of an increment on the time register with a block-diagonal matrix carrying the . The increment is block encoded by incrementing the register non-modularly and using the carry qubit, so that the projection onto deletes the top row. The diagonal comes from the intermediate matrix of Eq. (55), which holds on the evolving rows and zeros on the held rows; it is built from by feeding the qubits encoding the offset together with the qubits encoding the row of the block matrix as the time input, with the number of subintervals per and both taken as powers of two so that a single ancilla qubit flags the zero block. That matrix is fed to the truncated Dyson series of Eq. (56), block encoded as in the Hamiltonian-simulation constructions of Kieferova, Scherer and Berry and of Low and Wiebe. With that series has -value , and the whole of no larger than . The right-hand side is from together with the of Eq. (59), whose block encoding is the same machinery with the innermost replaced by the preparation of , at -value below ; the composite state of Eqs. (61)-(62) is prepared and then amplitude-amplified to before the solve, because is prepared twice inside the solver's walk step and would otherwise contribute its amplitude squared. The conditioning is read off the bidiagonal structure: , and the explicit inverse of a lower bidiagonal matrix, Eqs. (30)-(31), expanded as a sum over its diagonals gives , so , and with an equal number of evolving and held steps, with , this is . The system is solved by the optimal quantum linear equation solver of Costa, An, Sanders, Su, Babbush and Berry at calls, with taken proportional to because ; the measurement that solver uses to confirm its filtering is omitted so that the final amplitude amplification over rows to can be performed jointly with the filtering, which the paper notes introduces no further factors.
Data
No dataset. The inputs are the three block encodings of Eqs. (44)-(46): with the time register as a quantum input, giving ; likewise giving , defined as a block encoding rather than a unitary preparation precisely so that can be taken independent of time even though varies; and preparing . The normalisations , , are assumed known, and so are the constants , , of Eq. (88) and of Eq. (87). The paper's reason for taking these as given rather than computed is that it may be too difficult to determine the maxima and minima required exactly.
Code
None found yet.
Results
The construction is carried as far as counted complexity and no further. Theorem 4.1 gives an average of calls to and , calls to , and additional gates, where . The gate count is stated for a fixed gate set such as Toffoli or plus Clifford rather than arbitrary-precision rotations, which the paper equates up to a constant with the usual non-Clifford count. The two factors of are the two amplitude amplifications, for extracting the final time and Eq. (95) for the preparation of , and the paper expects in practice when the solution does not decay significantly and does not vary so as to cancel. Nothing here is executed: the paper reports no numerical experiment, and names no hardware and no simulator.
- Quantum algorithm for time-dependent differential equations using Dyson series
Simplified encoding for a time-independent generator (sections 1.3, 2.2, 3.2 and 4.2)
- Quantum algorithm for time-dependent differential equations using Dyson series
Dominic W. Berry, Pedro C. S. Costa · 2022
About
The same encoding when the coefficients do not vary — the abstract's "simplified approach in the case of time-independent differential equations", which the conclusion calls a significantly simplified result for the complexity in the time-independent case. The problem is with and of non-positive logarithmic norm. It is deliberately not the encoding Berry, Childs, Ostrander and Wang gave for that same problem: there the orders of the Taylor sum occupied extra lines of the block matrix, and here, as the conclusion puts it, the block matrix has each successive line encoding a new time step, with the whole sum inside one block encoding. The paper reaches it by substituting a constant into the solution for the time-varying case.
Methods
Every collapses to the single of Eq. (40) and every to of Eq. (41), so the block matrix of Eq. (39) carries one repeated subdiagonal block. The oracles lose their time register: , with , and , all of them ordinary unitaries on one register. The block encoding proceeds through the same Eq. (54) split except that there is no need for the time integrals, so only the register holding has to be prepared, and with the Taylor series is block encoded with a factor of at least . The conditioning argument is the time-dependent one word for word, and , so again. One thing genuinely improves rather than merely simplifying: the cancellations in that force the time-dependent case to carry an amplitude-amplification factor cannot occur, because Eq. (69) gives under , putting the state-preparation success amplitude at no less than the constant , which therefore drops out of the scaling.
Data
No dataset. The inputs are the three time-independent unitaries of Eqs. (110)-(112) with known , and , together with and the constant . The bound that the time-dependent theorem needs does not appear, because no derivative of the parameters enters.
Code
None found yet.
Results
Theorem 4.2 gives an average of calls to and , calls to , and additional gates, with and standing where the time-dependent theorem writes . Two things shrink against Theorem 4.1 and the proof says which: the state preparation now succeeds with at least constant probability so that factor leaves , and no arithmetic on time registers is needed so the term leaves the gate count, though the rotations preparing the register keep the factor. As with the time-dependent case, this is a specified circuit and not an executed one: no numerical experiment, no hardware and no simulator appears in the paper.
- Quantum algorithm for time-dependent differential equations using Dyson series
None found yet.
References
- Quantum algorithm for time-dependent differential equations using Dyson series
Dominic W. Berry, Pedro C. S. Costa · 2022
- Quantum algorithm for linear non-unitary dynamics with near-optimal dependence on all parameters
Dong An, Andrew M. Childs, Lin Lin · 2023
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