Sign outOpen workspaceSign in

MethodLayer 1

Discrete adiabatic inversion

Encode the solution as the null eigenstate of a Hamiltonian path built from AA and b>|b>, follow that path with a sequence of qubitization walk operators to fixed precision, then finish with an eigenstate filter implemented as a linear combination of walk operators rather than by quantum signal processing. Costa and co-authors prove an adiabatic theorem for intrinsically discrete-time evolutions, which removes the residual log(κ)\log(κ) that continuous adiabatic treatments carried.

Takes

An access model for AA — sparse row/column entry oracles, or a block-encoding; a unitary preparing b\lvert b\rangle; a known upper bound κ\kappa on the condition number; the normalisation A1\lVert A\rVert \le 1; and a target state error ε\varepsilon.

Returns

A flagged state ε\varepsilon-close in 2\ell_2 to A1b/A1bA^{-1}\lvert b\rangle/\lVert A^{-1}\lvert b\rangle\rVert. It does not return x\lVert x\rVert, any entry of xx, or any classical functional of xx — those cost extra and are decided a layer above.

Same contract as the slot it fills.

This one, drawn

Discrete adiabatic inversionHHL: eigenvalue inversion by phase estimationQSVT matrix inversion · 3 parts inside, openQSVT matrix inversion · 3 parts inside, openQSVT matrix inversion · 3 parts inside, open — click the line to close itBlock-encode a matrix ×m · 4 ways throughBlock-encode a matrix ×m · 4 ways through — click the line to open it hereQuantum singular value transformation, an odd polynomial in 1/x · 2 parts insideQuantum singular value transformation, an odd polynomial in 1/x · 2 parts inside — click the line to open it hereQSVT matrix inversionChebyshev LCU inversionDiscrete adiabatic inversion · 3 parts inside, openDiscrete adiabatic inversion · 3 parts inside, openDiscrete adiabatic inversion · 3 parts inside, open — click the line to close itBlock-encode a matrix · 4 ways throughBlock-encode a matrix · 4 ways through — click the line to open it hereChebyshev series by linear combination of unitaries · 2 parts insideChebyshev series by linear combination of unitaries · 2 parts inside — click the line to open it hereDiscrete adiabatic inversionEigenstate filtering inversion · 3 parts insideEigenstate filtering inversion · 3 parts inside — click the line to open it hereHHL: eigenvalue inversion by phase estimation — click the name to read about itHHLQSVT matrix inversion · 3 parts inside, open — click the name to close itQSVT matrix inversionBlock-encode a matrix ×m · 4 ways through — click the name to read about itBlock-encode a matrix ×mQuantum singular value transformation, an odd polynomial in 1/x · 2 parts inside — click the name to read about itQSVT, an odd polynomial in 1/xQSVT matrix inversion — click the name to read about itapply the assembled pseudoinverseChebyshev LCU inversion — click the name to read about itChebyshev LCU inversionDiscrete adiabatic inversion · 3 parts inside, open — click the name to close itDiscrete adiabatic inversionBlock-encode a matrix · 4 ways through — click the name to read about itBlock-encode a matrixChebyshev series by linear combination of unitaries · 2 parts inside — click the name to read about itChebyshev series by LCUDiscrete adiabatic inversion — click the name to read about itwalk the eigenpath to the solutionEigenstate filtering inversion · 3 parts inside — click the name to read about itEigenstate filtering inversionLinear system Ax = b — you start hereSolution as a state — you finish hereBlock-encoding — what one part hands to the nextBlock-encoding of f(A) — what one part hands to the nextBlock-encoding — what one part hands to the nextBlock-encoding of f(A) — what one part hands to the next

Drag to pan. Pinch, or hold ctrl and scroll, to zoom. Arrow keys pan, plus and minus zoom, zero resets the view.

From Linear system Ax = b to Solution as a state

A circle is an object you are holding. This method is drawn heavier, opened into its own steps; the other lines between the same two ends are the alternatives recorded for the same slot. Circles are named on hover, and each one is a link.

5 lines here have ways through that this figure does not open. The map opens them in place. See it on the map

What it fills

  • Quantum linear solve

    Given access to a matrix AA and a unitary that prepares b>|b>, produce a flagged quantum state that is ε\varepsilon-close in l2l2 to the normalised A1bA^{-1}b. The deliverable is a state, not a classical vector.

When it applies

Needs the walk-operator (qubitization) form of access to the path Hamiltonians and a lower bound on the spectral gap along the path, which amounts to a known upper bound on κ\kappa. The authors' stated advantages are that the algorithm is simpler and easier to implement than the sub-optimal alternatives, and that the constant factors are determined, so gate counts can be worked out for a specific application.

Requires

These do not move the route along. The method needs each of them alongside its own work, and the cost of getting them is part of what the method costs.

  • Prepare an input state

    Map 00|0\ldots0⟩ to a state whose amplitudes are proportional to a specified vector bb, to within ε\varepsilon. The cost is set by which description of bb you hold, not by the algorithm that consumes it.

    This route uses the b>|b> oracle UbU_b, with Ub0>=b>U_b|0> = |b>, in two places: to prepare the initial state 0,b>|0,b>, which is the eigenvalue-zero eigenstate of H0H_0 that the walk is to carry to 0,A1b>|0, A^{-1}b>, and to build the projector Qb=INb><bQ_b = I_N - |b><b| from UbU_b and UbU_b^\dagger, which sits inside every step's block encoding of H(s)H(s). assumption: access to the oracles includes forward, reverse and controlled uses; only the reflection inside QbQ_b has to be made controlled, not UbU_b itself.

    assumption

Example

The run is a classical numerical simulation, and it covers the adiabatic half of the algorithm only: the walk is simulated and its output state compared against the ideal solution, while the filter of Section 4 is costed by formula and never executed, so every error quoted here is the adiabatic error Δ=x~x\Delta = \| |\tilde{x}\rangle - |x\rangle \| and not the final ε\varepsilon. For each condition number κ{10,20,30,40,50}\kappa \in \{10, 20, 30, 40, 50\}, Costa, An, Babbush and Berry drew 100 independent random 16×1616 \times 16 non-Hermitian matrices, used the schedule function of the 2021 paper at p=1.4p = 1.4, and measured complexity as the number of calls to the block encoding, which is the number of walk steps. Holding the step count fixed across all 100 instances at each κ\kappa, chosen so the root-mean-square error over those instances comes as close to 0.40.4 as it can without exceeding it, gives 36 steps at Δ=0.348\Delta = 0.348 for κ=10\kappa = 10, then 76 at 0.3810.381, 120 at 0.4000.400, 176 at 0.3990.399, and 232 steps at Δ=0.397\Delta = 0.397 for κ=50\kappa = 50 (Table 1). Reading that last row through T=ακ/ΔT = \alpha \kappa / \Delta is where the practical constant α=1.84\alpha = 1.84 comes from, about 1,250 times smaller than the α=2305\alpha = 2305 that this paper takes from page 16 of the published version of the 2021 work; the abstract rounds that ratio to about 1,200. The constant is not one number but a function of the target error: the same κ=50\kappa = 50 instances need 288 steps for Δ0.3\Delta \approx 0.3 and 344 for Δ0.2\Delta \approx 0.2, giving α=1.66\alpha = 1.66 and α=1.37\alpha = 1.37 (Table 3). Two application matrices from the SuiteSparse collection, both 32×3232 \times 32 and non-Hermitian, were run the same way: a directed graph (ID 168) with κ=4.041×102\kappa = 4.041 \times 10^2 reached Δ=0.398\Delta = 0.398 in 2.416×1032.416 \times 10^3 walk steps, and a circuit simulation problem (ID 1199) with κ=6.302×105\kappa = 6.302 \times 10^5 reached Δ=0.399\Delta = 0.399 in 3.980×1043.980 \times 10^4 steps (Table 2). Against the randomised solver on the same instances the walk is between 7.42 and 8.03 times cheaper on the random 16×1616 \times 16 matrices, though the comparison sets walk steps against the randomised method's total evolution time, which the authors argue lower bounds its true cost rather than equalling it. For the two SuiteSparse matrices Table 2's own ratio column gives 9.58 and 457, while the running text of Section 3.2 says 9.2 and 4.0 for those same two cases; this record transcribes both and reconciles neither.

Classical simulation · Tables 1-3 and Section 3.2 of arXiv:2312.07690

given  the walk-operator (qubitization) form of access to the path
       Hamiltonians and a lower bound on the spectral gap along the
       path, which amounts to a known upper bound on kappa

encode the solution as the null eigenstate of a Hamiltonian path built
    from A and |b>

follow that path with a sequence of qubitization walk operators to fixed
    precision
    # the record does not state how many walk operators that sequence
    # contains, only the complexity below

finish with an eigenstate filter implemented as a linear combination of
    walk operators
    # rather than by quantum signal processing

# the authors' framing is that the adiabatic route reaches near-linear
# kappa without a complicated variable-time amplitude amplification
# procedure

# O(kappa log(1/epsilon)) -- strictly linear in kappa, matching a known
# lower bound on the complexity, and also optimal in the combined
# scaling in kappa and the precision epsilon. The adiabatic theorem
# proved here is for intrinsically discrete-time evolutions, which is
# what removes the residual log(kappa) that continuous adiabatic
# treatments carried.

# the authors' stated advantages: the algorithm is simpler and easier to
# implement than the sub-optimal alternatives, and the constant factors
# are determined, so gate counts can be worked out for a specific
# application

# and yet constant factors in this family are unsettled. Numerical
# testing on random matrices reports this solver's constant factor about
# 1,200 times smaller than the published upper bound, and about an order
# of magnitude better than the randomized adiabatic approach of
# arXiv:2305.11352 -- but against the 2023 version of that work, whose
# published 2025 version postdates it. The ranking rests on a 2023
# comparison.

Cost, as the source states it

Costa, An, Sanders, Su, Babbush and Berry state a complexity of O(κlog(1/ε))O(\kappa \log(1/\varepsilon)) — strictly linear in κ\kappa, matching a known lower bound on the complexity, and also optimal in the combined scaling in κ\kappa and the precision ε\varepsilon. Their framing is that the adiabatic route reaches near-linear κ\kappa without a complicated variable-time amplitude amplification procedure.

Implementations

  • Discrete-adiabatic QLSP solver, classical simulation in MATLAB

    Built to settle a costing question rather than a correctness one. The upper bound proved from the discrete adiabatic theorem combines several separate approximations, and the constant it yields for T=ακ/ΔT = \alpha\kappa/\Delta is loose enough that the authors say it serves only for a rough estimate of the walk steps a given error needs. A competing randomised solver had been given a tighter bound and argued on that basis to be faster in practice, so both were run on the same matrices to find out what each actually costs.

    The interpolating Hamiltonian H(s)=(1f(s))H0+f(s)H1H(s) = (1-f(s))H_0 + f(s)H_1 is block encoded by selecting between block encodings of H0H_0 and H1H_1 under a one-qubit rotation R(s)R(s), and a reflection turns that into the qubitised walk operator. The non-Hermitian case doubles the dimension by embedding AA in a Hermitian matrix carrying AA and AA^\dagger off the diagonal, and uses four further ancillas beyond the one the block encoding of AA needs: one selecting between the blocks of A(f)A(f), one preparing the combination of σzI\sigma_z \otimes I and AA, one implementing QbQ_b, and one selecting between the blocks of H(s)H(s), of which the first and last count as part of the system the Hamiltonian acts on. The schedule is the family f˙(s)=dpΔ0p(s)\dot f(s) = d_p \Delta_0^p(s) of the 2021 paper, taken at p=1.4p = 1.4. Two protocols are run: for the figures the step count is raised gradually until the norm distance between the actual and the ideal state falls below the target Δ=0.4\Delta = 0.4, and for the tables a single step count is applied to all 100 instances at a given κ\kappa and chosen to bring the root-mean-square error as close under 0.40.4 as it will go. The filtering stage is not simulated at all; Section 4 costs it analytically from κln(2/εf)\kappa \ln(2/\varepsilon_f) together with the repetition factor [1δ(1εf2)]2[1-\delta(1-\varepsilon_f^2)]^{-2}, where δ=Δ2Δ4/4\delta = \Delta^2 - \Delta^4/4.

    For the random tests, 100 independently generated matrices per condition number at κ=10,20,30,40,50\kappa = 10, 20, 30, 40, 50, in dimensions 4×44 \times 4, 8×88 \times 8 and 16×1616 \times 16, in a Hermitian positive-definite family and a general non-Hermitian family; the paper reports that dimension does not significantly alter the complexity, as theory expects. How those matrices are generated is not stated in the text and lives only in the source code. For the application cases, two non-Hermitian 32×3232 \times 32 matrices from the SuiteSparse Matrix Collection of Davis and Hu, a directed graph with ID 168 and a circuit simulation problem with ID 1199, the collection recorded as accessed on 2024-10-23.

    Reference 15 of the paper is a public GitHub repository, PcostaQuantum/QLSP-via-discrete-adiabatic-method, holding MATLAB scripts; the citation points at the file Walk_error_Herm.m inside it and records access on 2025-01-24. The randomised solver used as the comparison arm has a separate repository of its own, cited as reference 17, which is code for that other method and not for this one.

    Nothing was run on quantum hardware and no quantum simulator backend is named: the reported complexity is a count of block-encoding calls read off a classical computation of the state. For non-Hermitian 16×1616 \times 16 matrices the practical constant is α=1.84\alpha = 1.84 at κ=50\kappa = 50 and a target error of 0.40.4, which the paper places about 1,200 times below the published upper bound's constant. The positive-definite case is far cheaper again, 4 to 24 walk steps across the same range of κ\kappa, which Section 4 reads as α=0.17\alpha = 0.17. The walk beats the randomised method by factors of 7.42 to 8.03 on the random non-Hermitian instances, and the scatter plots record that across every instance tested there was no case where the randomised method surpassed the walk, the maximum cost of the walk staying below the minimum cost of the randomised method at fixed condition number and matrix type. Because the walk's advantage is measured as steps against evolution time, the authors state it would grow further once the cost of implementing that time evolution is included.

  • Original construction with determined constant factors

    The paper that defines the method, and it is written to be implementable rather than only asymptotic. Costa, An, Sanders, Su, Babbush and Berry prove an adiabatic theorem for intrinsically discrete time evolutions and build the linear-systems algorithm directly on the walk operator, which is what removes the Dyson-series overhead the continuous adiabatic treatments carried. Beyond the scaling, its stated aim is to determine the constant factors in the algorithm so that complexity can be worked out in terms of gate counts for a specific application.

    Block encodings of H0H_0 and H1H_1 are combined into one of H(s)H(s), and a reflection on the ancillas turns it into the walk operator WT(s)W_T(s). The schedule obeys f˙(s)=dpΔ0p(s)\dot f(s) = d_p \Delta_0^p(s) with 1<p<21 < p < 2, and the theorems are proved at p=3/2p = 3/2. Filtering is by a linear combination of walk steps rather than by singular value processing: the window is the Chebyshev polynomial w~(φ)=T(βcosφ)\tilde{w}(\varphi) = T_\ell(\beta \cos \varphi) with β=cosh(1cosh1(1/ε))\beta = \cosh(\ell^{-1} \cosh^{-1}(1/\varepsilon)), and matching its width to the gap 1/κ1/\kappa gives κln(2/ε)\ell \le \kappa \ln(2/\varepsilon) calls to the block-encoded matrix, against 22\ell for the singular-value-processing filter. The price is one extra ancilla, two rather than one, and the advantage claimed for it is that the gate sequence is much simpler to determine than the rotation angles quantum signal processing needs.

    A Hermitian positive matrix, with the error bound evaluated as a function of the condition number and of the schedule exponent pp at a fixed number of walk steps. No instance ensemble and no matrix collection enter it: the quantity computed is an operator-norm bound, not a solution error measured over samples.

    The arXiv v1 read here publishes no source artefact and names no repository. The only published code for this solver is the MATLAB repository recorded on the other implementation.

    Its numerics measure a bound rather than a run, and this record says so plainly instead of dressing it up. Rather than taking the upper bounds on the first and second differences of the walk operator, the authors compute DR\|DR\| and D(2)R\|D^{(2)}R\| exactly to fix the coefficients c1(s)c_1(s) and c2(s)c_2(s) in their error theorem, and evaluate the resulting bound at a fixed T=5×104T = 5 \times 10^4 walk steps. The bound comes out approximately linear in κ\kappa, which is what makes the overall complexity linear in κ\kappa; at κ=40\kappa = 40 it is smallest at p=1.3p = 1.3, below the p=3/2p = 3/2 the theorems use. At p=3/2p = 3/2 the fitted bound is UT(s)UTA(s)638κ/T\|U_T(s) - U_T^A(s)\| \lesssim 638\kappa/T, about nine times smaller than the constant the corresponding theorem proves. The paper reads 638638 as needing roughly 834κ834\kappa walk steps to keep the probability on the spectrum of interest at least 1/21/2, against a filter factor ln(2/ε)\ln(2/\varepsilon) of only about 20 at an ε\varepsilon of one part in a billion, and concludes that there is over an order of magnitude between its numerics and its analytically proven scaling constants.

Where the claim is contested

Constant factors in this family are unsettled. Costa, An, Babbush and Berry (arXiv December 2023; Quantum 9, 1887 (2025)) report numerical testing on random matrices showing the discrete adiabatic solver's constant factor is in practice about 1,200 times smaller than the published upper bound, and about an order of magnitude better than the randomized adiabatic approach of arXiv:2305.11352 — but that comparison was made against the 2023 version of that work, whose published 2025 version postdates it. The ranking therefore rests on a 2023 comparison; the published Quantum version of the discrete-adiabatic benchmark still cites the 2023 preprint of the randomized solver.

What it needs

  1. Block-encode a matrix 4 methods

    Wrap an operator AA inside a larger unitary UU so that A/αA/α sits in UU's top-left block, giving every routine above it one uniform way to touch the matrix. The subnormalization αα and the ancilla count are outputs of this layer, not free parameters.

  2. Matrix function 2 methods

    Given a block-encoding of AA and a target function ff bounded on [1,1][-1,1], produce a circuit whose designated block is an ε\varepsilon-approximation of ff applied to the singular values (or eigenvalues) of AA.

Other ways to fill the same slot

Different approaches

  • HHL: eigenvalue inversion by phase estimation

    Prepare b>|b>, run phase estimation against eiAte^{-iAt} to write eigenvalue estimates into an ancilla register, apply a controlled rotation with amplitude proportional to 1/λ~1/λ̃, uncompute the estimation and post-select on the rotation ancilla. The success amplitude is about 1/κ1/κ, so the procedure is amplified O(κ)O(κ) times.

  • QSVT matrix inversion

    Block-encode AA, apply the quantum singular value transformation with an odd polynomial approximating a scaled 1/x1/x away from the origin, then amplify. Because it acts on singular values, AA need not be Hermitian or sparse — only block-encodable.

  • Chebyshev LCU inversion

    Expand an approximation of 1/x1/x in Chebyshev polynomials and implement that expansion directly through the quantum walk associated with a sparse AA, rather than through Hamiltonian simulation. Phase estimation is never used, which is what removes the poly(1/ε)\mathrm{poly}(1/\varepsilon) bottleneck.

  • Eigenstate filtering inversion

    Construct the minimax-optimal polynomial that is 1 at a target eigenvalue and uniformly small outside a spectral gap, and apply it through quantum signal processing. For a linear system x>|x> is the null eigenstate of a Hamiltonian built from AA and b>|b>, so one application of the filter solves it once a starting state with non-trivial overlap is supplied.

In the Atlas

No record in the Atlas covers this yet. The catalogue is circuits and primitives; this part of the literature is not in it.

Sources