Feynman's algorithm

From testwiki
Jump to navigation Jump to search

Feynman's algorithm is an algorithm that is used to simulate the operations of a quantum computer on a classical computer. It is based on the Path integral formulation of quantum mechanics, which was formulated by Richard Feynman.[1]

Overview

An n qubit quantum computer takes in a quantum circuit U that contains m gates and an input state |0n. It then outputs a string of bits x{0,1}n with probability P(xm)=|xm|U|0n|2.

In Schrödinger's algorithm, P(xm) is calculated straightforwardly via matrix multiplication. That is, P(xm)=|xm|UmUm1Um2Um3,...,U1|0n|2. The quantum state of the system can be tracked throughout its evolution.[2]

In Feynman's path algorithm, P(xm) is calculated by summing up the contributions of (2n)m1 histories. That is, P(xm)=|xm|U|0n|2=|x1,x2,x3,...,xm1{0,1}nj=1mxj|Uj|xj1|2. [3]

Schrödinger's takes less time to run compared to Feynman's while Feynman's takes more time and less space. More precisely, Schrödinger's takes m2n time and 2n space while Feynman's takes 4m time and m+n space.[4]

Example

Consider the problem of creating a Bell state. What is the probability that the resulting measurement will be 00?

Since the quantum circuit that generates a Bell state is the H (Hadamard gate) gate followed by the CNOT gate, the unitary for this circuit is (HI)×CNOT. In that case, P(00)=|00|(HI)×CNOT|00|2=12 using Schrödinger's algorithm. So probability resulting measurement will be 00 is 12.

Using Feynman's algorithm, the Bell state circuit contains (22)21=4 histories: 00,01,10,11 . So |00,01,10,11j=12xj|Uj|xj1|2 = |00|HI|00×00|CNOT|00 + 01|HI|00×00|CNOT|01 + 10|HI|00×00|CNOT|10 + 11|HI|00×00|CNOT|11|2=|12+0+0+0|2=12.

See also

References

Template:Reflist