In computational complexity theory, bounded-error quantum polynomial time (BQP) is the class of decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances.Michael Nielsen and Isaac Chuang (2000).
Quantum Computation and Quantum Information.
Cambridge: Cambridge University Press. .
It is the quantum analogue to the complexity class BPP.
A decision problem is a member of  BQP if there exists a quantum algorithm (an algorithm that runs on a quantum computer) that solves the decision problem with high probability and is guaranteed to run in polynomial time.
A run of the algorithm will correctly solve the decision problem with  a probability of at least 2/3.
Definition
BQP can be viewed as the languages associated with certain bounded-error uniform families of quantum circuits.
A language L is in BQP if and only if there exists a polynomial-time uniform family of quantum circuits \{Q_n\colon n \in \mathbb{N}\}, such that
For all n \in \mathbb{N}, Qn takes n qubits as input and outputs 1 bit
For all x in L, \mathrm{Pr}(Q_{|x|}(x)=1)\geq \tfrac{2}{3}
For all x not in L, \mathrm{Pr}(Q_{|x|}(x)=0)\geq  \tfrac{2}{3}
Alternatively, one can define BQP in terms of quantum Turing machines.
A language L is in BQP if and only if there exists a polynomial quantum Turing machine that accepts L with an error probability of at most 1/3 for all instances.
Similarly to other "bounded error" probabilistic classes the choice of 1/3 in the definition is arbitrary.
We can run the algorithm a constant number of times and take a majority vote to achieve any desired probability of correctness less than 1, using the Chernoff bound.
The complexity class is unchanged by allowing error as high as 1/2 − n−c on the one hand, or requiring error as small as 2−nc on the other hand, where c is any positive constant, and n is the length of input.
A BQP-complete problem
Similar to the notion of NP-completeness and other complete problems, we can define a BQP-complete problem as a problem that is in BQP and that every problem in BQP reduces to it in polynomial time.
Here is an intuitive BQP-complete problem, which stems directly from the definition of BQP.
APPROX-QCIRCUIT-PROB problem
Given a description of a quantum circuit C  acting on  n  qubits with  m  gates, where  m  is a polynomial in  n  and each gate acts on one or two qubits, and two numbers \alpha, \beta \in [0,1], \alpha > \beta, distinguish between the following two cases:
measuring the first qubit of the state C|0\rangle^{\otimes n} yields |1\rangle with probability \geq \alpha
measuring the first qubit of the state C|0\rangle^{\otimes n} yields |1\rangle with probability \leq \beta
Note that the problem does not specify the behavior if an instance is not covered by these two cases.
Claim.
Any BQP problem reduces to APPROX-QCIRCUIT-PROB.
Proof.
Suppose we have an algorithm  A that solves APPROX-QCIRCUIT-PROB, i.e., given a quantum circuit C acting on  n  qubits, and two numbers \alpha, \beta \in [0,1], \alpha > \beta, A distinguishes between the above two cases.
We can solve any problem in BQP with this oracle, by setting \alpha = 2/3, \beta = 1/3.
For any L \in \mathrm{BQP} , there exists family of quantum circuits \{Q_n\colon n \in \mathbb{N}\} such that for all n \in \mathbb{N}, a state  |x\rangle  of  n   qubits, if x \in L, Pr(Q_n(|x\rangle)=1) \geq 2/3; else if  x \notin L, Pr(Q_n(|x\rangle)=0) \geq 2/3 .
Fix an input  |x\rangle  of  n   qubits, and the corresponding quantum circuit Q_n.
We can first construct a circuit C_x such that C_x|0\rangle^{\otimes n} = |x\rangle.
This can be done easily by hardwiring  |x\rangle  and apply a sequence of CNOT gates to flip the qubits.
Then we can combine two circuits to get C' = C_xQ_n, and now C'|0\rangle^{\otimes n} = Q_n|x\rangle.
And finally, necessarily the results of Q_n is obtained by measuring several qubits and apply some (classical) logic gates to them.
We can always defer the measurement and reroute the circuits so that by measuring the first qubit of C'|0\rangle^{\otimes n} = Q_n|x\rangle, we get the output.
This will be our circuit C, and we decide the membership of x  in  L  by running  A(C)  with \alpha = 2/3, \beta = 1/3.
By definition of BQP, we will either fall into the first case (acceptance), or the second case (rejection), so L \in \mathrm{BQP}  reduces to APPROX-QCIRCUIT-PROB.
APPROX-QCIRCUIT-PROB comes handy when we try to prove the relationships between some well-known complexity classes and BQP.
Relationship to other complexity classes
thumb|The suspected relationship of BQP to other problem spaces
BQP is defined for quantum computers; the corresponding complexity class for classical computers (or more formally for probabilistic Turing machines) is BPP.
Just like P and BPP, BQP is low for itself, which means BQPBQP = BQP.
Informally, this is true because polynomial time algorithms are closed under composition.
If a polynomial time algorithm calls polynomial time algorithms as subroutines, the resulting algorithm is still polynomial time.
BQP contains P and BPP and is contained in AWPP, PPL.
Adleman, J. DeMarrais, and M.-D.
Huang.
Quantum computability.
SIAM J. Comput., 26(5):1524–1540, 1997.
and PSPACE.
In fact, BQP is low for PP, meaning that a PP machine achieves no benefit from being able to solve BQP problems instantly, an indication of the possible difference in power between these similar classes.
The known relationships with classic complexity classes are:
\mathsf{P \subseteq BPP \subseteq BQP\subseteq AWPP \subseteq PP \subseteq PSPACE\subseteq EXP}
As the problem of P ≟ PSPACE has not yet been solved, the proof of inequality between BQP and classes mentioned above is supposed to be difficult.
The relation between BQP and NP is not known.
In May 2018, computer scientists Ran Raz of Princeton University and Avishay Tal of Stanford University published a paper which showed that, relative to an oracle, BQP was not contained in PH.
Adding postselection to BQP results in the complexity class PostBQP which is equal to PP..
Preprint available at
We will prove or discuss some of these results below.
BQP and EXP
We begin with an easier containment.
To show that \mathsf{BQP} \subseteq \mathsf{EXP}, it suffices to show that APPROX-QCIRCUIT-PROB is in EXP since APPROX-QCIRCUIT-PROB is BQP-complete.
Note that this algorithm also requires 2^{O(n)} space to store the vectors and the matrices.
We will show in the following section that we can improve upon the space complexity.
BQP and PSPACE
To prove \mathsf{BQP} \subseteq \mathsf{PSPACE}, we first introduce a technique called the sum of histories.
Sum of Histories <ref>E. Bernstein and U. Vazirani.
Quantum complexity theory, SIAM Journal on Computing, 26(5):1411-1473, 1997.
</ref>
Sum of histories is a technique introduced by physicist Richard Feynman for path integral formulation.
We apply this technique to quantum computing to solve APPROX-QCIRCUIT-PROB.
thumb|Sum of Histories Tree
Consider a quantum circuit , which consists of  gates, g_1, g_2, \cdots, g_m, where each g_j comes from a universal gate set and acts on at most two qubits.
To understand what the sum of histories is, we visualize the evolution of a quantum state given a quantum circuit as a tree.
The root is the input |0\rangle^{\otimes n}, and each node in the tree has 2^n children, each representing a state in \mathbb C^n.
The weight on a tree edge from a node in -th level representing a state |x\rangle to a node in j+1-th level  representing a state |y\rangle is \langle y|g_{j+1}|x\rangle, the amplitude of |y\rangle after applying g_{j+1} on |x\rangle.
The transition amplitude of a root-to-leaf path is the product of all the weights on the edges along the path.
To get the probability of the final state being |\psi\rangle, we sum up the amplitudes of all root-to-leave paths that ends at a node representing |\psi\rangle.
More formally, for the quantum circuit , its sum over histories tree is a tree of depth , with one level for each gate g_i in addition to the root, and with branching factor 2^n.
Notice in the sum over histories algorithm to compute some amplitude \alpha_x, only one history is stored at any point in the computation.
Hence, the sum over histories algorithm uses O(nm) space to compute \alpha_x for any  since O(nm) bits are needed to store the histories in addition to some workspace variables.
Therefore, in polynomial space, we may compute \sum_x |\alpha_x|^2 over all  with the first qubit being , which is the probability that the first qubit is measured to be 1 by the end of the circuit.
Notice that compared with the simulation given for the proof that \mathsf{BQP} \subseteq \mathsf{EXP}, our algorithm here takes far less space but far more time instead.
In fact it takes O(m2^{mn} ) time to calculate a single amplitude!
BQP and PP
A similar sum-over-histories argument can be used to show that \mathsf{BQP} \subseteq \mathsf{PP}.
L. Adleman, J. DeMarrais, and M. Huang.
Quantum computability, SIAM Journal on Comput- ing 26:1524-1540, 1997.
BQP, P, and NP
First of all, we know   \mathsf{P} \subseteq \mathsf{BQP} , since every classical circuit can be simulated by a quantum circuit.
Nielsen, Michael A.; Chuang, Isaac L. (2000), Quantum Computation and Quantum Information, Cambridge: Cambridge University Press, ISBN 0-521-63235-8, MR 1796805.
It is conjectured that BQP solves hard problems outside of P, specifically, problems in NP.
The claim is indefinite because we don't know if P=NP, so we don't know if those problems are actually in P.
Below are some evidence of the conjecture:
Integer factorization (see Shor's algorithm)arXiv:quant-ph/9508027v2 Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer, Peter W. Shor
Discrete logarithm
Simulation of quantum systems (see universal quantum simulator)
Approximating the Jones polynomial at certain roots of unity
Harrow-Hassidim-Lloyd (HHL) algorithm
However, we also know an analogue of  \mathsf{NP} \not\subseteq \mathsf{BQP}  in a "black-box" sense.
Consider the unstructured search problem: given an oracle access to an unknown function  f: \{0,1\}^n \to \{0,1\} , find  such that f(x)=1.
This problem is clearly in NP.
The optimal quantum algorithm for this problem, on the other hand, is Grover's algorithm, which has a complexity of O(\sqrt{2^n}) if only allowed to access  via that oracle.
See also
Hidden subgroup problem
Polynomial hierarchy (PH)
Quantum complexity theory
QMA, the quantum equivalent to NP.
References
External links
Complexity Zoo link to BQP
