The Harrow–Hassidim–Lloyd (HHL) algorithm is a quantum algorithm for obtaining certain limited information about the solution to a system of linear equations, introduced by Aram Harrow, Avinatan Hassidim, and Seth Lloyd. Specifically, the algorithm estimates quadratic functions of the solution vector to a given system. The algorithm is one of the main fundamental algorithms expected to provide a speedup over their classical counterparts, along with Shor's factoring algorithm and Grover's search algorithm. Assuming the system is sparse, has a low condition number κ {\displaystyle \kappa } , and that the user is only interested in certain information about solution vector and not the entire vector itself, the algorithm has a runtime of O ( log ( N ) κ 2 ) {\displaystyle O(\log(N)\kappa ^{2})} , where N {\displaystyle N} is the number of variables. This offers an exponential speedup over the fastest classical algorithm, which runs in O ( N κ ) {\displaystyle O(N\kappa )} (or O ( N κ ) {\displaystyle O(N{\sqrt {\kappa }})} for positive semidefinite matrices). An implementation of the HHL algorithm was first demonstrated in 2013 by three independent publications, consisting of simple systems on specially designed devices. The first demonstration of a general-purpose version of the algorithm appeared in 2018.
Overview Given an N × N {\displaystyle N\times N} Hermitian matrix A {\displaystyle A} and unit vector b → ∈ R N {\displaystyle {\vec {b}}\in \mathbb {R} ^{N}} , the HHL algorithms prepares the quantum state | x ⟩ {\displaystyle |x\rangle } whose amplitudes are the entries of the solution x → ∈ R N {\displaystyle {\vec {x}}\in \mathbb {R} ^{N}} to the linear system A x → = b → {\displaystyle A{\vec {x}}={\vec {b}}} . The algorithm cannot efficiently output the solution x itself, but allows one to efficiently estimate x → T M x → {\displaystyle {\vec {x}}^{T}M{\vec {x}}} for a Hermitian matrix M {\displaystyle M} . The algorithm first prepares the quantum state | b ⟩ {\displaystyle |b\rangle } whose amplitudes are equal to the entries of b → {\displaystyle {\vec {b}}} . Using Hamiltonian simulation, the unitary operator e i A t {\displaystyle e^{iAt}} is applied to | b ⟩ {\displaystyle |b\rangle } for a superposition of different times t. The algorithm then uses quantum phase estimation to decompose | b ⟩ {\displaystyle |b\rangle } in the eigenbasis of A {\displaystyle A} and find the corresponding eigenvalues λ j {\displaystyle \lambda _{j}} . The state of the system after this step is approximately
∑ j = 1 N β j | u j ⟩ | λ j ⟩ , {\displaystyle \sum _{j\mathop {=} 1}^{N}\beta _{j}|u_{j}\rangle |\lambda _{j}\rangle ,}
… excerpt ends here. Continue reading the full article.
