Sign outOpen workspaceSign in

MethodLayer 1

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.

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

HHL: eigenvalue inversion by phase estimationHHL: 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 insideDiscrete adiabatic inversion · 3 parts inside — click the line to open it hereEigenstate 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 — click the name to read about itDiscrete adiabatic inversionEigenstate 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 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.

4 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

AA Hermitian (the general case is reduced by dilation), ss-sparse with efficient entry oracles, A1‖A‖ \approx 1 with the relevant spectrum in [1/κ,1][1/\kappa, 1], κ\kappa known or upper-bounded, and b>|b> preparable in poly(logN)\mathrm{poly}(\log N) time. Only the well-conditioned part of b>|b> is inverted; the ill-conditioned part is flagged and discarded. The eigenvalue reciprocal is realised by phase estimation plus a conditional rotation, so no polynomial approximation and no phase sequence are ever computed. The paper's own headline comparison is for the case where a summary statistic xMxx†Mx is wanted, not xx itself.

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 runs O(κ) times — once per amplification round

    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.

    The loop stays coherent: nothing is measured between turns. The preparation may still be reapplied every turn — what the loop never pays is a readout and a restart from classical data. The price is depth, and a success probability that multiplies down the chain. The rotation ancilla carries a success amplitude of about 1/κ, so the whole prepare-estimate-rotate-uncompute block is amplified O(κ) times and |b⟩ is prepared afresh inside every one of them. This is where one of the two κ factors in Õ(log(N) s² κ²/ε) comes from, and it is the reason the state-preparation query count is a headline number for this family rather than a footnote: a route whose |b⟩ is expensive pays for it κ times here and once in the all-at-once encodings.

    b=jβjuj|b\rangle = \sum_j \beta_j |u_j\rangle is produced by an efficiently implementable unitary BB applied to initial|\mathrm{initial}\rangle, whose gate count is TBT_B. BB and BB^\dagger sit inside the amplification iterate UinvertBRinitBUinvertRsuccU_{\mathrm{invert}} B R_{\mathrm{init}} B^\dagger U_{\mathrm{invert}}^\dagger R_{\mathrm{succ}}, so b|b\rangle is prepared afresh in each of the O(κ)O(\kappa) rounds and appears in the run-time O~(κTB+κ2s2log(N)/ε)\tilde{O}(\kappa T_B + \kappa^2 s^2 \log(N)/\varepsilon) as the term κTB\kappa T_B. assumption: nothing beyond efficient implementability is assumed of BB — it may produce b|b\rangle "possibly along with garbage in an ancilla register" — and the possibility that BB errs in producing b|b\rangle is neglected, since without another way of producing or verifying b|b\rangle there is no way to mitigate those errors, so any error there translates directly into error in the final x|x\rangle.

    assumption

  • Simulate Hamiltonian evolution runs O(κ) times — once per amplification round

    Implement eiHte^{-iHt} to error ε\varepsilon given some access model for HH. It is an application in its own right and also the engine inside phase estimation and several linear-system solvers.

    The loop stays coherent: nothing is measured between turns. The preparation may still be reapplied every turn — what the loop never pays is a readout and a restart from classical data. The price is depth, and a success probability that multiplies down the chain. Inside the same amplified block as the preparation above: phase estimation runs against e^{-iAt} with t_0 = O(κ/ε), and that whole estimation is repeated by the amplification. The two κ's compose, which is the second factor in Õ(log(N) s² κ²/ε).

    The conditional Hamiltonian evolution τ=0T1ττeiAτt0/T\sum_{\tau=0}^{T-1} |\tau\rangle\langle\tau| \otimes e^{iA\tau t_0/T} is applied to Ψ0b|\Psi_0\rangle |b\rangle and the first register is Fourier transformed, giving j,kαkjβjkuj\sum_{j,k} \alpha_{k|j}\beta_j |k\rangle |u_j\rangle, in which αkj|\alpha_{k|j}| is large if and only if λj2πk/t0=:λ~k\lambda_j \approx 2\pi k/t_0 =: \tilde{\lambda}_k. For ss-sparse AA and tt0t \le t_0 this costs TH=O~(log(N)s2t0)T_H = \tilde{O}(\log(N)s^2 t_0) to error εH\varepsilon_H, and with t0=O(κ/ε)t_0 = O(\kappa/\varepsilon) the amplification repeats the whole estimation O(κ)O(\kappa) times. approximation: the eigenvalues are replaced by the phase estimates λ~k=2πk/t0\tilde{\lambda}_k = 2\pi k/t_0; phase estimation is "the dominant source of error", erring by O(1/t0)O(1/t_0) in estimating λ\lambda, which translates into a relative error of O(1/λt0)O(1/\lambda t_0) in λ1\lambda^{-1}, so for λ1/κ\lambda \ge 1/\kappa taking t0=O(κ/ε)t_0 = O(\kappa/\varepsilon) induces a final error of ε\varepsilon. assumption: AA is ss-sparse and efficiently row computable — at most ss nonzero entries per row, computable in time O(s)O(s) given a row index — and this is the only step of the algorithm where sparsity of AA is required.

    approximationassumption

  • Amplify a success branch

    Take a routine whose output lands in the wanted subspace only with probability aa, and raise that probability to near 1 using quadratically fewer repetitions than restarting the routine would need.

    Measuring the flag register SS after UinvertU_{\mathrm{invert}} and obtaining the outcome 'well' has approximately applied an operator proportional to A1A^{-1}, with success probability p~\tilde{p}; rather than repeating 1/p~1/\tilde{p} times, amplitude amplification obtains the same result in O(1/p~)O(1/\sqrt{\tilde{p}}) repetitions of UinvertBRinitBUinvertRsuccU_{\mathrm{invert}} B R_{\mathrm{init}} B^\dagger U_{\mathrm{invert}}^\dagger R_{\mathrm{succ}} applied to UinvertBinitialU_{\mathrm{invert}} B |\mathrm{initial}\rangle, where Rsucc=IS2wellwellSR_{\mathrm{succ}} = I^S - 2|\mathrm{well}\rangle\langle\mathrm{well}|^S and Rinit=I2initialinitialR_{\mathrm{init}} = I - 2|\mathrm{initial}\rangle\langle\mathrm{initial}|. Since C=O(1/κ)C = O(1/\kappa) and λ1\lambda \le 1 the post-selection succeeds with probability at least Ω(1/κ2)\Omega(1/\kappa^2), so the ideal repetition count π/4p~\pi/4\sqrt{\tilde{p}} is O(κ)O(\kappa). assumption: p~\tilde{p} is initially unknown, so the entire procedure is repeated with a geometrically increasing number of repetitions — 1,2,4,8,1, 2, 4, 8, \ldots — until a power of two κ\ge \kappa is reached, which yields a constant probability of success using 4κ\le 4\kappa repetitions and therefore needs the cutoff κ\kappa, which is an input to the algorithm.

    assumption

Example

Harrow, Hassidim and Lloyd (arXiv:0811.3171) carry no numerical work: no figure, no table, no simulated instance, no simulator and no hardware. The only concrete matrix written down anywhere is assembled in Appendix A 5 out of a quantum circuit to prove matrix inversion BQP-complete — an argument about an instance rather than an instance that was solved. The numerics the register finds belong to Costa et al. and measure the discrete adiabatic walk, which has its own record.

given  A Hermitian (the general case reduced by dilation), s-sparse with
       efficient entry oracles, ||A|| ~ 1 with the relevant spectrum in
       [1/k, 1], k known or upper-bounded, and |b> preparable in poly(log N)

repeat O(k) times, coherently -- the amplification rounds:
    prepare |b>                       # afresh inside every round
    run phase estimation against exp(-iAt), writing eigenvalue estimates
        into an ancilla register
    apply a controlled rotation with amplitude proportional to 1/lambda~
    uncompute the phase estimation
    post-select on the rotation ancilla

# the success amplitude is about 1/k, which is why there are O(k) rounds --
# and preparing |b> inside each of them is one of the two k factors

# only the well-conditioned part of |b> is inverted; the ill-conditioned
# part is flagged and discarded
# no polynomial approximation and no phase sequence is ever computed: the
# eigenvalue reciprocal is phase estimation plus a conditional rotation

Cost, as the source states it

Harrow, Hassidim and Lloyd state the runtime as O~(log(N)s2κ2/ε)\tilde{O}(\log(N) s² \kappa²/\varepsilon), with NN the dimension, ss the sparsity, κ\kappa the condition number and ε\varepsilon the additive error; the phase-estimation time is set to t0=O(κ/ε)t_0 = O(\kappa/\varepsilon).

Implementations

  • U_invert with filter functions, inside the amplitude-amplification loop (Appendix A 1)

    The paper's own full-detail construction, and it says so against the Letter body: "While the body of the paper attempted to convey the spirit of the procedure and left out various improvements, here we take the opposite approach and describe everything, albeit possibly in a less intuitive way." The problem it is built for is stated with its inputs rather than as a theorem: given a procedure producing b|b\rangle, a method of producing the at most ss non-zero elements of any row of AA, and a choice of cutoff κ\kappa, produce x|x\rangle proportional to A1bA^{-1}|b\rangle up to an error ε\varepsilon that is also part of the input, with correctness guaranteed when A1\lVert A \rVert \le 1 and A1κ\lVert A^{-1} \rVert \le \kappa. Error is measured as distance between vectors, αβ=2(1Reαβ)\lVert\,|\alpha\rangle - |\beta\rangle\,\rVert = \sqrt{2(1 - \mathrm{Re}\langle\alpha|\beta\rangle)}, and since ancillas are imperfectly uncomputed the output is compared against x000|x\rangle|000\ldots\rangle with the ancillas suppressed in the notation.

    The subroutine UinvertU_{\mathrm{invert}} is five steps. Prepare Ψ0=2/Tτ=0T1sinπ(τ+1/2)Tτ|\Psi_0\rangle = \sqrt{2/T}\sum_{\tau=0}^{T-1}\sin\frac{\pi(\tau + 1/2)}{T}|\tau\rangle from 0|0\rangle up to error ϵΨ\epsilon_\Psi, in time polylog(T/ϵΨ)\mathrm{poly}\log(T/\epsilon_\Psi); the coefficients are the ones that minimise a quadratic loss appearing in the error analysis, not a uniform superposition. Apply τ=0T1ττCeiAτt0/T\sum_{\tau=0}^{T-1}|\tau\rangle\langle\tau|^C \otimes e^{iA\tau t_0/T} up to error ϵH\epsilon_H, at cost TH=O(log(N)(log(N))2s2t09log(s2t0/ϵH))=O~(log(N)s2t0)T_H = O(\log(N)(\log^*(N))^2 s^2 t_0 9^{\sqrt{\log(s^2 t_0/\epsilon_H)}}) = \tilde{O}(\log(N)s^2 t_0), which scales better than any power of 1/ϵH1/\epsilon_H and is the only step requiring sparsity. Fourier transform the register CC, writing λ~k:=2πk/t0\tilde{\lambda}_k := 2\pi k/t_0. Adjoin a three-dimensional register SS in h(λ~k)=1f(λ~k)2g(λ~k)2nothing+f(λ~k)well+g(λ~k)ill|h(\tilde{\lambda}_k)\rangle = \sqrt{1 - f(\tilde{\lambda}_k)^2 - g(\tilde{\lambda}_k)^2}|\mathrm{nothing}\rangle + f(\tilde{\lambda}_k)|\mathrm{well}\rangle + g(\tilde{\lambda}_k)|\mathrm{ill}\rangle. Reverse steps 1 to 3, uncomputing any garbage. The filter functions are required only to satisfy f(λ)=1/Cκλf(\lambda) = 1/C\kappa\lambda for λ1/κ\lambda \ge 1/\kappa, g(λ)=1/Cg(\lambda) = 1/C for λ1/κ:=1/2κ\lambda \le 1/\kappa' := 1/2\kappa, f2+g21f^2 + g^2 \le 1 and a continuity property, with C>1C > 1; otherwise they are arbitrary, and Eq. (A3) gives one choice that interpolates by 12sin(π2λ1/κ1/κ1/κ)\frac{1}{2}\sin\big(\frac{\pi}{2}\cdot\frac{\lambda - 1/\kappa'}{1/\kappa - 1/\kappa'}\big) and 12cos\frac{1}{2}\cos of the same argument on 1/κλ<1/κ1/\kappa' \le \lambda < 1/\kappa. The outer loop is amplitude amplification: start from UinvertBinitialU_{\mathrm{invert}}B|\mathrm{initial}\rangle and repeatedly apply UinvertBRinitBUinvertRsuccU_{\mathrm{invert}} B R_{\mathrm{init}} B^\dagger U_{\mathrm{invert}}^\dagger R_{\mathrm{succ}} with Rsucc=IS2wellwellSR_{\mathrm{succ}} = I^S - 2|\mathrm{well}\rangle\langle\mathrm{well}|^S and Rinit=I2initialinitialR_{\mathrm{init}} = I - 2|\mathrm{initial}\rangle\langle\mathrm{initial}|, measuring SS and stopping on 'well'. The ideal count π/4p~\pi/4\sqrt{\tilde{p}} is O(κ)O(\kappa); because p~\tilde{p} is unknown the whole procedure is rerun with 1,2,4,8,1, 2, 4, 8, \ldots repetitions until a power of two at least κ\kappa is reached, giving constant success probability in at most 4κ4\kappa repetitions.

    No dataset, and no instance. The inputs are three objects and two numbers: an efficiently implementable unitary BB taking initial|\mathrm{initial}\rangle to b|b\rangle, possibly along with garbage in an ancilla register, costing TBT_B gates, about which nothing further is assumed — it may be another part of a larger algorithm, or a standard state-preparation procedure — and whose own possible failure is explicitly not modelled, so any error there translates directly into error in x|x\rangle; a row procedure returning the at most ss non-zero entries of a given row of AA in time O(s)O(s); the cutoff κ\kappa, which is chosen and need not be the true condition number; the target error ε\varepsilon; and the phase-estimation time t0t_0. The Letter notes that b|b\rangle can be prepared by the procedure of Ref. [14] when bib_i and i=i1i2bi2\sum_{i=i_1}^{i_2}|b_i|^2 are efficiently computable.

    Counted, never executed. Theorem 1 bounds the error three ways, all O(κ/t0)O(\kappa/t_0): without post-selection U~UO(κ/t0)\lVert \tilde{U} - U \rVert \le O(\kappa/t_0); post-selecting on the flag register lying in the span of {well,ill}\{|\mathrm{well}\rangle, |\mathrm{ill}\rangle\}, x~xO(κ/t0)\lVert\,|\tilde{x}\rangle - |x\rangle\,\rVert \le O(\kappa/t_0); and, when b|b\rangle lies entirely in the well-conditioned subspace and the post-selection is on well|\mathrm{well}\rangle, the same bound, which the paper calls the case of most practical interest. Taking t0=O(κ/ε)t_0 = O(\kappa/\varepsilon) therefore costs ε\varepsilon of error, and the assembled run-time is O~(κ(TB+t0s2log(N)))=O~(κTB+κ2s2log(N)/ε)\tilde{O}(\kappa(T_B + t_0 s^2\log(N)))= \tilde{O}(\kappa T_B + \kappa^2 s^2\log(N)/\varepsilon), the O~\tilde{O} suppressing (log(N))2(\log^*(N))^2, exp(O(1/log(t0/ϵH)))\exp(O(1/\sqrt{\log(t_0/\epsilon_H)})) and polylog(T/ϵΨ)\mathrm{poly}\log(T/\epsilon_\Psi). No instance is inverted, no simulator or hardware is named anywhere in the paper, and no figure or table appears in it, so this exists as a specified algorithm with proved bounds and not as an executed one.

  • Hermitian dilation for non-Hermitian and non-square A (Appendix A 4)

    The reduction the rest of the paper assumes has already been applied, and the reason this record's conditions can say "the general case is reduced by dilation". The body states it in one line — if AA is not Hermitian, define C=(0AA0)C = \begin{pmatrix}0 & A\\ A^\dagger & 0\end{pmatrix}, solve Cy=(b0)C\vec{y} = \begin{pmatrix}\vec{b}\\ 0\end{pmatrix} and read y=(0x)\vec{y} = \begin{pmatrix}0\\ \vec{x}\end{pmatrix} — and Appendix A 4 works out what the dilation does to rectangular and rank-deficient problems, which is where it stops being a formality. The Discussion adds that it is what makes non-square matrices invertible by the algorithm at all.

    For ACM×NA \in \mathbb{C}^{M \times N} with MNM \le N, take the singular value decomposition A=j=1MλjujvjA = \sum_{j=1}^{M}\lambda_j |u_j\rangle\langle v_j| with ujCM|u_j\rangle \in \mathbb{C}^M, vjCN|v_j\rangle \in \mathbb{C}^N and λ1λM0\lambda_1 \ge \cdots \ge \lambda_M \ge 0, and set V=span{v1,,vM}V = \mathrm{span}\{|v_1\rangle,\ldots,|v_M\rangle\}. Then H=(0AA0)H = \begin{pmatrix}0 & A\\ A^\dagger & 0\end{pmatrix} is Hermitian with eigenvalues ±λ1,,±λM\pm\lambda_1,\ldots,\pm\lambda_M on the eigenvectors wj±=12(0uj±1vj)|w_j^{\pm}\rangle = \frac{1}{\sqrt{2}}(|0\rangle|u_j\rangle \pm |1\rangle|v_j\rangle), together with NMN - M zero eigenvalues on the orthogonal complement of VV. The algorithm is run on the input 0b|0\rangle|b\rangle; writing b=jβjuj|b\rangle = \sum_j \beta_j|u_j\rangle gives 0b=jβj12(wj++wj)|0\rangle|b\rangle = \sum_j \beta_j\frac{1}{\sqrt{2}}(|w_j^{+}\rangle + |w_j^{-}\rangle) and H10b=jβjλj11vjH^{-1}|0\rangle|b\rangle = \sum_j \beta_j\lambda_j^{-1}|1\rangle|v_j\rangle, and dropping the leading 1|1\rangle defines the solution.

    None. The construction acts on the matrix and the right-hand side as objects, not on any instance of them, and the paper states no dimensions.

    Structural rather than numerical, and stated as two cases. Under-constrained, M<NM < N: the algorithm produces no component in VV^{\perp}, although such components would also have given valid solutions, so "in this sense, it could be said to be finding the x|x\rangle that minimizes xx\langle x|x\rangle while solving Ax=bA|x\rangle = |b\rangle". Over-constrained, MNM \ge N: with U=span{u1,,uN}U = \mathrm{span}\{|u_1\rangle,\ldots,|u_N\rangle\}, the equation is satisfiable only if bU|b\rangle \in U, and any weight of b|b\rangle in UU^{\perp} lands in the zero eigenspace of HH, where the filter functions flag it as ill-conditioned; choosing to ignore that part returns an x|x\rangle satisfying Ax=j=1NujujbA|x\rangle = \sum_{j=1}^{N}|u_j\rangle\langle u_j|\,|b\rangle. No cost is quoted separately for the dilation itself.

  • Matrix inversion instances built from a quantum circuit (Appendix A 5)

    The one place in the paper where a concrete matrix is written down rather than assumed behind an oracle, and it is written down to prove hardness rather than to be solved. The claim it serves is that a quantum circuit on nn qubits with TT gates can be simulated by inverting an O(1)O(1)-sparse AA of dimension N=O(2nκ)N = O(2^n\kappa), with κ=O(T2)\kappa = O(T^2) if AA must be positive definite and O(T)O(T) if not. It is worth having on this card precisely because it is easy to mistake for an instance: it fixes a matrix, a right-hand side, a condition number and a dimension, and it never computes a number.

    Let CC be a circuit on n=logNn = \log N qubits applying TT two-qubit gates U1,,UTU_1,\ldots,U_T to 0n|0\rangle^{\otimes n}, with the answer read from the first qubit. Adjoin an ancilla register of dimension 3T3T and define U=t=1Tt+1tUt+t+T+1t+TI+t+2T+1mod3Tt+2TU3T+1tU = \sum_{t=1}^{T}|t{+}1\rangle\langle t| \otimes U_t + |t{+}T{+}1\rangle\langle t{+}T| \otimes I + |t{+}2T{+}1 \bmod 3T\rangle\langle t{+}2T| \otimes U^\dagger_{3T+1-t}, chosen so that for T+1t2TT + 1 \le t \le 2T applying UtU^t to 1ψ|1\rangle|\psi\rangle yields t+1UTU1ψ|t{+}1\rangle \otimes U_T\cdots U_1|\psi\rangle. Setting A=IUe1/TA = I - Ue^{-1/T} gives κ(A)=O(T)\kappa(A) = O(T) and A1=k0Ukek/TA^{-1} = \sum_{k \ge 0}U^k e^{-k/T}, which is read as applying UtU^t for a geometrically distributed tt; since U3T=IU^{3T} = I one may assume 1t3T1 \le t \le 3T, and measuring the first register into the window T+1t2TT + 1 \le t \le 2T, which happens with probability e2/(1+e2+e4)1/10e^{-2}/(1 + e^{-2} + e^{-4}) \ge 1/10, leaves the second register holding UTU1ψU_T\cdots U_1|\psi\rangle. The Hermitian form of Eq. (A34) is A=(0IUe1/TIUe1/T0)A = \begin{pmatrix}0 & I - Ue^{-1/T}\\ I - U^\dagger e^{-1/T} & 0\end{pmatrix}, with κ2T\kappa \le 2T and dimension N=6T2nN = 6T2^n. To measure only the first qubit, Eq. (A36) defines B=(0I6T2n0I3T2nUe1/T)B = \begin{pmatrix}0 & I_{6T2^n}\\ 0 & I_{3T2^n} - Ue^{-1/T}\end{pmatrix}, and permuting its rows and columns into B~\tilde{B} gives C=(0B~B~0)C = \begin{pmatrix}0 & \tilde{B}\\ \tilde{B}^\dagger & 0\end{pmatrix} with the same condition number and N=18T2nN = 18T2^n.

    No dataset and no measured input. The instance is generated from a circuit, so its parameters are functions of that circuit's gate count TT and qubit count nn, and they stay symbolic. The single place the paper substitutes anything is in the proof of Theorem 5, where converting Simon's algorithm — a 3n3n-qubit, 2n+12n{+}1-gate computation run O(n)O(n) times with a poly(n)\mathrm{poly}(n) classical post-processing — yields κ4n\kappa \approx 4n and N36n23nN \approx 36n2^{3n}; these too are formulas in nn, and no value of nn is ever fixed.

    Nothing was computed; what the instance yields is a set of conditional statements. Theorem 4: a quantum algorithm for matrix inversion running in time κ1δpolylog(N)\kappa^{1-\delta}\mathrm{poly}\log(N) for some δ>0\delta > 0 would give BQP=PSPACE\mathrm{BQP} = \mathrm{PSPACE}; no relativizing quantum algorithm can run in that time; and a classical algorithm running in poly(κ,log(N))\mathrm{poly}(\kappa, \log(N)) would give BPP=BQP\mathrm{BPP} = \mathrm{BQP}. Theorem 5: no relativizing classical matrix inversion algorithm can run in time Nα2βκN^{\alpha}2^{\beta\kappa} unless 3α+4β1/23\alpha + 4\beta \ge 1/2, the bound becoming Nα2βκN^{\alpha}2^{\beta\sqrt{\kappa}} on positive-definite matrices. Theorem 6, on the matrix inversion estimation problem of outputting a number within ε\varepsilon of xMx\langle x|M|x\rangle with probability at least 2/32/3: a quantum algorithm in poly(κ,log(N),log(1/ε))\mathrm{poly}(\kappa, \log(N), \log(1/\varepsilon)) would give BQP=PP\mathrm{BQP} = \mathrm{PP}, and no relativizing quantum algorithm can run in Nαpoly(κ)/εβN^{\alpha}\mathrm{poly}(\kappa)/\varepsilon^{\beta} unless α+β1\alpha + \beta \ge 1. The paper's own summary is that matrix inversion is BQP-complete, and that even improving the κ\kappa-dependence to κ1δ\kappa^{1-\delta} would let any time-TT quantum algorithm be simulated in time o(T)o(T). Along the way it records that its own algorithm solves the estimation problem in O~(log(N)κ2s2/ε3)\tilde{O}(\log(N)\kappa^2 s^2/\varepsilon^3), by producing x|x\rangle to trace distance ε/2\varepsilon/2 and taking 1/3ε21/3\varepsilon^2 samples of a bit whose variance is at most 1/41/4.

Where the claim is contested

The headline exponential speedup is over a different deliverable. Learning the full solution vector rather than a functional of it takes Θ~(d/ε)Θ̃(d/ε) applications of the preparation unitary and its inverse to obtain an ε\varepsilon-l2 approximation of a dd-dimensional pure state (here dd is the dimension, written NN above; elsewhere in this group dd denotes the sparsity) — a characterised complexity, not a loose upper bound — and that linear-in-dimension factor cancels the log-dimension advantage. The κ2\kappa² is also superseded: later solvers reach O(κlog(1/ε))O(\kappa \log(1/\varepsilon)).

What it needs

Every step this method names is listed under Requires above. It walks its own span in one hop and calls out to the rest — that is a fact about the recorded route, not a claim that the span is simple.

Slots it makes unnecessary

These do not fill the slot. They replace the span it belongs to, so this layer is not on their path at all.

  • Polynomial approximation

    Given a target function, a domain and an error ε\varepsilon, return a polynomial of definite parity, bounded on [1,1][-1,1], that is ε\varepsilon-close to the target on that domain, with an explicit degree.

  • QSP phase factors

    Given an admissible polynomial, compute the phase sequence ΦΦ that makes the quantum-signal-processing product reproduce it to accuracy ε\varepsilon in classical finite-precision arithmetic.

Other ways to fill the same slot

Different approaches

  • 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.

  • 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.

  • 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

  • HHL linear-systems reference

    A linear-algebra reference that forces the catalog to show input loading, conditioning, and output observability.

  • Hybrid HHL++ for portfolio optimization

    Adapt the Harrow-Hassidim-Lloyd (HHL) quantum linear-systems algorithm, most of whose components current noisy quantum hardware cannot reach, into a form that near-term devices can actually execute, and demonstrate it on an application.

Sources