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
Level-set exact linearization
Map a nonlinear PDE exactly onto a linear one using the level-set method, with no truncation and therefore no convergence parameter. The price is a higher-dimensional linear problem.
Open the full recordFills the slot: Embed a nonlinear system into a linear one
Jin and Liu state the exact mapping for nonlinear Hamilton-Jacobi equations and scalar nonlinear hyperbolic PDEs, for arbitrary nonlinearity. Systems of conservation laws lie outside that stated scope. Because the map is exact there is no convergence condition analogous to Carleman's ; what the mapping preserves is physical observables rather than a directly readable solution vector.
, , , , and a truncation or lift parameter (Carleman truncation level , a phase-space grid, the level-set dimension, the homotopy order).
Nonlinear initial-value problem → Linear ODE systemtrack the solution as a zero level set
The lift is stated twice, once for each class the paper claims it for. For the -dimensional Hamilton-Jacobi equation in gradient form, with , the level-set function is defined by for and satisfies the linear Liouville equation from , in dimensions. For the -dimensional scalar hyperbolic equation the same device gives the linear transport equation from , in dimensions, "the only difference" being that "now instead of being a -dimensional vector". Neither lift truncates anything, so neither has a convergence parameter to mark: "no linear approximation is made. The mapping is exact", and the whole of the price is "at the expense of doubling the dimension". assumption: These two classes are the stated scope, and the paper draws the boundary itself: "this same result, however, cannot be done analytically for general nonlinear PDEs". A general nonlinear PDE is instead discretised in space first, into nonlinear ODEs with under a Lagrangian discretisation or under an Eulerian one, and only that system is given a linear representation. The solution comes back as a set rather than as a vector — , the intersection of the zero level sets — and since may have roots , every branch is kept. What the lift preserves is therefore an observable: for , Definition 11 sets , each branch weighted by the Jacobian evaluated at ; taking gives the zeroth, first and second moments — density, momentum and kinetic energy in the semiclassical setting the paper works through — and the moments of give those same physical observables in the special case . Those weights are the argument for encoding the lifted variable rather than : recovering observables from amplitudes proportional to the original solutions "requires one to inject the Jacobian factors in Definition 11 explicitly", and those factors "are not generally a priori known since they depend on the solutions of the PDE and also cannot be ignored", whereas with a level-set encoded state "these Jacobian factors are automatically taken care of".
assumption
A linear generator with any inhomogeneity, a lift map, a readout map, and an error bound as a function of the truncation parameter.
None found yet.
given a (d+1)-dimensional nonlinear PDE with M initial data, k = 1..M:
Hamilton-Jacobi in gradient form,
d_t u^[k] + grad H(u^[k], x) = 0, u^[k] = grad S^[k] in R^d
or scalar hyperbolic,
d_t u^[k] + F(u^[k]).grad_x u^[k] + Q(x, u^[k]) = 0, u^[k] in R
# 1. lift: put the solution inside the zero level set of a new function
define phi^[k](t, x, p) by phi_i^[k](t, x, p = u^[k](t,x)) = 0, i = 1..d
initial data: phi_i^[k](0, x, p) = p_i - u_i^[k](0, x) # Hamilton-Jacobi
phi^[k](0, x, p) = p - u_0^[k](x) # scalar hyperbolic
# 2. the lifted equation is linear -- exactly, for arbitrary nonlinearity
Hamilton-Jacobi: d_t phi + grad_p H . grad_x phi - grad_x H . grad_p phi = 0
# (2d+1)-dimensional
scalar hyperbolic: d_t phi + F(p) . grad_x phi - Q(x,p) d_p phi = 0
# (d+2)-dimensional, because p is a scalar here
# no truncation, and therefore no convergence parameter:
# "the price is a higher-dimensional linear problem", not an error term
# there is no analogue of Carleman's R < 1
# 3. read back
u^[k](t, x) = { p(t,x) | phi_i^[k](t,x,p) = 0, i = 1..d }
# the intersection of the d zero level sets
# phi_i^[k] = 0 may have J_k roots p_gamma: all multi-valued branches are kept
# 4. what the mapping preserves is physical observables, not a directly
# readable solution vector
<G(t,x)> = integral_{R^d} G(p) psi(t,x,p) dp
= (1/M) sum_{k=1..M} sum_{gamma=1..J_k} G(u_gamma^[k](t,x)) / J_gamma^[k]
# J_gamma^[k] = |det(d phi^[k] / d p)| at p = u_gamma^[k](t,x)
# the level-set encoding carries these Jacobian weights automatically;
# an amplitude encoding of u itself would have to inject them, and they are
# not known a priori
return the linear PDE, its initial datum, and the observable ruleStated in the abstract as complete-algorithm claims, not a standalone cost for the mapping: computing physical observables at a cost independent of , the number of initial data, for arbitrary nonlinearity; up to exponential advantage in both the dimension of the PDE and the error in computing its observables, depending on the details of the initial data; and for general nonlinear PDEs, quantum advantage with respect to in the large- limit. No closed form appears in the abstract.
None found yet.
None found yet.
None found yet.
Every paper cited here has been read in full, and none reports a run.
None found yet.
References
- Quantum algorithms for computing observables of nonlinear partial differential equations
Shi Jin, Nana Liu · 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
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