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
Hardware-efficient ansatz
Build the trial state out of the gates and couplings the machine already has, and accept whatever states that reaches. The circuit is shallow because nothing in it was chosen for the chemistry; there is correspondingly no argument that the state you want is inside the family.
Open the full recordFills the slot: Choose a parameterised trial state
Kandala et al. describe the family as "trial states specifically tailored to the available interactions in our quantum processor" — which is the definition and also the limitation, since the family is then a property of that processor rather than of the problem. Their demonstration is bounded and they state its bounds: up to six qubits, Hamiltonians "with over a hundred Pauli terms", molecules up to BeH2, and it required "a compact encoding of fermionic Hamiltonians and a robust stochastic optimization routine" alongside the ansatz itself.
The Hamiltonian whose ground state is wanted, together with whatever structure is to be respected — particle number, spin, point-group symmetry, a reference determinant — and the connectivity and native gate set of the device the family has to run on.
Hamiltonian whose eigenvalues are wanted → Parameterised circuit familyinterleave ZXZ layers with fixed entanglers
The N-qubit trial state is built from by alternating layers of single-qubit Euler rotations with a fixed entangling unitary drawn from the hardware itself: each qubit carries at depth , giving , where is generated by the processor's own drift Hamiltonian , not any operator chosen for the molecule. assumption: need only generate "sufficient entanglement" -- no specific two-qubit gate is assumed. Because the qubits start in , the first Z rotation of is dropped, leaving free angles. approximation: and the couplings in are held fixed rather than optimized, so only the Euler angles vary.
approximationassumption
A circuit family with a fixed structure and free real parameters, together with the number of those parameters — which is the size of the classical search problem handed to the next layer.
None found yet.
given N # qubit count, fixed by the encoding of the target Hamiltonian H
# upstream of this ansatz -- nothing else about H enters below
d # trial-state depth; a design choice, not computed from H --
# Algorithm 1 fixes d by hand and only increases it while E_f
# has not converged (Sec. II, Algorithm 1, steps 2, 6, 14)
U_ENT = exp(-i H_0 tau)
# generated by the processor's OWN drift Hamiltonian H_0 and
# evolution time tau (p. 2, before Eq. 2) -- both are
# controllable, set once from simulation to a concurrence-
# maximizing phase, then held fixed through the optimization,
# not chosen for, or derived from, H (p. 2-3)
requires U_ENT generates "sufficient entanglement"
# no specific two-qubit gate is assumed or required to be implemented accurately;
# contrast UCC, which needs high-fidelity gates approximating a unitary tailored
# to a theoretical ansatz (p. 3)
# the experiment happens to realize U_ENT as a sequence of cross-resonance gates,
# but that choice is not part of the construction (p. 3)
# numerical simulations found accurate optimization already holds with U_ENT fixed
# (fixed tau, fixed H_0 couplings) -- so only the Euler angles below are varied,
# not U_ENT itself (p. 3)
# --- ansatz-construction: alternate single-qubit Euler layers with the fixed entangler --
|Phi(theta)> <- |0>^(x)N # N-qubit reference state
for i = 0 to d:
for q = 1 to N:
if i == 0:
apply X(theta[q,0,2]) Z(theta[q,0,3]) to qubit q
# the first Z rotation of U(q,0) is not implemented, since the
# qubits start in |0> (p. 2, remark following Eq. 2)
else:
apply Z(theta[q,i,1]) X(theta[q,i,2]) Z(theta[q,i,3]) to qubit q
# = U(q,i)(theta), an arbitrary single-qubit Euler rotation built
# from Z and X gates (Fig. 1c, Eq. 2)
if i < d:
apply U_ENT to all N qubits
# entangles all the qubits in the circuit, not only neighboring pairs
# (p. 2)
return |Phi(theta)>
# the parameterized trial-state family handed to the energy-estimation and
# classical-optimization steps that follow (Sec. II, Algorithm 1)Kandala et al.: variational angles for qubits and entanglers — for the six-qubit BeH run at — and two energy estimates per gradient step, "regardless of the number of variables", by SPSA ( samples each; for the final energy, averaged over the last 25 updates). Sampling error is for samples per Pauli term (Eq. 14), over 4, 99 and 164 terms in 2, 25 and 44 TPB sets for H, LiH and BeH. No gate count in is given, and nothing bounds the iterations: Algorithm 1 runs "while has not converged", with , and the sample counts chosen by hand. In place of a bound, simulations (ideal gates, two angles per layer, no decoherence, 10 runs) reach chemical accuracy at depths , while decoherence and finite sampling "set the optimal depth for optimizations on our quantum hardware to entanglers"; Section VII.C measures a depolarizing noise rate of as what chemical accuracy needs at 6 and 8 entanglers on four-qubit LiH.
None found yet.
None found yet.
IBM transmon VQE: H2, LiH, BeH2
- Hardware-efficient Variational Quantum Eigensolver for Small Molecules and Quantum Magnets
Abhinav Kandala, Antonio Mezzacapo, Kristan Temme, Maika Takita, Markus Brink, Jerry M. Chow, Jay M. Gambetta · 2017
About
The experiment the ansatz was introduced for. Kandala et al. run a variational eigensolver on an IBM superconducting quantum processor, reporting in the abstract "the experimental optimization of up to six-qubit Hamiltonian problems with over a hundred Pauli terms, determining the ground state energy for molecules of increasing size, up to BeH2." The chip carries seven transmons — six fixed-frequency plus a central weakly-tunable asymmetric transmon — of which six are used, the central tunable qubit among them. Potential energy surfaces are measured for H2 on 2 qubits, LiH on 4 qubits and BeH2 on 6 qubits, all at depth d = 1, over a range of interatomic distances.
Methods
Trial states alternate layers of single-qubit Euler rotations with an entangler generated by the processor's own drift Hamiltonian, realised here as a sequence of two-qubit cross-resonance gates. Hamiltonian tomography of those gates "is used to reveal the strengths of the various interaction terms, and the gate time for maximal entanglement" — but the gates are deliberately not run at that point: the two-qubit gate time is set to 150 ns, chosen so that the corresponding gate phases "lie at the beginning of the minimal error plateaus, in order to minimize the effect of decoherence while delivering sufficient entanglement." The entangler evolution time tau is therefore fixed rather than varied, at the start of a plateau of minimal energy error that simulation locates near — but not at — maximal pairwise concurrence. Z rotations are frame changes in the control software and X rotations are amplitude-scaled calibrated X_pi pulses, at a fixed total time of 100 ns per single-qubit rotation. Energies come from correlating single-qubit Z-basis dispersive readouts after post-rotations, with the Pauli terms grouped into tensor product basis sets that share post-rotations; readout assignment errors are handled by running a readout calibration before sampling at every angle update and correcting the outcomes with it. The classical loop is SPSA, which approximates the gradient from two energy evaluations per step regardless of the number of parameters p; c = 10^-1 is used in all the experiments, and a is calibrated from an energy difference averaged over 25 random gradient directions. Alongside the depth-1 potential energy surfaces, a separate experimental optimization of the 4-qubit LiH Hamiltonian at its bond distance is run at d = 0, 1 and 2 (Fig. S9a), one experimental run per depth. The device is cooled in a dilution refrigerator anchored at 25 mK; across the six qubits Table S1 lists T1 from 20.4 +/- 4.4 to 44.4 +/- 4.9 microseconds and readout assignment errors from 0.0240 to 0.0544.
Data
Molecular Hamiltonians in the STO-3G basis, with one- and two-electron integrals obtained from the PyQuante software. H2 has 4 spin-orbitals (the spin-degenerate 1s orbitals of the two hydrogens), mapped by a binary tree encoding onto 4 qubits and reduced to 2 by removing the two spin-parity qubits. LiH and BeH2 take 1s on each H plus 1s, 2s and 2px on the heavy atom, for 8 and 10 spin-orbitals respectively; the heavy atom's two innermost 1s spin-orbitals are then assumed perfectly filled after dressing via diagonalization of the non-interacting part of the fermionic Hamiltonian, and the resulting 8 spin-orbital BeH2 Hamiltonian is parity-mapped and reduced to 6 qubits, with LiH handled the same way onto 4. After tapering the Hamiltonians carry 4, 99 and 164 Pauli terms on 2, 4 and 6 qubits, in 2, 25 and 44 tensor product basis sets, and are listed term by term at the bond distance in Table S2. The detailed optimization in Fig. 2 is BeH2 at interatomic distance l = 1.7 Angstrom; the separate depth comparison of Fig. S9a takes the 4-qubit LiH Hamiltonian at its bond distance, which that figure's panel labels 1.545 Angstrom.
Code
None found yet.
Results
The six-qubit BeH2 optimization varies 30 Euler control angles simultaneously (p = N(3d+2) at N = 6, d = 1), takes each gradient from 10^3 samples per energy estimate at the two perturbed angle sets, and reports a final energy from the angles averaged over the last 25 updates, re-estimated with a higher 10^5 samples. For all three molecules the experimental points are plotted against exact diagonalization and against density plots of 100 noisy numerical optimizations per interatomic distance; the experimental error bars are smaller than the markers, and the paper's stated result is agreement with its noise model rather than a quoted energy error — "For all the three molecules, the deviation of the experimental results from the exact curves, is well explained by the stochastic simulations." No experimental energy is reported as reaching chemical accuracy: every chemical-accuracy figure in the paper is a simulation result. Noiseless simulation puts the critical depth for chemical accuracy (approx. 0.0016 Hartree) at d = 1, 8, 28 on the experimental connectivity and d = 1, 6, 16 all-to-all, for H2, LiH and BeH2, whereas on the hardware "the combined effect of decoherence and finite sampling sets the optimal depth for optimizations on our quantum hardware to 0 - 2 entanglers." Depth buys nothing measurable here: once decoherence, finite sampling and a limited number of trial states are combined, "the advantages of using more entanglers may not be apparent anymore", and for LiH at bond distance the single-run experiments at d = 0, 1 and 2 in Fig. S9a confirm the heavy overlap that the 100-outcome simulated histograms of Fig. S9b show between those depths — an overlap the paper says "appear[s] for most of the molecular Hamiltonians." At the critical depths of Fig. S7a, and by extrapolation rather than by running the larger simulations — an average energy standard deviation A computed on 10^2 random states at S = 10^3 samples, then scaled as A -> A*sqrt(10^3/S) — chemical accuracy is reached for all three molecules at S approx. 10^6. In a separate depolarizing-noise model of the 4-qubit LiH Hamiltonian at its bond distance, run to a ceiling of 5 x 10^4 function calls with each point averaged over 10 optimizations, chemical accuracy is reached only at noise rates of about 10^-5, and among the depths tried (0, 1, 2, 3, 4, 6 and 8 entanglers) only at 6 and 8.
- Hardware-efficient Variational Quantum Eigensolver for Small Molecules and Quantum Magnets
Four-qubit Heisenberg magnet on the same device
- Hardware-efficient Variational Quantum Eigensolver for Small Molecules and Quantum Magnets
Abhinav Kandala, Antonio Mezzacapo, Kristan Temme, Maika Takita, Markus Brink, Jerry M. Chow, Jay M. Gambetta · 2017
About
The same processor and the same hardware-efficient trial states applied to a spin problem instead of a molecule: a four-qubit Heisenberg model on a square lattice in an external magnetic field, H = J sum_<ij> (X_i X_j + Y_i Y_j + Z_i Z_j) + B sum_i Z_i, where <ij> runs over nearest-neighbour pairs. The paper runs it to show "that with the same noisy quantum hardware, the advantage of using higher circuits depths is crucially dependent on the target Hamiltonian."
Methods
Four qubits, the same trial-state construction and SPSA feedback loop as the molecular runs, but with the circuit depth varied rather than held at d = 1: Fig. 4 compares d = 0 and d = 2 state preparations across a range of J/B, and Fig. S9c shows the experimental optimization at J/B = 1 for d = 0, 1, 2 and 3, one run per depth. Experimental results are compared against exact ground state energies and against density plots of 100 numerical outcomes that account for noisy energy estimation and decoherence.
Data
The four-qubit Heisenberg Hamiltonian over a range of J/B ratios, with the detailed optimizations of Fig. 4a and Fig. S9c taken at J/B = 1.
Code
None found yet.
Results
At J = 0 the ground state is completely separable and the best estimates come from depth d = 0; as J is increased the ground state is increasingly entangled and the best estimates are instead obtained at d = 2, "despite the increased decoherence caused by using two entanglers for trial state preparation." Energies and, separately, the magnetization Mz are measured over the J/B range and compared with exact curves and the 100-outcome density plots. The paper's point is the contrast against its own molecular runs, where the depth advantage washes out: "In contrast, for the interacting spin Hamiltonians discussed in Fig. 4 of the main text, significantly better estimates are obtained with d = 1, 2, 3 circuits than d = 0 circuits."
- Hardware-efficient Variational Quantum Eigensolver for Small Molecules and Quantum Magnets
Hardware-efficient VQE ansatz · Qiskit
From the repository — run, not written up from a paper · unsupported
About
Alternating native one-qubit rotations and entanglers reduce compilation overhead but can change trainability.
Methods
None found yet.
Data
None found yet.
Code
Qiskit
Results
Literature-backed method record; algorithmic scope and evidence boundary reviewed, with no benchmark run claimed.
- Hardware-efficient VQE ansatz
Alternating native one-qubit rotations and entanglers reduce compilation overhead but can change trainability.
References
- Hardware-efficient Variational Quantum Eigensolver for Small Molecules and Quantum Magnets
Abhinav Kandala, Antonio Mezzacapo, Kristan Temme, Maika Takita, Markus Brink, Jerry M. Chow, Jay M. Gambetta · 2017
Where the routes meet
Every circle is drawn once. This step has no smaller object recorded inside it, so the strands between its two circles are the recorded ways of taking it — one strand per method.
13 recorded ways of doing Choose a parameterised trial state; 11 are drawn — the other 2 are refinements with the same internals, folded into their parents' cards. Nothing smaller is recorded inside it, so there is no object in the middle to draw.
Everything on this figure that opens is open.
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
- Unitary coupled-cluster singles and doubles
- Hardware-efficient ansatz
- ADAPT-VQE adaptive ansatz
- qubit-ADAPT-VQE ansatz, a narrower version of ADAPT-VQE adaptive ansatz
- Batched ADAPT-VQE ansatz, a narrower version of ADAPT-VQE adaptive ansatz
- k-UpCCGSD ansatz
- Qubit coupled-cluster ansatz
- Particle-hole coupled-cluster circuits
- Orbital-optimized coupled-cluster circuits
- Symmetry-preserving state-preparation circuits
- Generalized singles and doubles ansatz
- Every line on this figure is one a recorded source takes.
Open the cardRead the full write-up
Where you are
Path
- Estimate an excited-state energy
- Choose a parameterised trial state
Ways through: 13
- Unitary coupled-cluster singles and doubles
- Hardware-efficient ansatz
- ADAPT-VQE adaptive ansatz
- qubit-ADAPT-VQE ansatz
- k-UpCCGSD ansatz
- Qubit coupled-cluster ansatz
- Particle-hole coupled-cluster circuits
- Orbital-optimized coupled-cluster circuits
- Symmetry-preserving state-preparation circuits
- TETRIS-ADAPT-VQE ansatz
- Iterative qubit coupled cluster
- Generalized singles and doubles ansatz
- Batched ADAPT-VQE ansatz
Routes that skip it
No recorded route avoids this step.
Narrower kinds
Nothing recorded is a narrower kind of this.
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