paper

Extending Sample-based Quantum Diagonalization to Systems of Linear Equations

arXiv:2610.41708

Abstract

Solving systems of linear equations, , is a ubiquitous task in computational science. The Harrow-Hassidim-Lloyd algorithm requires phase estimation, controlled rotations, and post-selection, impractical on noisy intermediate-scale quantum hardware. We extend sample-based quantum diagonalization (SQD), developed for quantum chemistry, to linear systems. Following the sample-based Krylov variant, the Hermitian matrix is decomposed in the Pauli basis, the Trotterized time evolution of is sampled at several times to select computational-basis configurations, and the system is solved classically by a Galerkin projection onto the selected subspace. We prove that the subspace solution is exact when the sampled configurations contain the Krylov support of and optimal in the energy norm for symmetric positive-definite matrices, so that noise-induced configurations cannot degrade it as long as they do not displace the ideal ones. On IBM Quantum hardware, the sampled distribution of a example deviates from the exact one by eleven times the shot-noise level, yet the solution is recovered exactly. For a localized problem of dimension , SQD selects 33 configurations, reaches a relative error of , and its truncated subspaces coincide with the optimal choice; readout errors enlarge the subspace without degrading the accuracy. The tests also show the limitations: the selected subspace coincides with that of inexpensive classical selection, banded matrices require exponentially many Pauli terms in the binary encoding, and Trotter errors populate spurious configurations unless the circuits are deep. An MIT-licensed Python package and notebooks that reproduce the numerical results are provided.

arXiv comment13 pages, 5 figures, 6 tables. Code: Python package sqd_linsolve (MIT License) with two notebooks in the ancillary files: reproduce_paper.ipynb reproduces the numerical results of the paper; sqd_linear_systems_selfcontained.ipynb gives a self-contained, step-by-step implementation with explanations and a worked example