Introduction
Solving a system of linear equations is non-trivial. The problem can be formulated as:A→x=→b
where A is given as a matrix of coefficients, →x represents the variables to be solved and →b is given as the values to be used in the solution. Rearranging the terms:
→x=A−1→b
The problem now becomes one of finding the inverse of the A matrix. It can be shown that the complexity of this operation is O(n3). If A is sparse, the complexity can be shown to be proportional to O(NlogN).
Seth, Lloyd and his colleagues at MIT had presented a Quantum algorithm with a complexity proportional to O(logN). The complete presentation can be viewed at https://arxiv.org/pdf/1302.1210.pdf.
My attempt is to unravel the important aspects of the algorithm.
The algorithm
Let
|ψ0>=√2T∑T−1τ=0sinπ(τ+12)T|τ>
where T is an integer > 0
Apply ∑T−1τ=0|τ>|<τ|C⊗eiAτtoTon|ψ0>C⊗|bi>
The above operation will generate eigen values and eigen vector using quantum phase transformation described at https://en.wikipedia.org/wiki/Quantum_phase_estimation_algorithm.
Fourier transforming the first register (there are 2 registers in the quantum phase transformation article above) gives the state
∑Nj=1∑T−1k=0αkjβj|k>|uj>
where |k> are the Fourier basis states.
Define:
→λk=2πkt0
∑Nj=1∑T−1k=0αkjβj|→λk>|uj>
Adding an ancillary qubit and rotating conditioned on |→λk> gives:
∑Nj=1∑T−1k=0αkjβj|→λk>|uj>(√1−C2→λ2k|0>+C→λk|1>)
If the quantum phase estimation is correct:
αkj=1 if →λk|=λj and αkj=0 otherwise
∑Nj=1βj|uj>(√1−C2→λ2j|0>+C→λj|1>)
The probability of the |1> qubit corresponds to the solution |x>
√1∑Nj=1C2|βj|2/|λj|2∑Nj=1βjCλj|uj>
Since lambdas are eigen values, the inversion is assumed as solution which is the case when the matrix is diagnoal and sparse
For a discussion of this work and some circuits see https://quantumcomputing.stackexchange.com/questions/2439/quantum-algorithm-for-linear-systems-of-equations-hhl09-step-2-preparation
No comments:
Post a Comment