Jump to content
Wikipedia The Free Encyclopedia

Feynman's algorithm

From Wikipedia, the free encyclopedia

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

[edit ]

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

In Schrödinger's algorithm, P ( x m ) {\displaystyle P(x_{m})} {\displaystyle P(x_{m})} is calculated straightforwardly via matrix multiplication. That is, P ( x m ) = | x m | U m U m 1 U m 2 U m 3 , . . . , U 1 | 0 n | 2 {\displaystyle P(x_{m})=|\langle x_{m}|U_{m}U_{m-1}U_{m-2}U_{m-3},...,U_{1}|0\rangle ^{n}|^{2}} {\displaystyle P(x_{m})=|\langle x_{m}|U_{m}U_{m-1}U_{m-2}U_{m-3},...,U_{1}|0\rangle ^{n}|^{2}}. The quantum state of the system can be tracked throughout its evolution.[2]

In Feynman's path algorithm, P ( x m ) {\displaystyle P(x_{m})} {\displaystyle P(x_{m})} is calculated by summing up the contributions of ( 2 n ) m 1 {\displaystyle (2^{n})^{m-1}} {\displaystyle (2^{n})^{m-1}} histories. That is, P ( x m ) = | x m | U | 0 n | 2 = | x 1 , x 2 , x 3 , . . . , x m 1 { 0 , 1 } n j = 1 m x j | U j | x j 1 | 2 {\displaystyle P(x_{m})=|\langle x_{m}|U|0\rangle ^{n}|^{2}=|\sum _{x_{1},x_{2},x_{3},...,x_{m-1}\in \{0,1\}^{n}}\prod _{j=1}^{m}\langle x_{j}|U_{j}|x_{j-1}\rangle |^{2}} {\displaystyle P(x_{m})=|\langle x_{m}|U|0\rangle ^{n}|^{2}=|\sum _{x_{1},x_{2},x_{3},...,x_{m-1}\in \{0,1\}^{n}}\prod _{j=1}^{m}\langle x_{j}|U_{j}|x_{j-1}\rangle |^{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 m 2 n {\displaystyle \sim m2^{n}} {\displaystyle \sim m2^{n}} time and 2 n {\displaystyle \sim 2^{n}} {\displaystyle \sim 2^{n}} space while Feynman's takes 4 m {\displaystyle \sim 4^{m}} {\displaystyle \sim 4^{m}} time and m + n {\displaystyle \sim m+n} {\displaystyle \sim m+n} space.[4]

Example

[edit ]

Consider the problem of creating a Bell state. What is the probability that the resulting measurement will be 00 {\displaystyle 00} {\displaystyle 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 ( H I ) × C N O T {\displaystyle (H\otimes I)\times CNOT} {\displaystyle (H\otimes I)\times CNOT}. In that case, P ( 00 ) = | 00 | ( H I ) × C N O T | 00 | 2 = 1 2 {\displaystyle P(00)=|\langle 00|(H\otimes I)\times CNOT|00\rangle |^{2}={\frac {1}{2}}} {\displaystyle P(00)=|\langle 00|(H\otimes I)\times CNOT|00\rangle |^{2}={\frac {1}{2}}} using Schrödinger's algorithm. So probability resulting measurement will be 00 {\displaystyle 00} {\displaystyle 00} is 1 2 {\displaystyle {\frac {1}{2}}} {\displaystyle {\frac {1}{2}}}.

Using Feynman's algorithm, the Bell state circuit contains ( 2 2 ) 2 1 = 4 {\displaystyle (2^{2})^{2-1}=4} {\displaystyle (2^{2})^{2-1}=4} histories: 00 , 01 , 10 , 11 {\displaystyle 00,01,10,11} {\displaystyle 00,01,10,11} . So | 00 , 01 , 10 , 11 j = 1 2 x j | U j | x j 1 | 2 {\displaystyle |\sum _{00,01,10,11}\prod _{j=1}^{2}\langle x_{j}|U_{j}|x_{j-1}\rangle |^{2}} {\displaystyle |\sum _{00,01,10,11}\prod _{j=1}^{2}\langle x_{j}|U_{j}|x_{j-1}\rangle |^{2}} = | 00 | H I | 00 × 00 | C N O T | 00 {\displaystyle \langle 00|H\otimes I|00\rangle \times \langle 00|CNOT|00\rangle } {\displaystyle \langle 00|H\otimes I|00\rangle \times \langle 00|CNOT|00\rangle } + 01 | H I | 00 × 00 | C N O T | 01 {\displaystyle \langle 01|H\otimes I|00\rangle \times \langle 00|CNOT|01\rangle } {\displaystyle \langle 01|H\otimes I|00\rangle \times \langle 00|CNOT|01\rangle } + 10 | H I | 00 × 00 | C N O T | 10 {\displaystyle \langle 10|H\otimes I|00\rangle \times \langle 00|CNOT|10\rangle } {\displaystyle \langle 10|H\otimes I|00\rangle \times \langle 00|CNOT|10\rangle } + 11 | H I | 00 × 00 | C N O T | 11 | 2 = | 1 2 + 0 + 0 + 0 | 2 = 1 2 {\displaystyle \langle 11|H\otimes I|00\rangle \times \langle 00|CNOT|11\rangle |^{2}=|{\frac {1}{\sqrt {2}}}+0+0+0|^{2}={\frac {1}{2}}} {\displaystyle \langle 11|H\otimes I|00\rangle \times \langle 00|CNOT|11\rangle |^{2}=|{\frac {1}{\sqrt {2}}}+0+0+0|^{2}={\frac {1}{2}}}.

See also

[edit ]

References

[edit ]
  1. ^ Ethan Bernstein and Umesh Vazirani (1997). "Quantum Complexity Theory". SIAM Journal on Computing. 26 (5): 1411–1473. doi:10.1137/S0097539796300921.
  2. ^ Raedt, K. De; Michielsen, K.; Raedt, H. De; Trieu, B.; Lippert, Th.; Watanabe, H.; Ito, N. (2006). "Massively parallel quantum computer simulator". Comput. Phys. Commun. 176 (2): 121–136. arXiv:quant-ph/0608239 . doi:10.1016/j.cpc.200608007. S2CID 17463164.
  3. ^ Rudiak-Gould, Ben (2006). "The sum-over-histories formulation of quantum computing". arXiv:quant-ph/0607151 .
  4. ^ Aaronson, Scott; Chen, Lijie (2017). Complexity-Theoretic Foundations of Quantum Supremacy Experiments. Vol. 79. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. pp. 1–67. arXiv:1612.05903 . doi:10.4230/LIPIcs.CCC.2017.22 . ISBN 9783959770408. S2CID 12591414.

AltStyle によって変換されたページ (->オリジナル) /