Quantum complexity theory: Difference between revisions

Content deleted Content added
Tags: Mobile edit Mobile web edit Advanced mobile edit
Tags: Mobile edit Mobile web edit Advanced mobile edit
Line 74:
 
== Simulation of quantum circuits ==
There is no known way to efficiently simulate a quantum computational model with a classical computer. This means that a classical computer cannot simulate a quantum computational model in polynomial time. However, a [[quantum circuit]] of <math>S(n)</math> qubits with <math>T(n)</math> quantum gates can be simulated by a classical circuit with <math>O(2^{S(n)}T(n)^3)</math> [[Logic gate|classical gates]].<ref name=":12"/> This number of classical gates is obtained by determining how many bit operations are necessary to simulate the quantum circuit. In order to do this, first the amplitudes associated with the <math>S(n)</math> qubits must be accounted for. Each of the states of the <math>S(n)</math> qubits can be described by a two-dimensional complex vector, or a state vector. These state vectors can also be described a [[linear combination]] of its [[Euclidean vector|component vectors]] with coefficients called amplitudes. These amplitudes are complex numbers which are normalized to one, meaning the sum of the squares of the absolute values of the amplitudes must be one.<ref name=":12" /> The entries of the state vector are these amplitudes. Which entry each of the amplitudes are correspond to the none-zero component of the component vector which they are the coefficients of in the linear combination description. As an equation this is described as <math>\alpha \begin{bmatrix} 1 \\ 0 \end{bmatrix} + \beta \begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} \alpha \\ \beta \end{bmatrix}</math> or <math>\alpha \left \vert 1 \right \rangle + \beta \left \vert 0 \right \rangle = \begin{bmatrix} \alpha \\ \beta \end{bmatrix}</math> using [[Bra–ket notation|Dirac notation]]. The state of the entire <math>S(n)</math> qubit system can be described by a single state vector. This state vector describing the entire system is the tensor product of the state vectors describing the individual qubits in the system. The result of the tensor products of the <math>S(n)</math> qubits is a single state vector which has <math>2^{S(n)}</math> dimensions and entries that are the amplitudes associated with each basis state or component vector. Therefore, <math>2^{S(n)}</math>amplitudes must be accounted for with a <math>2^{S(n)}</math> dimensional complex vector which is the state vector for the <math>S(n)</math> qubit system.<ref>{{Cite journal|last1=Häner|first1=Thomas|last2=Steiger|first2=Damian S.|date=2017-11-12|title=0.5 petabyte simulation of a 45-qubit quantum circuit|url=http://dx.doi.org/10.1145/3126908.3126947|journal=Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis|pages=1–10|___location=New York, NY, USA|publisher=ACM|doi=10.1145/3126908.3126947|arxiv=1704.01127|isbn=978-1-4503-5114-0|s2cid=3338733}}</ref> In order to obtain an upper bound for the number of gates required to simulate a quantum circuit we need a sufficient upper bound for the amount data used to specify the information about each of the <math>2^{S(n)}</math> amplitudes. To do this <math>O(T(n))</math> bits of precision are sufficient for encoding each amplitude.<ref name=":12" /> So it takes <math>O(2^{S(n)}T(n))</math> classical bits to account for the state vector of the <math>S(n)</math> qubit system. Next the application of the <math>T(n)</math> quantum gates on <math>2^{S(n)}</math> amplitudes must be accounted for. The quantum gates can be represented as <math>2^{S(n)}\times2^{S(n)}</math> [[Sparse matrix|sparse matrices]].<ref name=":12" /> So to account for the application of each of the <math>T(n)</math> quantum gates, the state vector must be multiplied by a <math>2^{S(n)}\times2^{S(n)}</math> sparse matrix for each of the <math>T(n)</math> quantum gates. Every time the state vector is multiplied by a <math>2^{S(n)}\times2^{S(n)}</math> sparse matrix, <math>O(2^{S(n)})</math> arithmetic operations must be performed.<ref name=":12" /> Therefore, there are <math>O(2^{S(n)}T(n)^2)</math> bit operations for every quantum gate applied to the state vector. So <math>O(2^{S(n)}T(n)^2)</math> classical gate are needed to simulate <math>S(n)</math> qubit circuit with just one quantum gate. Therefore, <math>O(2^{S(n)}T(n)^3)</math> classical gates are needed to simulate a quantum circuit of <math>S(n)</math> qubits with <math>T(n)</math> quantum gates.<ref name=":12" /> While there is no known way to efficiently simulate a quantum computer with a classical computer, it is possible to efficiently simulate a classical computer with a quantum computer. This is evident from the belief that <math>\mathsf{BPP\subseteq BQP}</math>.<ref name=":27"/>
 
==Quantum query complexity ==