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
Eigenstate filtering inversion
Construct the minimax-optimal polynomial that is 1 at a target eigenvalue and uniformly small outside a spectral gap, and apply it through quantum signal processing. For a linear system is the null eigenstate of a Hamiltonian built from and , so one application of the filter solves it once a starting state with non-trivial overlap is supplied.
Open the full recordFills the slot: Quantum linear solveExpand it here — a map of just this
Requires a block-encoding of the Hamiltonian, a reasonable lower bound on the spectral gap, and an initial state with non-trivial overlap with the target eigenstate. Stated for a -sparse whose singular values lie in — the theorems are about singular values, not eigenvalues. Lin and Tong give two ways of supplying the starting state, one seeded by time-optimal adiabatic evolution and one that walks a Zeno path of intermediate Hamiltonians.
An access model for — sparse row/column entry oracles, or a block-encoding; a unitary preparing ; a known upper bound on the condition number; the normalisation ; and a target state error .
Linear system Ax = b → Block-encodingBlock-encode a matrix
The sparse-access oracles , give a -block-encoding of , the oracle gives a -block-encoding of , and applying , , twice gives a -block-encoding of . The subnormalisation this hop returns is , and Theorem 3 counts the filter in applications of the block-encoding — so this is where the in the route's comes from. assumption: is -sparse with singular values in , so is an upper bound on the condition number rather than the condition number itself. assumption: the block-encoding is taken to be exact — Theorem 1' is stated for an -block-encoding, and Lin and Tong assume exactness for simplicity.
assumption
Block-encoding → Block-encoding of f(A)Matrix function
The filter is the degree- polynomial , and Lemma 2(i) shows it solves the minimax problem on — the best compression ratio of the unwanted components among all polynomials of degree up to . approximation: the spectral projector is replaced by applied to , with by Lemma 2(ii). Because is even and on , Theorem 1' implements it by quantum signal processing, and Theorem 3 gives a -block-encoding of from applications of controlled- and . assumption: is known exactly and separated from the rest of the spectrum by a gap at least , so that is separated from the rest of the spectrum of by .
approximationassumption
Block-encoding of f(A) → Solution as a statefilter out the orthogonal part
The linear system becomes an eigenvalue problem: the null space of , with , is spanned by and , and the rest of the spectrum is separated from by a gap . Along the path with that gap is bounded below by , so time-optimal AQC(p) supplies ; one application of the filter removes , and measuring the first qubit and obtaining leaves . approximation: AQC(p) is run only to constant precision, which is all requires, so its runtime never enters — and comes entirely from the error of the time-dependent Hamiltonian simulation, since AQC itself keeps the state orthogonal to . Because the filter approximates a projector, and its block-encoding needs subnormalisation only , so the success probability is already — whereas a block-encoding of requires subnormalisation at least , hence worst-case success and rounds of amplitude amplification. assumption: a lower bound on the gap along the path, that is an upper bound on , is known; is taken Hermitian positive definite here, the indefinite and non-Hermitian cases being handled by matrix dilation.
approximationassumption
A flagged state -close in to . It does not return , any entry of , or any classical functional of — those cost extra and are decided a layer above.
- Prepare an input state
Map to a state whose amplitudes are proportional to a specified vector , to within . The cost is set by which description of you hold, not by the algorithm that consumes it.
The filter is applied to a state with , supplied by an oracle ; the block-encoding of succeeds with probability at least , so oracle and filter are run on average times, and amplitude amplification would only reduce that to . For the linear system the right-hand side enters through : the Zeno route starts from itself, and the AQC route runs AQC(p) to constant precision to obtain . assumption: the starting state has non-trivial overlap with the target eigenstate, — and in the QLSP application is guaranteed, which is what turns the repetition into a constant and makes amplitude amplification unnecessary.
assumption
Lin and Tong report one run, and it is classical: §4.3 with Fig. 2 presents numerical results obtained on a classical computer, testing the AQC-seeded variant. The test matrix is a randomly generated symmetric positive definite tridiagonal matrix added to a scalar multiple of the identity and then rescaled so that the eigenvalues of lie in . The off-diagonal entries of are drawn uniformly from , each diagonal entry is the negative of the sum of the two adjacent entries in its row, and the and entries are made slightly larger so that is positive definite; the smallest eigenvalue of therefore sits very close to , and the authors chose the construction so that the condition number can be estimated with reasonable accuracy without computing eigenvalues. is drawn from the uniform distribution on the unit sphere. The initial state is prepared by running AQC(p) for with , which reaches a fidelity of about , and the filter of degree is then applied. The reported outcome is the fidelity of the resulting state: at , and alike, converges to exponentially as grows, plotted as falling steadily over degrees running to a few hundred, and the smallest reaching a fixed fidelity — the two levels shown are and — grows linearly in . Two limits of this run should be stated plainly rather than glossed. First, the matrix dimension is never given: appears only as a symbol naming the last row and column of , and no numerical value for it is stated in §4.3, in the caption of Fig. 2, or anywhere else in the paper, so none is quoted here. Second, the simulation applies the filtering polynomial to the state directly rather than compiling it, so no block-encoding, no phase sequence, no ancilla measurement and no sparse-access oracle is exercised. What Fig. 2 validates is the complexity estimate — how the filter degree has to grow with and with the target fidelity — and not a circuit.
Classical simulation · Section 4.3, Figure 2 of arXiv:1910.14596
given a block-encoding of the Hamiltonian -- for a linear system, the
Hamiltonian built from A and |b>, whose null eigenstate is |x> --
and a reasonable lower bound on the spectral gap
supply an initial state with non-trivial overlap with the target
eigenstate
# Lin and Tong give two ways of supplying it:
# (a) seeded by time-optimal adiabatic evolution
# (b) walking a Zeno path of intermediate Hamiltonians
construct the minimax-optimal polynomial that is 1 at a target
eigenvalue and uniformly small outside a spectral gap
# no degree is stated for it on this record, and no construction
apply it through quantum signal processing
# one application of the filter solves it, once a starting state with
# non-trivial overlap is supplied
# Lin and Tong's abstract states that neither algorithm uses phase
# estimation or amplitude amplification
# near-optimal O~(d kappa log(1/epsilon)) query complexity for a
# d-sparse matrix, for both variants, with kappa the condition number
# and epsilon the desired precision
# stated for a d-sparse A whose singular values lie in [1/kappa, 1], and
# the theorems are about singular values, not eigenvalues -- the filter
# is nonetheless described as being 1 at a target eigenvalue, and this
# listing leaves that where the record leaves itLin and Tong: both QLSP variants achieve the near-optimal query complexity for a -sparse matrix, where is the condition number and the desired precision. Their abstract states that neither algorithm uses phase estimation or amplitude amplification.
None found yet.
None found yet.
AQC(p)-seeded eigenstate filtering
- Optimal polynomial based quantum eigenstate filtering with application to solving quantum linear systems
Lin Lin, Yu Tong · 2019
About
The QLSP solver of §4. is -sparse with singular values in , reached through the sparse-access oracles and , and through an oracle ; the task is to produce with fidelity . What names this variant is how it supplies the starting state for the filter: time-optimal adiabatic evolution, run only to constant precision.
Methods
None found yet.
Data
Everything enters through oracles: and for sparse access to , and for . The only concrete instances put through the algorithm are the random symmetric positive definite tridiagonal matrices of §4.3, whose construction is described in the example.
Code
None found yet.
Results
Theorem 8: fidelity with success probability , flagged by an ancilla measurement outcome, using queries to , and ; other primitive gates; and qubits. Of those qubits only come from anywhere other than the block-encoding of , and they are mainly the cost of the time-dependent Hamiltonian simulation. When the oracles have gate complexity the total gate complexity, and hence the runtime, is . This is the variant the numerical test of §4.3 exercises, and that test ran on a classical computer; no simulator package and no hardware is named.
- Optimal polynomial based quantum eigenstate filtering with application to solving quantum linear systems
Zeno-path eigenstate filtering
- Optimal polynomial based quantum eigenstate filtering with application to solving quantum linear systems
Lin Lin, Yu Tong · 2019
About
The QLSP solver of §5: same input model and same target as the AQC-seeded variant, built so that no time-dependent Hamiltonian simulation is needed at all. Rather than evolving continuously from the null eigenstate of to the null eigenstate of , it traverses the eigenpath by a series of approximate projections — the quantum Zeno variant the authors take from Boixo, Knill and Somma. Performing each projection by eigenstate filtering rather than by quantum phase estimation or phase randomization is what turns the error dependence from into .
Methods
The path is cut at with the schedule , which splits into segments of equal -length; without a schedule the algorithm would carry an unfavourable square dependence on the minimum spectral gap along the eigenpath. Step 1 fixes and . Each is given a -block-encoding , and eigenstate filtering to precision turns it into a -block-encoding of the projector . Starting from , each turn applies that block-encoding and measures the ancilla qubits: all zeros advances the walk to , and any other outcome aborts and restarts from . The final turn runs the filter to accuracy instead of , and that is deliberate — the earlier turns' filtering errors affect only the success probability, while the last turn alone controls the fidelity of the output.
Data
None found yet.
Code
None found yet.
Results
Theorem 11: fidelity with success probability , using queries to , and , other primitive gates, and qubits. Only of those are extra ancillas, against for the AQC-seeded variant, precisely because nothing here does time-dependent Hamiltonian simulation. Assuming error-free projections the success probability is bounded below by , and with chosen as in Step 1 it is still bounded below by a constant. The authors say plainly that the constant factors they prove, particularly those in the success-probability estimate for this solver, are rather loose, and that tighter estimates would help an actual implementation. They also note, without carrying it out, that using fixed-point amplitude amplification to move from to would shave a further factor up to terms. No numerics are reported for this variant: the run in Fig. 2 is the AQC-seeded one.
- Optimal polynomial based quantum eigenstate filtering with application to solving quantum linear systems
Chebyshev LCU compilation of the filter
- Optimal polynomial based quantum eigenstate filtering with application to solving quantum linear systems
Lin Lin, Yu Tong · 2019
About
Named but not built, and this entry exists to record exactly that. Both solvers above compile the filter through quantum signal processing; a remark in §3 says the filtering procedure can also be implemented by alternative methods such as LCU, and gives the two numbers that would govern the swap. Nobody has run it, in this paper or in anything cited from it here.
Methods
expands exactly into the first Chebyshev polynomials, and since the -norm of the expansion coefficients is bounded above by . The price of the swap is additional qubits for the LCU expansion. Nothing beyond those two statements is given: no circuit, no query count, no gate count and no run.
Data
None found yet.
Code
None found yet.
Results
None found yet.
- Optimal polynomial based quantum eigenstate filtering with application to solving quantum linear systems
None found yet.
References
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