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
Schrödingerisation (linear PDEs as Schrödinger equations)
A simple change of variable — the warped phase transformation, which introduces one extra variable — recasts any linear PDE or ODE system into a system of Schrödinger equations in real time, which ordinary Hamiltonian simulation then runs. The original solution is recovered from the auxiliary dimension.
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 general linear partial differential equations: unlike LCHS there is no positive-semidefiniteness requirement in order to form the Schrödinger system, and that is the structural difference between the two. The cost reappears at recovery: the original solution is read back from the warped variable, either as or pointwise as for a chosen . Worked examples include the heat, convection, Fokker-Planck, linear Boltzmann and Black-Scholes equations, with extensions to the Vlasov-Fokker-Planck equation and to the Liouville representation equation for nonlinear ODEs — which is how a nonlinear problem reaches this method. The companion technical paper does prove gate-complexity theorems — Theorem 3.1 for the general method, recorded under cost — but in step sizes and qubit counts whose -dependence is left to the discretisation scheme, so no like-for-like count against the LCHS figures is given here.
A block-encoding of with a normalization , preparation unitaries for and , the evolution time , and an error tolerance .
Linear ODE system → Hamiltonian surrogate, with the map backRecast a non-Hermitian generator as Hamiltonian evolution
For the spatially discretised system the generator "is in general not Hermitian", so is split into Hermitian parts, with and . assumption: To ensure stability, is assumed positive semi-definite — a stability assumption, not something needed in order to form the Schrödinger system, which is the difference this record already records against LCHS. The warped phase transformation is then applied to in the region, , the initial condition is extended to by , and on the new variable satisfies ; Fourier transforming in gives , "which is still a system of Schrödinger equations, one for each , since is Hermitian". approximation: That continuous family is discretised in to a single Hermitian generator, , with , . What goes down with it is the recovery map this slot's contract requires: , with the indicator of .
approximationassumption
Hamiltonian surrogate, with the map back → Circuit for e^{-iHt}Simulate Hamiltonian evolution
What the recasting hands down is , Hermitian, so this stretch is ordinary sparse-access Hamiltonian simulation: "an -sparse Hamiltonian acting on qubits can be simulated within error with queries" and additional two-qubit gates, "where and is the evolution time". assumption: Sparse access to the matrix — the black boxes and of Definition 3.1 — and a generator that does not move: "in the sequel, we assume is independent of time". The extra variable is what this stretch is charged for, through the norm parameter rather than through the dimension: the proof of Theorem 3.1 uses , which is where its comes from. approximation: In the special case where diagonalises in the momentum basis and is diagonal, the Hamiltonian system is not simulated by that route at all but solved by the first-order time splitting scheme, "as in the proof of Theorem 2.1".
approximationassumption
Circuit for e^{-iHt} → Answer about the solutioninverse Fourier transform, keep p > 0
"By applying an inverse quantum Fourier transform , with respect to p, onto the second register we obtain ", and the solution is then recovered by restricting to — as the integral , or on the state by projecting onto . assumption: Only the half-line carries u, so what survives is what that projection keeps: "a simple projection retrieves |u(t)⟩ with probability (‖u(t)‖‖exp(−p)‖/‖w(t)‖)^2 ∼ N(‖u(t)‖/‖w(t)‖)^2". Amplitude amplification with the oracle raises that to ∼√N‖u(t)‖/‖w(t)‖, at Õ(‖w(t)‖/(√N‖u(t)‖)) queries to Q. The paper also allows a pointwise recovery instead: choose any and take .
assumption
A state proportional to , or a history state, together with separately stated matrix-query and initial-state-query complexity.
None found yet.
The short paper (arXiv:2212.13969) carries no numerical test and points elsewhere for one: "For more details and numerical experiments on justifying the setup in Eq. (14), see our technical companion paper". That companion's Example 2.1 is a classical spectral solve of the one-dimensional heat equation, and it tests the warped phase transformation — the recasting — rather than this route end to end. It is written up on the `warped-phase-transformation` record, where it belongs.
given A from the spatial discretisation (in general non-Hermitian), u_0, evolution time t
# du(t)/dt = -A u(t)
split A into Hermitian parts:
A = H + i H_bar, H = (A + A^dag)/2, H_bar = i(A^dag - A)/2
# to ensure stability, H is assumed positive semi-definite
# ---- hamiltonian-recasting, via the warped phase transformation ----
introduce p > 0 and set v(t,p) = e^{-p} u(t)
extend the initial data: v(0,p) = e^{-|p|} u(0) on p in (-inf, inf)
# v then satisfies d_t v + H d_p v - i H_bar v = 0
Fourier transform in p: i d_t v~ = (eta H + H_bar) v~
# one Schrodinger equation for each eta, since eta H + H_bar is Hermitian
discretise eta: i d/dt v~ = (H (x) D + H_bar (x) 1) v~ = H_total v~
# ---- hamiltonian-simulation ----
simulate the Hermitian H_total under sparse access to it
# no linear system is assembled, and no time discretisation is chosen
# ---- this method's own stretch: read the answer back out of p ----
apply the inverse QFT F_p^{-1} on the p register to obtain |w(t)>
project onto p > 0: 1 (x) sum_{k=N/2}^{N} |k><k|
# or pointwise instead: u(t,x) = e^{p*} w(t,x,p*) for a chosen p* > 0
amplitude-amplify with Q = -S_w S_p to recover |u(t)>The companion technical paper states the general bound as Theorem 3.1: gate complexity for the spatially discretised linear system , where is the sparsity of , and count the system and auxiliary-register qubits, and is the auxiliary variable's grid step; when diagonalises in the momentum basis and is diagonal this improves to . Per-equation prices follow the same pattern — heat (Theorem 2.1), convection (Theorem 2.2), Black-Scholes (Theorem 4.1), linear Boltzmann (Theorem 4.3). All of these are deliberately stated in step sizes and qubit counts: the paper says the -dependence "is determined by the particular scheme one wishes to use", which is why no single -form figure is quoted here.
None found yet.
None found yet.
Algorithm I — diagonal Hamiltonian evolution between QFTs, under first-order splitting
- Quantum simulation of partial differential equations via Schrodingerisation: technical details
Shi Jin, Nana Liu, Yue Yu · 2022
About
The paper's own name for the cheap route, fixed in Remark 2.4: "we refer to the algorithm mentioned in [21,27] to implement as Algorithm I, where is a diagonal matrix". It is what the paper uses whenever the Schrödingerised generator can be brought to diagonal form — the heat, convection and Black-Scholes equations, and the special case of the general theorem. The two references it names for the diagonal-unitary implementation are outside this record and are not cited here.
Methods
For the heat equation the Schrödingerised generator is , and it is solved by first-order time (Trotter) splitting: one step evolves the kinetic part, diagonal in the momentum basis as , the second evolves the potential part , diagonal in the original basis, and a Fourier transform sits between them — . Each one-dimensional quantum Fourier transform costs gates and each diagonal unitary gates, with , , and . The QFT on the register is not inside the loop: it "is only performed twice".
Data
None found yet.
Code
None found yet.
Results
Gate counts, not measurements. Theorem 2.1 for the heat equation gives ; Theorem 2.2 for the convection equation gives ; Theorem 4.1 for Black-Scholes gives ; and the special case of Theorem 3.1, when diagonalises in the momentum basis and is diagonal, returns the same . Remark 3.3 adds that the splitting is unconditionally stable, so may be taken and the heat equation's count becomes . The -dependence is left open deliberately — "for the given error bound , the -dependence of these quantities is determined by the particular scheme one wishes to use" — with the heat equation's mesh strategy given as , , , and the note that the initial condition's lack of regularity "implies first-order accuracy on ". No execution is reported: no device, no simulator, no counted circuit.
- Quantum simulation of partial differential equations via Schrodingerisation: technical details
Algorithm II — sparse access Hamiltonian simulation
- Quantum simulation of partial differential equations via Schrodingerisation: technical details
Shi Jin, Nana Liu, Yue Yu · 2022
- Quantum simulation of partial differential equations via Schrodingerisation
Shi Jin, Nana Liu, Yue Yu · 2022
- Hamiltonian simulation with nearly optimal dependence on all parameters
Dominic W. Berry, Andrew M. Childs, Robin Kothari · 2015
About
The general route, imported rather than built: Lemma 3.1 is labelled "Algorithm II, Theorems 1-2 in [5]", which is Berry, Childs and Kothari's near-optimal sparse Hamiltonian simulation. It is what the paper uses when the Schrödingerised generator cannot be brought to diagonal form, and it is also the route the short paper takes for the heat equation, where the same lemma carries its Theorem 3 and Theorem 4.
Methods
The Hamiltonian to be simulated is , reached from by splitting , applying the warped phase transformation and Fourier transforming in . Access to it is the sparse-access 4-tuple of Definition 3.1, with and , where returns the column index of the -th non-zero element in row . Lemma 3.1 then simulates an -sparse on qubits within error using queries and additional two-qubit gates, with . The generator is assumed not to move: "in the sequel, we assume is independent of time", with time-dependent Hamiltonians left to other references.
Data
None found yet.
Code
None found yet.
Results
Theorem 3.1's general bound, , which this record already carries under cost, and Theorem 4.3 for the linear Boltzmann equation, whose count is assembled from two applications of the lemma. Where the auxiliary variable is charged is stated explicitly: inside the proof, and the paper's own warning that for the convection equation of §2.2, whose -derivative is second order, this "leads to as the multiplicative factor in the time complexity if Algorithm II is used". The short paper reaches the same shape from the other end, in its Theorem 3. No execution is reported for any of it.
- Quantum simulation of partial differential equations via Schrodingerisation: technical details
None found yet.
References
- Quantum simulation of partial differential equations via Schrodingerisation
Shi Jin, Nana Liu, Yue Yu · 2022
- Quantum simulation of partial differential equations via Schrodingerisation: technical details
Shi Jin, Nana Liu, Yue Yu · 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.
19 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) — open · opened: what was inside is drawn in its place
- Linear multistep method, all-at-once encoding — opens into 2 · a way across — click it to open it here
- Taylor propagator, all-at-once encoding — opens into 2 · a way across — click it to open it here
- Chebyshev spectral method, global collocation — opens into 2 · a way across — click it to open it here
- Dyson propagator, all-at-once encoding — opens into 2 · a way across — click it to open it here
- Time-marching with uniform singular value amplification — opens into 2 · a way across — click it to open it here
- LCHS — linear combination of Hamiltonian simulation — opens into 3 · a way across — click it to open it here
- Schrödingerisation (linear PDEs as Schrödinger equations) — opens into 3 · 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