QC Docs

BQP Complexity Class

Understanding Bounded-error Quantum Polynomial Time and its role in quantum algorithms.

🔠 Start Learning

What is BQP?

BQP stands for Bounded-error Quantum Polynomial Time. It represents the class of decision problems solvable by a quantum computer in polynomial time, with a probability of at least 2/3.

Key Aspects

  • ✔ Polynomial time quantum algorithm
  • ✔ Bounded two-sided error ≤ 1/3
  • ✔ Can outperform classical algorithms
  • ✔ Fundamental to quantum supremacy

BQP vs Classical Complexity Classes

P

Problems solvable in polynomial time by classical deterministic Turing machines.

Includes sorting, graph traversal

NP

Problems for which a solution can be verified in polynomial time by a classical computer.

Subset sum, boolean satisfiability

BQP

Problems solvable efficiently with bounded error probability by quantum computers.

Factoring, search, quantum simulations

Complexity Class Hierarchy

P ⊆ BQP ⊆ EXP

Shor's algorithm shows P ⊊ BQP assuming P ≠ NP

BQP Applications

🔐

Cryptography

BQP algorithms threaten modern encryption schemes like RSA and ECC by solving integer factorization exponentially faster.

🔬

Quantum Simulation

BQP captures problems of simulating quantum mechanical systems which classical computers struggle to handle.

Optimization

BQP algorithms can solve optimization problems with exponential speedups compared to classical counterparts.

Shor's Algorithm Illustration


# Quantum algorithm for integer factorization (Shor's Algorithm)
def shors_algorithm(n):
    for a in range(3, n):
        if gcd(a, n) != 1:
            continue
        r = quantum_period_finding(a, n) # Quantum subroutine
        if r % 2 == 0:
            x = pow(a, r//2, n)
            p = gcd(x-1, n)
            q = gcd(x+1, n)
            return p, q

def quantum_period_finding(a, n):
    # Quantum circuit to find period of f(x) = a^x mod n
    return find_quantum_period()
                
                

This algorithm runs in polynomial time on a quantum computer, placing factoring of integers in BQP.

What BQP Means for Computing

Quantum Advantage: BQP includes problems where quantum computers surpass classical algorithms exponentially
Security Concerns: BQP algorithms break widely used encryption schemes if quantum computers reach scale
Scientific Discovery: Enables simulations of quantum systems impossible with classical supercomputers
Optimization Power: Exponential improvements in solving complex optimization problems