Some Things Quantum Computers Can and Cannot Do Randall Pruim Department of Mathematics and Statistics Calvin College Abteilung Theoretische Informatik Universit¨ at Ulm

July 2004

Pruim

Some Things Quantum Computers Can and Cannot Do

Outline

Outline 1

Two Questions

Pruim

Some Things Quantum Computers Can and Cannot Do

Outline

Outline 1 2

Two Questions Models of Quantum Computation Turing Machines Defining Classes Quantum Circuits

Pruim

Some Things Quantum Computers Can and Cannot Do

Outline

Outline 1 2

3

Two Questions Models of Quantum Computation Turing Machines Defining Classes Quantum Circuits A Few Examples Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Pruim

Some Things Quantum Computers Can and Cannot Do

Outline

Outline 1 2

3

4

Two Questions Models of Quantum Computation Turing Machines Defining Classes Quantum Circuits A Few Examples Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm Characterizing NQP The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

The Two Big Questions of Quantum Computation 1

(How) Can we build a (robust, large-scale) quantum computer? [physics] I won’t say much about this.

2

What good would such a machine be? [tcs] Are there things that can be done (more) efficiently on on a quantum computer that can’t be done (as) efficiently on a classical computer? Are there things that are just as inefficient on a quantum machine as on a classical machine? How exactly can we characterize quantum classes with classical classes?

Requires mathematical model(s) of quantum computation. Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Usual description via program: δ : Q × Σ → Q × Σ × {L, R}

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Usual description via program: δ : Q × Σ → Q × Σ × {L, R} Extension to configurations: δ : ci 7→ cj

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Usual description via program: δ : Q × Σ → Q × Σ × {L, R} Extension to configurations: δ : ci 7→ cj Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

Pruim

δ : ci 7→ cj otherwise

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description:

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: M is large. Exponentially many rows/columns.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: M is large. Exponentially many rows/columns. Individual entries are easy to compute given δ.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: M is large. Exponentially many rows/columns. Individual entries are easy to compute given δ. Most of the entries are 0’s. In fact, most are 0’s independent of δ.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

Using this description: 0 .. . 0 ci = M · ci = cj 1 0 .. .

δ : ci 7→ cj otherwise

M t · cinit = caccept

0 Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: Requirements on Matrix M 1

Locality.

2

Determinism.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: Requirements on Matrix M 1

Locality. Transitions determined locally. (M comes from δ.)

2

Determinism. Only 0’s and 1’s in matrix. Sum along any column is 1.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: Acceptance Criterion The following are equivalent: TM M accepts x after t steps M t · cx = caccept Mctx ,caccept = 1 The caccept -coefficient of M t · cx = 1. Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Classical Deterministic Turing Machines Description as a matrix: Mj,i

( 1 = [[δ : ci → 7 cj ]] = 0

δ : ci 7→ cj otherwise

Using this description: Acceptance Criterion The following are equivalent: TM M accepts x after t steps M t · cx = caccept Mctx ,caccept = 1 The caccept -coefficient of M t · cx = 1. Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Nondeterministic Turing Machines Usual description: δ : Q × Σ → P(Q × Σ × {L, R}) Description as a matrix: Mj,i = [[ci ∈ δ(cj )]]

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Nondeterministic Turing Machines Usual description:

δ : Q × Σ × Q × Σ × {L, R} → {0, 1}

Description as a matrix: Mj,i = [[δ : (ci , cj ) = 1]]

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Nondeterministic Turing Machines Usual description:

δ : Q × Σ × Q × Σ × {L, R} → {0, 1}

Description as a matrix: Mj,i = [[δ : (ci , cj ) = 1]] Requirements on Matrix M 1

Locality.

2

Nondeterminism.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Nondeterministic Turing Machines Usual description:

δ : Q × Σ × Q × Σ × {L, R} → {0, 1}

Description as a matrix: Mj,i = [[δ : (ci , cj ) = 1]] Requirements on Matrix M 1

Locality.

2

Nondeterminism. Only 0’s and 1’s in matrix. Sum along any column is ≥ 1.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Nondeterministic Turing Machines Usual description:

δ : Q × Σ × Q × Σ × {L, R} → {0, 1}

Description as a matrix: Mj,i = [[δ : (ci , cj ) = 1]] Requirements on Matrix M 1

Locality.

2

Nondeterminism.

Acceptance Criterion The following are equivalent: TM M accepts x after t steps t Mx,c >0 accept

caccept -coefficient of M t · cx > 0. Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Probabilistic Turing Machines Usual description: δ : Q × Σ × Q × Σ × {L, R} ∈ [0, 1] Description as a matrix: Mj,i = δ(ci , cj ) = Prob[ci 7→ cj ]

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Probabilistic Turing Machines Usual description: δ : Q × Σ × Q × Σ × {L, R} ∈ [0, 1] Description as a matrix: Mj,i = δ(ci , cj ) = Prob[ci 7→ cj ] Requirements on Matrix M 1

Locality. Transitions determined locally.

2

Probability. Matrix elements from [0, 1]. Sum along any column is = 1 That is, the L1 -norm of each columnPis 1 Equivalent to: L1 (M · c) = L1 (c) = i ci . So, M must preserve L1 -norms.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Probabilistic Turing Machines Usual description: δ : Q × Σ × Q × Σ × {L, R} ∈ [0, 1] Description as a matrix: Mj,i = δ(ci , cj ) = Prob[ci 7→ cj ] Requirements on Matrix M 1

Locality. Transitions determined locally.

2

Probability. Matrix elements from [0, 1]. Sum along any column is = 1 That is, the L1 -norm of each columnPis 1 Equivalent to: L1 (M · c) = L1 (c) = i ci . So, M must preserve L1 -norms.

Local probability constraint implies global probability constraint Pruim

Details

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Probabilistic Turing Machines Usual description: δ : Q × Σ × Q × Σ × {L, R} ∈ {0, 1/2, 1} Description as a matrix: Mj,i = δ(ci , cj ) = Prob[ci 7→ cj ] Requirements on Matrix M 1

Locality. Transitions determined locally.

2

Probability. Matrix elements from {0, 1/2, 1}. Sum along any column is = 1 That is, the L1 -norm of each columnPis 1 Equivalent to: L1 (M · c) = L1 (c) = i ci . So, M must preserve L1 -norms.

Local probability constraint implies global probability constraint Pruim

Details

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Probabilistic Machines Definition (BPP) A language L is in BPP if there is a probabilistic TM M such that x ∈ L ⇔ Prob[M · x accepts] ≥ 2/3 ⇔ caccept -coefficient of M t · cx ≥ 2/3 and x∈ / L ⇔ Prob[M(x) accepts] ≤ 1/3 ⇔ caccept -coefficient of M t · cx ≤ 1/3

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Probabilistic Machines Definition (NP) A language L is in NP if there is a probabilistic TM M such that x ∈ L ⇔ Prob[M(x) accepts] > 0 ⇔ caccept -coefficient of M t · cx > 0

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =??

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =?? Requirements on Matrix M 1 2

Locality. Probability.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =?? Requirements on Matrix M 1 2

Locality. Probability. Matrix elements from C. qP 2 L2 -norm is preserved: L2 (M(c)) = L2 (c) = i ci So sum of squared norms along any column is = 1.

Acceptance Probability Prob[M accepts x] = |M t (cx , caccept )|2

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =?? Requirements on Matrix M 1 2

Locality. Probability. Matrix elements from C. qP 2 L2 -norm is preserved: L2 (M(c)) = L2 (c) = i ci So sum of squared norms along any column is = 1.

Acceptance Probability Prob[M accepts x] = |M t (cx , caccept )|2 = |hcaccept |M|cx i|2 Bra-ket Notation

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =?? Requirements on Matrix M 1 2

Locality. Probability. Matrix elements from Q ∩ [−1, 1]. qP 2 L2 -norm is preserved: L2 (M(c)) = L2 (c) = i ci So sum of squared norms along any column is = 1.

Acceptance Probability Prob[M accepts x] = |M t (cx , caccept )|2 = |hcaccept |M|cx i|2 Bra-ket Notation

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =?? Requirements on Matrix M 1 2

Locality. Probability. Matrix elements from

{0, ± 35 , ± 45 , ±1}.

qP 2 L2 -norm is preserved: L2 (M(c)) = L2 (c) = i ci So sum of squared norms along any column is = 1.

Acceptance Probability Prob[M accepts x] = |M t (cx , caccept )|2 = |hcaccept |M|cx i|2 Bra-ket Notation

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Turing Machines Description as a matrix: Mj,i = δ(ci , cj ) =?? Requirements on Matrix M 1 2

Locality. Probability. Matrix elements from

{0, ± √12 , ±1}.

qP 2 L2 -norm is preserved: L2 (M(c)) = L2 (c) = i ci So sum of squared norms along any column is = 1.

Acceptance Probability Prob[M accepts x] = |M t (cx , caccept )|2 = |hcaccept |M|cx i|2 Bra-ket Notation

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Unitary Operators The quantum probability requirement is equivalent to requiring that the matrix M be unitary, i.e., that M† · M = I

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Unitary Operators The quantum probability requirement is equivalent to requiring that the matrix M be unitary, i.e., that M† · M = I 1

Implies the compositions remain unitary. (AB)† (AB) = B † A† AB = I

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Unitary Operators The quantum probability requirement is equivalent to requiring that the matrix M be unitary, i.e., that M† · M = I 1

Implies the compositions remain unitary. (AB)† (AB) = B † A† AB = I

2

Implies that quantum computation is reversible.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Unitary Operators The quantum probability requirement is equivalent to requiring that the matrix M be unitary, i.e., that M† · M = I 1

Implies the compositions remain unitary. (AB)† (AB) = B † A† AB = I

2

Implies that quantum computation is reversible.

3

This requirement is more “global” that the classical probability requirement.

Pruim

Details

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition A language L is in BPP if there is a probabilistic TM M such that x ∈ L ⇔ Prob[M(x) accepts] ≥ 2/3 ⇔ caccept -coefficient of M t (cx ) ≥ 2/3 and x∈ / L ⇔ Prob[M(x) accepts] ≤ 1/3 ⇔ caccept -coefficient of M t (cx ) ≤ 1/3 Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition BQP quantum A language L is in BPP if there is a probabilistic TM M such that

x ∈ L ⇔ Prob[M(x) accepts] ≥ 2/3 |hcaccept |M t |cx i|2 ≥ 2/3 ⇔ caccept -coefficient of M t (cx ) ≥ 2/3 and x∈ / L ⇔ Prob[M(x) accepts] ≤ 1/3 |hcaccept |M t |cx i|2 ≤ 1/3 ⇔ caccept -coefficient of M t (cx ) ≤ 1/3 Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition A language L is in NP if there is a ptime probabilistic Turing machine M such that x ∈ L ⇔ Prob[M(x) accepts] > 0.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition NQP quantum A language L is in NP if there is a ptime probabilistic Turing machine M such that

x ∈ L ⇔ Prob[M(x) accepts] > 0.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition NQP quantum A language L is in NP if there is a ptime probabilistic Turing machine M such that

x ∈ L ⇔ Prob[M(x) accepts] > 0.

Definition A language L is in NP if there a ptime predicate P ∈ P such that x ∈ L ⇔ ∃y : P(x, y ) = 1.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition NQP quantum A language L is in NP if there is a ptime probabilistic Turing machine M such that

x ∈ L ⇔ Prob[M(x) accepts] > 0.

Definition QNP P ∈ QP A language L is in NP if there a ptime predicate P ∈ P such that

x ∈ L ⇔ ∃y : P(x, y ) = 1.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Defining Classes using Quantum Machines Definition NQP quantum A language L is in NP if there is a ptime probabilistic Turing machine M such that

x ∈ L ⇔ Prob[M(x) accepts] > 0.

Definition BQNP P ∈ BQP A language L is in NP if there a ptime predicate P ∈ P such that

x ∈ L ⇔ ∃y : P(x, y ) = 1.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Circuits Idea: apply unitary transformations to (quantum) bits instead of to TM configurations.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Circuits qubits Idea: apply unitary transformations to (quantum) bits instead of to TM configurations. Unitary operators on (ordered sets of) qubits are quantum gates.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Turing Machines Defining Classes Quantum Circuits

Quantum Circuits qubits Idea: apply unitary transformations to (quantum) bits instead of to TM configurations. Unitary operators on (ordered sets of) qubits are quantum gates. Easier to work with focus on data transformation can break down circuits into small number of 1- and 2-qubit gates

Uniform quantum circuits shown to be equivalent to quantum TMs (Yao)

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Qubits A bit has two possible values: 0 or 1. A random bit takes on these two values with probabilities p and q such that p + q = 1. A qubit is a vector with two amplitudes α|0i + β|1i

(|α|2 + |β|2 = 1)

This is NOT the same as a random bit that takes on the values 0 and 1 with probabilities |α|2 and |β|2 . A qubit is 2-dimensional.

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Quantum Registers A quantum register is a collection of quantum bits. |ψi =

X

|xi = α|0000i + β|0001i + · · · + γ|1111i

x∈2n

A register with n qubits is 2n -dimensional. A quantum computation can be regarded as a sequence of unitary operators on a (set of) register(s). [Or as one big unitary operator = 2n × 2n unitary matrix.] 4 3 |0000i 7→ |0000i + |1000i 7→ · · · 5 5

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Quantum Registers A quantum register is a collection of quantum bits. |ψi =

X

|xi = α|0000i + β|0001i + · · · + γ|1111i

x∈2n

3 4 |0000i 7→ |0000i + |1000i 7→ · · · 5 5 For decision problems, we can consider one particular configuration of these qubits to be the accepting state, and its amplitude at the end of the computation determines the probability of acceptance. |hα|U|ψi|2

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

1-Qubit Gates X = Z=

1 H=√ 2

0 1 1 0

α|0i + β|1i 7→ β|0i + α|1i

1 0 0 −1

1 1 1 −1

α|0i + β|1i 7→ α|0i − β|1i

1 1 |0i 7→ √ |0i+ √ |1i; 2 2

Pruim

1 1 |1i 7→ √ |0i− √ |1i 2 2

Some Things Quantum Computers Can and Cannot Do

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Two Questions Models A Few Examples Characterization of NQP

CNOT

1 0 C = 0 0

0 1 0 0

0 0 0 1

Pruim

0 0 1 0

|00i 7→ |00i |01i 7→ |01i |10i 7→ |11i |11i 7→ |10i

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Applying Hadamard to a Register H ⊗2

1 (|00i + |01i + |10i + |11i) 2

H ⊗2

1 (|00i − |01i − |10i + |11i) 2

|00i 7→ |11i 7→

Pruim

Some Things Quantum Computers Can and Cannot Do

Qubits 1-Qubit Gates CNOT Applying Hadamard to a Register Deutsch’s Algorithm

Two Questions Models A Few Examples Characterization of NQP

Applying Hadamard to a Register H ⊗2

1 (|00i + |01i + |10i + |11i) 2

H ⊗2

1 (|00i − |01i − |10i + |11i) 2

|00i 7→ |11i 7→

H ⊗m

|0m i 7→

X 1 ( |xi) 2m /2 m x∈2

H ⊗m

|xi 7→

1 2m /2

Pruim

(

X

(−1)x·y |yi)

y∈2m

Some Things Quantum Computers Can and Cannot Do

Deutsch’s Algorithm Algorithm 1

Initially, two qubits in state |ψ0 i = |xy i = |00i

2

Apply X to second qubit (y ): 7→ |01i

3

Apply H to each bit: 7→ 1/2(|00i − |01i + |10i − |11i)

4

Let y = y ⊕ f (x). [Assume f (0) = f (1) = 1] 7→ 1/2(|01i − |00i + |11i − |10i)

5

Apply H to first qubit (x): 7→ 1/23/2 (|01i − |00i + |01i − |00i + |11i − |10i − |11i + |10i) √ = (1/ 2)(|01i − |00i)

6

Now x = f (0) ⊕ f (1) with probability 1.

Deutsch’s Algorithm Algorithm 1

Initially, two qubits in state |ψ0 i = |xy i = |00i

2

Apply X to second qubit (y ): 7→ |01i

3

Apply H to each bit: 7→ 1/2(|00i − |01i + |10i − |11i)

4

Let y = y ⊕ f (x). [Assume f (0) = 0; f (1) = 1] 7→ 1/2(|00i − |01i + |11i − |10i)

5

Apply H to first qubit (x): 7→ 1/23/2 (|00i − |01i + |01i − |00i + |10i − |11i − |11i + |10i √ = (1/ 2)(|10i − |11i))

6

Now x = f (0) ⊕ f (1) with probability 1.

Two Questions Models A Few Examples Characterization of NQP

The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P

The Counting Class C=P and Its Relatives Definition (C= P) A language L is in C= P iff there is a probabilistic TM M such that Prob[M accepts x] =

Pruim

1 2

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P

The Counting Class C=P and Its Relatives Definition (C= P) A language L is in C= P iff there is a probabilistic TM M such that Prob[M accepts x] =

1 2

Definition (GapP) A function f is in the class GapP iff there is a probabilistic machine M such that f (x) =

|{r : M accepts x along r }| − |{r : M rejects x along r }| 2

Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P

The Counting Class C=P and Its Relatives Definition (GapP) A function f is in the class GapP iff there is a probabilistic machine M such that f (x) =

|{r : M accepts x along r }| − |{r : M rejects x along r }| 2

Note: 1 If M witnesses that L ∈ coC P, and f = M is the GapP function defined by M, then x ∈ L ↔ fM (x) 6= 0 2

GapP is the closure of # P under subtraction, and has many nice closure properties. Pruim

Some Things Quantum Computers Can and Cannot Do

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P.

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3 4

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i Apply Hadamard to r AND br : P P 0 0 H ⊗m+1 7→ |ψi = √12 21m r r0 ,b0 (−1)r·r +br b |x, r0 , b 0 i

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i

4

Apply Hadamard to r AND br : P P 0 0 H ⊗m+1 7→ |ψi = √12 21m r r0 ,b0 (−1)r·r +br b |x, r0 , b 0 i

5

Accept iff |x, r, bi = |x, 0, 1i.

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i

4

Apply Hadamard to r AND br : P P 0 0 H ⊗m+1 7→ |ψi = √12 21m r r0 ,b0 (−1)r·r +br b |x, r0 , b 0 i

5

Accept iff |x, r, bi = |x, 0, 1i. Need |hx, 0, 1 | ψi|2 6= 0 ↔ Prob[M accepts x] 6= 21 .

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i

4

Apply Hadamard to r AND br : P P 0 0 H ⊗m+1 7→ |ψi = √12 21m r r0 ,b0 (−1)r·r +br b |x, r0 , b 0 i

5

Accept iff |x, r, bi = |x, 0, 1i. Need hx, 0, 1 | ψi = 0 ↔ Prob[M accepts x] = 12 .

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i

4

Apply Hadamard to r AND br : P P 0 0 H ⊗m+1 7→ |ψi = √12 21m r r0 ,b0 (−1)r·r +br b |x, r0 , b 0 i

5

Accept iff |x, r, bi = |x, 0, 1i. Need hx, 0, 1 | ψi = 0 ↔ Prob[M accepts x] = 12 . hx, 0, 1 | ψi =

√1 1m 22

r·0+br 1 r (−1)

P

Theorem (Fenner,Green,Homer,Pruim) coC= P ⊆ NQP.

Proof. Let M be a machine witnessing that L ∈ coC= P. 1

2

3

Initially, x =input; r = 0, b = 0. |ψ0 i = |x, 0, 0i H ⊗m 1 P Apply Hadamard to r: |x, 0, 0i 7→ 2m/2 r |x, r, 0i P M 1 1 P Compute br = M(x, r): 2m/2 r |x, r, 0i 7→ 2m/2 r |x, r, br i

4

Apply Hadamard to r AND br : P P 0 0 H ⊗m+1 7→ |ψi = √12 21m r r0 ,b0 (−1)r·r +br b |x, r0 , b 0 i

5

Accept iff |x, r, bi = |x, 0, 1i. Need hx, 0, 1 | ψi = 0 ↔ Prob[M accepts x] = 12 . hx, 0, 1 | ψi =

√1 1m 22

r·0+br 1 r (−1)

P

=

br r (−1)

P

√

Two Questions Models A Few Examples Characterization of NQP

The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P

Theorem (Fortnow & Rogers) NQP ⊆ coC= P.

Proof. 1

Let M be a ptime quantum machine/circuit that runs in time t(n) and using amplitudes in {0, ± 5i , ± √12 , ±1}. WLOG, there is has one accepting state |caccept i. Think of M√as a big matrix. Let V = 5 2M. (V is an integer matrix.)

2 3

√ Let |βi = V t |cx i = (5 2)t M t |cx i.

Result follows from the following claim: There is a probabilistic TM N such that hcaccept |V t |cx i = 0 ⇔ Prob[N accepts x] = 12 . Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P

Claim. There is a probabilistic TM N such that hcaccept |V t |cx i = 0 ⇔ Prob[N accepts x] = 1/2 . More generally, for any basis states |αi and |βi, if f (x) = hβ|V t |αi, then f ∈ GapP. Proof. We need to compute one position of the matrix V t . t Vi,j =

X

Vi,k(1) · Vk(1),k(2) · · · · Vk(t−1),k(t) · Vk(t),j

k:t→N

This is a (uniform) exponential sum of a (uniform) polynomial product of ptime-computable functions. By closure properties of GapP, f ∈ GapP. Pruim

Some Things Quantum Computers Can and Cannot Do

Two Questions Models A Few Examples Characterization of NQP

The Class coC=P CoC=P ⊆ NQP NQP ⊆ coC=P

Generalizations Generalization of these results (to deal with different amplitude sets) show that GapP can be used as coefficients to exactly characterize the acceptance probabilities of quantum ptime machines.

Pruim

Some Things Quantum Computers Can and Cannot Do

Appendix

Bra-ket Notation Probability Constraint Quantum Probability Constraint

Appendix Outline

5

Appendix Bra-ket Notation Probability Constraint Quantum Probability Constraint

Pruim

Some Things Quantum Computers Can and Cannot Do

Bra-Ket Notation Physicists like to use “bra-ket” notation to represent vectors. |xi = column vector hx| = hx|† = row vector Example 0 0 Let |xi = 0 and let |y i = 53 . Then 4 1 5 hx| = 0 0 1 , and hy | = 0 53 45 . hx | y i =

4 5

= “x-amplitude in y ”.

hy | y i = ( 53 )( 35 ) + ( 45 )( 45 ) = 1 = norm squared of y . 0 0 0 9 0 (Used in density matrix approach; we |y ihy | = 0 25 16 0 0 25 won’t need it today.) Return

Appendix

Bra-ket Notation Probability Constraint Quantum Probability Constraint

Probability Constraint: Local ⇒ Global Example

@

p

A A p2 p1 A A A

@ q @ @ @ A A q2 q1 A A A

Return

Pruim

Some Things Quantum Computers Can and Cannot Do

Appendix

Bra-ket Notation Probability Constraint Quantum Probability Constraint

The Quantum Probability Constraint is not Local As the example below shows, it is possible to preserve quantum probabilities as each node without preserving them globally. Example

√ 1/ 2

√ @ 1/ 2 @ @ @ √ √ A √ √ A 1/ 2 A 1/ 2 −1/ 2 A −1/ 2 A A A A A A |ai |bi |ai |bi Pruim

@

Some Things Quantum Computers Can and Cannot Do

Appendix

Bra-ket Notation Probability Constraint Quantum Probability Constraint

The Quantum Probability Constraint is not Local As the example below shows, it is possible to preserve quantum probabilities as each node without preserving them globally. Example +

@+ @ + A + − A − A A

|ai

|bi

|ai

|bi

With an appropriate labeling of the internal nodes of this tree, this corresponds to a matrix 1 1 −1 √ , 2 1 −1 which is not unitary.

Return Pruim

Some Things Quantum Computers Can and Cannot Do

Appendix

Bra-ket Notation Probability Constraint Quantum Probability Constraint

Factoring – The Killer Ap? Discrete logarithms and factoring are not in themselves widely useful problems. They have only become useful because they have been found to be crucial for public-key cryptography, and this application is in turn possible only because they have been presumed to be difficult. This is also true of the generalizations of Boneh and Lipton [1995] of these algorithms. If the only uses of quantum computation remain discrete logarithms and factoring, it will likely become a special-purpose technique whose only raison d etre is to thwart public key cryptosystems. However, there may be other hard problems which could be solved asymptotically faster with quantum computers. – P. Shor Pruim

Some Things Quantum Computers Can and Cannot Do