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
Truncated Dyson series of the propagator
Truncate the Dyson series — the expansion that stands in for the propagator once the generator varies with time — and encode its terms as rows of a system of linear equations. This is what extends the all-at-once approach to genuinely time-dependent generators; solving the system those rows make up is the layer below.
Open the full recordFills the slot: Choose a time discretization or propagator approximation
Theorem 4.1 is stated for with of non-positive logarithmic norm, the equation's parameters provided through unitaries , , with known normalisations , , . No smoothness condition is required: the oracle counts are independent of derivatives of the parameters.
The generator , the interval , an error tolerance , and a target algebraic form.
Linear ODE system → Linear system Ax = bcut the time-ordered series at order K
The propagator is the time-ordered Dyson series , and the driven part is . approximation: Both sums are cut at order , giving with error , and is the order that holds it to . approximation: Each remaining time integral is then replaced by an -term sum over , costing in , with chosen so this stays below per segment — the one place derivatives of the parameters enter, and they enter only the gate count. assumption: , which is what the truncation bound is derived under. The surviving terms are the blocks , of the system; solving it is the layer below.
approximationassumption
The discrete object, its truncation-error bound, and its conditioning bound.
None found yet.
Berry and Costa (arXiv:2212.03544) are theorem and proof throughout: no figure, no table, no computed value, and no hardware or simulator named. What stands where a worked instance would be is the symbolic three-step block matrix of Eq. (19), whose entries are symbols — no generator, no inhomogeneity and no dimension is ever chosen.
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
truncate the Dyson series for the propagator at order k:
sum_{j=0..k} int ... int A(t_1) ... A(t_j) dt_j ... dt_1
over T >= t_1 >= ... >= t_j >= 0
# the expansion that stands in for the propagator once the generator
# varies with time
encode the surviving terms as rows of one system of linear equations:
for j = 1 ... k: rows for the j-th time-ordered integral, discretized
plus the rows tying the truncated propagator to the solution at T
hand the system to the layer below
# no smoothness condition is required: the oracle counts are independent
# of derivatives of the parametersBerry and Costa's Theorem 4.1 gives, for with of non-positive logarithmic norm, an average of calls to the state-preparation oracles and calls to the matrix oracle — the evolution time, the allowed error, the matrix oracle's normalisation, , and a rescaling constant the theorem bounds explicitly, growing when the solution decays. Gate counts depend on the parameters' first derivatives only through a logarithm, and on no higher derivative. That is a statement about the full algorithm, not a standalone cost for the discretization.
None found yet.
None found yet.
Block encoding of the truncated propagator by sorted time registers (section 3.1)
- Quantum algorithm for time-dependent differential equations using Dyson series
Dominic W. Berry, Pedro C. S. Costa · 2022
About
How the blocks are actually produced, which the paper flags twice as the hard part and as the point of departure from the Taylor route: the blocks are multiple integrals over time, so the block encoding is not trivial, and this is a major departure from the method for time-independent differential equations of Berry, Childs, Ostrander and Wang, where it was possible to encode the terms of the sum via extra lines in the block matrix.
Methods
The input is the intermediate matrix of Eq. (55), block diagonal with , , and so on down the evolving rows and zeros below, where indexes an offset between and ; it is obtained from the block encoding of by using the qubits encoding together with the qubits encoding the row of the block matrix as the time input, taking the number of intervals per as a power of two, and flipping one ancilla to eliminate the lower-right zeros, most easily when is also a power of two. That matrix is fed to the truncated series of Eq. (56) by the procedure of Kieferova, Scherer and Berry or of Low and Wiebe: time registers are prepared in equal superposition and sorted by a sorting network, at an optimal steps on registers of bits, so gates, and the block encoding of is used times, which is calls to the block encoding of . The register holding is prepared in unary with controlled rotations; the truncated series needs precision so each of the rotations needs , giving . Two alternatives are named and neither is adopted: the inequality-testing preparation of the time registers costs from tests on registers of bits, and the inequality-testing preparation of due to Su, Berry, Wiebe, Rubin and Babbush needs bits for similar order scaling, while an equal superposition over alone would be — but in practice the sorting approach is preferred because it gives a better constant factor. With the -value of the result is , checked twice over, once against the normalisation factor of Kieferova, Scherer and Berry's Eq. (55) and once by the paper's own rule that a block-encoded polynomial takes the same arithmetic on its -values as on its operators. is then fixed by requiring the discretisation error of Eq. (102), , to stay below per segment.
Data
No dataset. The only input is the block encoding of accepting the time register as a quantum input, with known normalisation ; the paper assumes it rather than constructing it, saying explicitly that it does not consider how it would specifically be done for a particular encoding such as sparse matrix oracles. The bound enters only through the choice of and hence only through the constant .
Code
None found yet.
Results
No numerics. What the construction yields is counted rather than run: calls to the block encoding of per block, which is where Theorem 4.1's factor in the count comes from, and gates, whose becomes the term in the theorem's gate count. Nothing is executed and no simulator or device is named.
- Quantum algorithm for time-dependent differential equations using Dyson series
Block encoding of the driven term and preparation of the right-hand side (section 3.1)
- Quantum algorithm for time-dependent differential equations using Dyson series
Dominic W. Berry, Pedro C. S. Costa · 2022
About
The other half of the same discretisation: the blocks of Eq. (59), which are the same time-ordered integrals with the innermost replaced by . The paper credits one of its improvements over the spectral method of Childs and Liu directly to this shape — the complexity in calls to block encodings of is only the factor from the linear equation solver, because is only needed once in the Dyson series solution.
Methods
The block encoding is applied in almost an identical way to the one for the propagator, except that the innermost block encoding of is replaced by the preparation of : the same preparation and sorting of time registers at gates, calls to the block encoding of and a single call to that of . With the -value is . The whole right-hand side is then assembled by Eqs. (61)-(62): a state on the time register weighting against , then the preparation of controlled on and of controlled on . The time register itself is built by a rotation on one ancilla to set the weight between and , then Hadamards on the time qubits when is a power of two (or the non-power-of-two preparation of Sanders and co-authors otherwise), CNOTs from the ancilla onto the remaining time qubits, and a modular addition of with the ancilla as most significant bit, so that the ancilla being collapses to all zeros and being gives through ; this costs for the rotation and for the rest, and is dwarfed by the rest of the procedure. The success amplitude of Eq. (63) is bounded below by with ; because the right-hand side is prepared twice inside the walk step of the linear equation solver, amplitude amplification first boosts the preparation to at the count of Eq. (65), and the amplitude, usually unknown, is estimated at the beginning at logarithmic overhead — far cheaper than the solve, which carries an extra factor of the condition number. The discretisation error of these integrals, Eq. (104), is , the first term from and the second from , and it is the only place a derivative of enters the algorithm at all.
Data
No dataset. The inputs are the block encoding of taking the time register as a quantum input with a time-independent , the block encoding of , and the unitary preparing . The quantity is treated as a given bound rather than computed; the paper remarks that if the norm of does not vary too much and there are no cancellations in the integral this is proportional to , so that with comparable to the amplitude would be at least a constant, and says it keeps the full expression only for generality.
Code
None found yet.
Results
No numerics. The construction contributes the count of calls to and in Theorem 4.1 and the second of the two factors in that theorem's constant , and it is never executed: the paper reports no numerical experiment and names no hardware and no simulator.
- Quantum algorithm for time-dependent differential equations using Dyson series
Collapse to a truncated Taylor block when the generator is constant (sections 1.3 and 3.2)
- Quantum algorithm for time-dependent differential equations using Dyson series
Dominic W. Berry, Pedro C. S. Costa · 2022
About
What this discretisation becomes when does not vary. The paper reaches it not by a separate derivation but by substituting a constant into the solution for the time-varying , and frames it as applying a similar principle to the Taylor series solution of Berry, Childs, Ostrander and Wang, except that it will encode into the block matrix in a simpler way.
Methods
The truncated propagator becomes and the driven block becomes , both independent of , with the truncation error of Eq. (18), . The block encoding proceeds exactly as in the time-dependent case except that there is no need for the time integrals, so no time registers are prepared and no sorting network is used, and only the register holding has to be prepared for the two series; with the Taylor series is block encoded with a factor of at least . The cancellation that the time-dependent driven block has to guard against cannot occur here: Eq. (69) bounds under .
Data
No dataset. The inputs lose their time register entirely: an ordinary block encoding of with normalisation , and unitary preparations of and , with now simply .
Code
None found yet.
Results
No numerics. The saving is stated rather than measured: with no arithmetic on time registers, the term disappears from the gate count of Theorem 4.2, and with the state-preparation amplitude now at least a constant, that factor disappears from the theorem's constant as well.
- 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
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) — opens into 2 · a way across — click it to open it here
- Fault-tolerant compilation (Clifford+T pipeline) — open · opened: what was inside is drawn in its place
- Approximate a continuous rotation in a discrete gate set — 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