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
LCHS — linear combination of Hamiltonian simulation
Express a general non-unitary evolution operator as a linear combination of unitary evolution operators, each of which solves a Hamiltonian simulation problem, rather than converting the problem into a dilated linear system. An, Liu and Lin state that the method can achieve optimal cost in terms of state preparation.
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
Requires the decomposition with the Hermitian part, and throughout the interval. Without a shift it does not apply when the Hermitian part has a negative eigenvalue anywhere on the interval — this is a real restriction, and the analogue at the linear layer of Carleman's dissipativity requirement. It does not rely on converting the problem into a dilated linear system problem, or on the spectral mapping theorem that underpins QSVT-based approaches, which is what substantiates the bypass rather than merely asserting it.
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
The route hands the recasting slot the split , with and , and receives back Theorem 1's identity — an exact equality between the non-unitary propagator and a Cauchy-weighted integral of unitary ones. assumption: Theorem 1 assumes for all ; the paper adds that this "can always be satisfied without loss of generality" by the substitution , which moves the generator to with the minimum over of the smallest eigenvalues of . With a source term present the same kernel carries the inhomogeneous part: by Duhamel's principle the solution also picks up .
assumption
Hamiltonian surrogate, with the map back → Circuit for e^{-iHt}Simulate Hamiltonian evolution
What reaches the simulation slot is one time-dependent Hamiltonian simulation problem per quadrature node: , whose generator is Hermitian for every real . approximation: The -integral is first truncated to , whose remainder is so that , then discretized by a trapezoidal rule at nodes with weights and coefficients , needing points. approximation: Each is then replaced by a -th order product formula with the same number of steps for all , whose error is and which therefore fixes . The family is indexed coherently rather than built one circuit at a time — the select oracle costs queries to — but the truncation is paid for in depth: "the spectral radius of the Hermitian part needs to be multiplied by a factor up to the frequency cutoff ", with from the kernel's quadratic decay, which "increases the maximal circuit depth by a factor ".
approximation
Circuit for e^{-iHt} → Answer about the solutioncombine by LCU, keep the flagged branch
The simulated unitaries are combined by LCU: a prepare pair loads the quadrature weights onto an ancilla register and a select oracle indexes the family, so that W block-encodes on the all-zeros branch. assumption: "The final step is to measure all the ancilla registers, and if all the outcomes are 0, then the resulting state approximately encodes the solution of the ODE" — that outcome is the flag every theorem in the paper refers to. One shot succeeds with probability (‖T|ψ⟩‖/‖α‖_1)^2, and amplitude amplification raises it to at O(‖α‖_1/‖T|ψ⟩‖) queries. The paper gives a second ending the map does not draw: a hybrid implementation that estimates by a Hadamard test and amplitude estimation, and performs the summation classically by Monte Carlo sampling.
assumption
A state proportional to , or a history state, together with separately stated matrix-query and initial-state-query complexity.
None found yet.
An, Liu and Lin's contribution is analytical throughout: Theorem 1 is the kernel identity, Theorems 2 and 3 are query-complexity theorems and Theorem 9 is a sampling-complexity theorem for the hybrid variant. A full-text read including the Supplemental Materials found no numerical experiment, no simulator and no hardware run. The improved-kernel paper cited under Refinements does carry numerics, but they measure that kernel's truncation and belong to `lchs-improved-kernel`.
given A(t) = L(t) + iH(t) with L(t) >= 0 on [0,T], b(t), u_0, tolerance eps
O_prep : |0> -> |u_0>
O_L(s,tau) = e^{-iL(tau)s}, O_H(s,tau) = e^{-iH(tau)s}
O_coef : |0> -> (1/sqrt(||c||_1)) sum_j sqrt(c_j) |j>
O_b : |j'>|0> -> |j'>|b(s_j')>
# 1. truncate and discretize the k-integral of the LCHS identity
K = c/eps # remainder pi - 2 arctan K = O(1/K) = O(eps)
k_j = -K + 2jK/M, w_j = (2 - 1_{j=0,M}) K/M, c_j = w_j / (pi (1 + k_j^2))
M = O(||L|| T / eps^2) # trapezoidal-rule error
# 2. each surviving term is one Hamiltonian simulation problem
# U_j(T) = T exp(-i int_0^T (H(s) + k_j L(s)) ds)
# implemented by a p-th order product formula with the SAME step count r for all j
# 3. homogeneous part, by LCU
apply O_coef (x) O_prep
for l' = 0 ... r-1:
for l = 0 ... Xi_p - 1:
apply SEL_L(alpha_l T/r, (l'+gamma_l) T/r) # sum_j |j><j| (x) e^{-iL(tau) k_j s};
# O(log M) queries to O_L
apply O_H(beta_l T/r, (l'+delta_l) T/r)
apply O_coef^dagger on the ancilla register
# 4. inhomogeneous part: the same construction over a two-dimensional trapezoidal
# rule in (k,s), with O_b loading |b(s_j')>
# 5. combine the two with one extra ancilla qubit and a single-qubit rotation
# (an outer LCU)
# 6. measure ALL the ancilla registers; if every outcome is 0 the state
# approximately encodes u(T). One shot succeeds with probability
# (||T|psi>|| / ||alpha||_1)^2; amplitude amplification raises it to Omega(1)
# at O(||alpha||_1 / ||T|psi>||) queries.An, Liu and Lin price the solver in Theorem 2, for the implementation combining LCU with a -th order product formula: queries to the input models of and , where collects the sizes of the first derivatives of and , together with queries to the state-preparation oracle and the source input. The second count is the title's claim: it matches the lower bound the paper cites, so no differential-equation solver can query the initial state fewer times. The matrix-query count is not optimal, and the paper says why: the Cauchy kernel decays only quadratically, forcing the truncation and an extra factor of circuit depth — the limitation the improved kernel recorded under Refinements was built to remove.
- LCHS with the improved kernel
A family of identities expressing non-unitary evolution as a linear combination of unitary evolutions, built on the kernel with and . The kernel decays at a near-exponential rate , replacing the original Cauchy kernel's quadratic decay and exponentially enhancing accuracy.
What would earn it a path of its own: The change lives upstream of any drawn hop — in the kernel, the quadrature feeding it, and the inner propagator per simulated evolution (this node's own hop note quotes the paper on exactly that). A granular decomposition of the recast and simulate steps would give those choices drawable homes; until that mapping is researched, this stays a section entry and a potential path.
None found yet.
Coherent LCU with a $p$-th order product formula
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Dong An, Jin-Peng Liu, Lin Lin · 2023
About
The paper's own "simplest implementation of LCHS", and the one Theorem 2 prices. It solves Eq. (1), with , by preparing the solution directly in a quantum register rather than reading an observable off it: the linear combination "can also be coherently implemented to prepare the solution directly in a quantum register and to reduce the complexity", and it is in this case that the authors claim the cost of LCHS is optimal in terms of state preparation, which they say is useful when the initial state is difficult to prepare. The Implementation section frames the choice as one of several — LCHS "can be implemented in a gate-efficient way by combining LCU with any Hamiltonian simulation algorithms" — and this entry is the product-formula option; the truncated Dyson series option is the interaction-picture entry beside it.
Methods
The -integral of Theorem 1 is first truncated to and discretized by a trapezoidal rule on grid points , with weights and coefficients . Each surviving propagator is then implemented by a -th order product formula with a fixed number of steps shared by all , which is Eq. (8): with , where is the number of exponentials in the product formula, and are its coefficients, and and fix the discrete times at which the time-dependent Hamiltonians are evaluated. The circuit is the standard LCU: apply , then apply and in sequence for and , and finally on the ancilla register. The family is indexed rather than enumerated: from the binary representation of , the select oracle is built with queries to . The source term is handled by the same Trotterization and LCU over a multidimensional trapezoidal rule in and , with coefficients , and . The two parts are joined by appending one extra ancilla qubit, preparing both states controlled on it, and running LCU again at the outer loop with a single-qubit rotation. All ancilla registers are then measured, and the all-zeros outcome is the flag: "if all the outcomes are 0, then the resulting state approximately encodes the solution of the ODE". For the special case the paper simplifies the same implementation — the coherent encoding of the time evolution is no longer needed, the select oracles can be constructed from and at cost, and improves to commutator scalings between and .
Data
Stated against oracles rather than a data set. The state preparation oracle is ; the Hamiltonian simulation oracles are for and for ; the LCU coefficient oracle is . With a source term present the evolution times of the different Hamiltonians vary, so the input models are assumed to encode evolutions of different lengths coherently: and the matching for , with the source itself entering as . The paper states that all of these oracles are an extension of the time-dependent encoding proposed by Low and Wiebe.
Code
None found yet.
Results
What came out is Theorem 2, and no execution. The theorem states that the algorithm prepares an -approximation of with success probability and a flag indicating success. Its two query counts are quoted in this record's cost field; the two counts that are not are ancilla qubits, with , and additional one-qubit gates. The authors attribute the small state-preparation count to the fact that each run of the LCU procedure only requires uses of such oracles, so that the overall complexity relates only to the success probability. No instance of this implementation was run: the paper names no simulator and no hardware, reports no numerics, and its only figure is the contour used to prove Lemma 4. The Discussion names the implementation's own limitation instead, that the spectral radius of the Hermitian part is multiplied by a factor up to the frequency cutoff , which "increases the maximal circuit depth by a factor ".
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Hybrid quantum-classical estimation of observables
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Dong An, Jin-Peng Liu, Lin Lin · 2023
About
The ending for a reader who wants an observable rather than the state, and the one the authors put forward for early fault-tolerant machines: the linear combination "can be implemented in a hybrid quantum-classical fashion to compute observables related to the solution, using a small amount of quantum resources". Because each is unitary, an observable of the solution splits into correlation functions, which is Eq. (6): . The quantum computer therefore never has to hold the whole linear combination at once, and the same expression is available for the inhomogeneous case. This is the second ending the atlas records but does not draw as a route.
Methods
The quantum computer evaluates the correlation functions by the non-unitary Hadamard test together with amplitude estimation, and the summation is performed on a classical computer by Monte Carlo sampling. The non-unitary Hadamard test is the ordinary one — an ancilla qubit, a Hadamard gate, a controlled operation, a second Hadamard gate, and a measurement whose probability of outcome 0 carries the real part — with the controlled unitary replaced by the controlled block encoding of the non-unitary target; the imaginary part follows with a slight modification. Here the target is assembled as an -block-encoding of by multiplying , and with additional ancilla qubits. The classical loop has three steps: for each sample a pair independently with probability ; estimate by the non-unitary Hadamard test and call the successful estimator ; then report with . If there were no error in implementing or in the Hadamard test, would be exactly ; the implementation error is absorbed by taking , and the sampling error is bounded by Hoeffding's inequality. The estimate is of the possibly unnormalized , which the paper calls the natural setup for classical non-unitary dynamics; estimating for the normalized solution instead means dividing by , which tightens the tolerance to and needs a separate algorithm to estimate when it is not known in advance.
Data
Again oracles rather than a data set: the state preparation oracle of , a unitary that is an -block-encoding of the observable with , and a quantum circuit approximating with error smaller than for any . The sampling distribution is the quadrature's own coefficient vector with : these are all positive reals, they satisfy , and because they come from the numerical approximation of .
Code
None found yet.
Results
What came out is Theorem 9, and no execution. Choosing , the procedure estimates to precision with probability at least ; the number of samples is and each circuit with sampled value uses queries to , and . The authors add that the final complexity in terms of the input models for still depends on how is actually implemented, so a low-order method such as the first-order Trotter formula introduces extra overhead, while a high-order Trotter formula or the truncated Dyson series method makes it almost linear in , and certain norms of with dependence. In the worst case the circuit's query complexity is still almost linear in , but they remark that on average that dependence improves, because a circuit with larger and is sampled with a probability that decays quadratically as . No instance of this hybrid procedure was run: Supplemental §IV is a proof section, and the paper reports no numerics anywhere.
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Interaction-picture LCHS with a complex absorbing potential
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Dong An, Jin-Peng Liu, Lin Lin · 2023
About
The paper's application, and the source of the abstract's claim of "near-optimal dependence on all parameters". Problems in quantum dynamics such as molecular scattering, photodissociation and nanotransport are defined in an infinite space, and replacing that space by a finite box can introduce significant errors along extended dimensions, so boundary conditions have to be designed to balance accuracy against cost. In its simplest form the complex absorbing potential method, widely used in quantum chemistry, replaces the real potential by a complex one, and the time-dependent Schrödinger equation becomes Eq. (10), , where is the real time-dependent external potential and is the absorbing potential, which can often be chosen time-independent and can be taken bounded and non-negative; the minus sign reflects that it damps. The discussion is confined to single-particle dynamics for simplicity, and the authors say the formulation generalizes to multi-particle dynamics and to other boundary treatments such as the perfectly matched layer method. The regime of interest is before the scattering wave leaves the region of interest, so that is not too small — a condition also satisfied when is a near-resonance state.
Methods
The spatial variable is discretized on equidistant grid points with the Laplace operator taken by the central difference formula, which puts the problem in the form of Eq. (1) with Hermitian part , of norm , and non-Hermitian part , a time-independent positive semi-definite matrix. Because can be fast-forwarded, in the sense that it can be performed at a cost independent of , and , the Hamiltonian simulation is carried out in the interaction picture with the truncated Dyson series method, which avoids the overhead the cutoff otherwise brings: the derivative of still scales linearly in , but the cost of the truncated Dyson series method scales only logarithmically with respect to that derivative. The identity becomes Eq. (11), with , and is implemented directly by LCU. In the proof, is diagonal, so is constructed fast-forwardly with a single use of for any , and with queries to it. A HAM-T oracle block encoding over each interval costs uses of , with and the number of grid points per step of the truncated Dyson series method. Conjugating it by the two select oracles, , gives the input model of at queries to and . Low and Wiebe's Corollary 4 then yields a select oracle with , and is the select oracle of the LCU step. Splitting the final error into a quadrature part and a simulation part fixes and , and amplitude amplification then needs repeats to reach a success.
Data
The oracles are and the sparse input oracle , where and encode discrete indices after spatial discretization and may vary on different sub-intervals, together with the state preparation oracle for the initial condition. Both potentials enter as data through those oracles rather than as matrices: and are diagonal, and after spatial discretization is tridiagonal with diagonal entries and off-diagonal entries .
Code
None found yet.
Results
What came out is Theorem 3, and no execution. The algorithm prepares an -approximation of with success probability and a flag indicating success, using queries to and and queries to , where . The authors describe this as achieving near-optimal scaling in all parameters, and remark that the result also holds in the more general case where is an arbitrary time-dependent Hamiltonian and is a time-independent fast-forwardable Hamiltonian. The Discussion states the price this variant charges in exchange: Hamiltonian simulation in the interaction picture "may be difficult to implement", and the authors name a fast-decaying replacement for the kernel as the more desirable solution — the direction the improved-kernel record beside this one took. Nothing was run here either: Supplemental §VIII is the proof of Theorem 3 and reports no numerics.
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Linear combination of unitaries · Qiskit
From the repository — run, not written up from a paper · native
About
A block-encoding primitive that turns a weighted sum of unitary operations into one larger unitary circuit.
Methods
None found yet.
Data
None found yet.
Code
Qiskit
Results
Two-term PREPARE–SELECT–unprepare circuit checked on a one-qubit target · success branch and coefficient normalization recorded
- Linear combination of unitaries
A block-encoding primitive that turns a weighted sum of unitary operations into one larger unitary circuit.
References
- Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost
Dong An, Jin-Peng Liu, 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