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
k-UpCCGSD ansatz
Take k repetitions of paired double excitations together with generalized singles, instead of the full set of doubles. The point of the restriction is that the depth then grows linearly in the number of orbitals rather than polynomially, and k is the dial that buys accuracy back.
Open the full recordFills the slot: Choose a parameterised trial state
Lee et al. present it as "affordable and systematically improvable" — the second half is the role of , and the first is what the pair restriction buys. They compare against the full generalized set (UCCGSD) and the standard one (UCCSD) on classical benchmarks, and report that "-UpCCGSD is found to show the best scaling for quantum computing applications" of the three.
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 familygeneralize the singles, pair the doubles
The wavefunction is built as a -fold product of independent unitary exponentials acting on a reference determinant: (Eq. 15), where each carries its own independent set of singles and doubles amplitudes. ranges over all spin-orbitals (the paper's default index convention, stated at the top of Sec. 2), not just occupied-to-virtual. assumption: pairs the two spin-orbitals sharing a spatial orbital and moves both together into a shared spatial orbital , so the amplitude indices run over spatial, not spin, orbitals. approximation: this pair restriction discards the rest of the generalized-doubles manifold that UCCGSD keeps, buying a circuit depth that grows only as instead of , with the dial that restores the accuracy the restriction gives up.
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 Hamiltonian H on N spin-orbitals, mapped 1-1 onto N qubits (qubit count is
linear in N), eta electrons, reference determinant |phi_0>
(this paper's own benchmarks use a restricted-Hartree-Fock determinant),
and an integer k >= 1 supplied by the caller
requires each factor's amplitude set is independent of every other factor's --
# no amplitude is shared across l = 1 .. k
requires k is not fixed here by a formula in N, eta or a target error -- the paper
# only reports, after the fact, that k must be taken large enough to reach
# sub-chemical accuracy, or the energy surface loses the smoothness that makes
# it usable for tasks like scanning it ("Summary of Chemical Applications")
# --- k-fold product of independent pair-restricted unitaries -----------------
for l = 1 .. k:
draw amplitude set { t_p^q } over ALL spin-orbital pairs p, q # generalized singles
draw amplitude set { t_(iup,idown)^(aup,adown) } over occupied spatial orbitals i,
virtual spatial orbitals a # paired doubles
# iup/idown and aup/adown are the two spin components of one spatial orbital,
# not the loop index l
T1^l = (1/2) sum_pq t_p^q adag_q a_p (Eq. 12)
# p, q run over occupied AND virtual spin-orbitals alike -- 'generalized',
# not restricted to occupied-to-virtual as in ordinary UCCSD (Eq. 4)
T2^l = sum_ia t_(iup,idown)^(aup,adown) adag_aup adag_adown a_idown a_iup (Eq. 14)
# moves both spins of spatial orbital i into spatial orbital a together --
# the pCCD-style restriction that drops the rest of the generalized-doubles
# manifold UCCGSD keeps
T^l = T1^l + T2^l
U^l = exp( T^l - (T^l)^dag )
return |psi(theta)> = U^1 U^2 ... U^k |phi_0> (Eq. 15)
# Eq. 15 itself is only written Pi_(l=1)^k exp(T^l - (T^l)^dag) |phi_0> --
# no time-ordering symbol, no stated convention for which factor acts first;
# since each U^l carries an independent amplitude set the U^l's do not
# commute in general, so operator order is a real degree of freedom the
# source leaves open, not a resolved detail. Expanded here the way a Sigma
# would be read -- left to right in l -- so U^k acts on |phi_0> first and
# U^1 last; this ordering is this listing's reading, not a claim the paper
# itself makes
# theta is the full stack of k independent {singles, paired-doubles} amplitude
# sets; k is supplied here, not derived -- it is the caller's dial, not this
# construction's output
# --- circuit realization, at a fixed number of Trotter steps per U^l (Table 1) --
gate count = O(k N^2)
# total gate count is lower-bounded by the number of cluster amplitudes, and
# each factor's singles + paired-doubles amplitudes number O(N^2) (Table 1)
group each U^l's paired-doubles terms into O(N) sets of O(N) terms acting on disjoint
spin-orbitals; execute every set in parallel on a linearly-connected qubit array
# this is what reduces the O(kN^2) gate count to a shallower circuit -- it assumes
# maximal parallelization of terms on distinct spin-orbitals and neglects
# Jordan-Wigner overhead (the derivation's own stated assumption, not a
# general-purpose compiler guarantee)Circuit depth in the number of spin orbitals and the number of repetitions, as stated in the abstract, against for UCCGSD and for UCCSD with electrons. A depth for the family, not a complexity for solving the problem.
None found yet.
None found yet.
k-UpCCGSD ansatz · Qiskit
From the repository — run, not written up from a paper · unsupported
About
Repeated paired generalized doubles with generalized singles trade expressivity against shallower chemistry circuits.
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.
- k-UpCCGSD ansatz
Repeated paired generalized doubles with generalized singles trade expressivity against shallower chemistry circuits.
References
- Generalized Unitary Coupled Cluster Wavefunctions for Quantum Computation
Joonho Lee, William J. Huggins, Martin Head-Gordon, K. Birgitta Whaley · 2018
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.
15 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 — open · opened: what was inside is drawn in its place
- Choose a parameterised trial state — opens into 13 · a way across — click it to open it here
- Minimise the objective over the parameters — opens into 6 · a way across — click it to open it here
- Estimate an observable — opens into 4 · 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