330 likes | 460 Views
Quantum Speedups. DoRon Motter August 14, 2001. Introduction. Two main approaches are known which produce fast Quantum Algorithms The first, and main approach is the Quantum Fourier Transform This is used in number factoring, discrete logarithm, and other algorithms
E N D
Quantum Speedups DoRon Motter August 14, 2001
Introduction • Two main approaches are known which produce fast Quantum Algorithms • The first, and main approach is the Quantum Fourier Transform • This is used in number factoring, discrete logarithm, and other algorithms • The second approach is Grover’s search
Notation • Let 0.j1j2j3…= j1/2+j2/4+j3/8… • Hn denote taking the tensor product n times
Discrete Fourier Transform • Defined as • where 0 k N – 1 • Fast implementation takes O(N lg N)
Quantum Fourier Transform • The same transformation • On an orthonormal basis defined as
Quantum Fourier Transform • Alternately, on an n qubit computer, use the basis • N=2n
Quantum Fourier Transform • That’s great, but how do you build it? • Rewriting QFT expression gives rise to a circuit which implements it
QFT: Gates • To build the circuit for the QFT, we will need an additional gate: • We’ll also need the Hadamard gate
QFT: Implementation • Using R and H we can produce an efficient circuit for the QFT • The circuit comes naturally since the formula for QFT has been decomposed into the product representation
QFT: Implementation • What is the effect of ? • Recall: • Symbolically
QFT: Implementation • What is the effect of ? • Notice:
QFT: Implementation • Using these effects we can verify the circuit
QFT: Implementation • Begin in initial state • The first gate is the Hadamard gate on bit 1 • Next, apply R2
QFT: Implementation • Continue to apply R3…Rn, giving • This produces the desired ‘factor’ in the product representation
QFT: Implementation • The next level of the circuit acts similarly: • Applying the Hadamard gate gives
QFT: Implementation • Applying the gates R2…Rn-1 gives After all gates are applied, the state will be
QFT: Summary • The QFT uses n(n+1)/2 gates not counting swaps • QFT is unitary, since each gate is unitary • Using the QFT is subtle • There is no way of directly accessing the result • There is no way (in general) of preparing the initial state efficiently
Search Algorithms • A simple example of search: • Everyone’s second C++ program: for(int x = 2; x <= sqrt(n); ++x) { if( “n is divisible by x” ) return Composite; } return Prime;
Search Algorithms • Oracle Search • Oracle(x) takes the value 1 iff x is a solution to the search problem • Grover’s search uses an oracle • In general, a unitary operator • The specific oracle depends on the search desired
Grover Iteration • Grover’s Search is the repeated application of a single operation • This operation is called the Grover operator, G • Understanding G is key to understanding Grover’s search
Grover Iteration • G consists of four ‘steps’ • Apply the Oracle operator O • Apply the Hadamard transform Hn • Give every basis state except a phase shift of –1 • Apply the Hadamard transform Hn
Grover Iteration • Give every basis state except a phase shift of –1 • This can be written
Grover Iteration • Consider the last 3 steps • Apply the Hadamard transform Hn • Apply the Hadamard transform Hn Together these give:
Grover Iteration • G consists of four ‘steps’ • Apply the Oracle operator O • Apply the Hadamard transform Hn • Apply the Hadamard transform Hn Together these give:
Grover’s Search • Takes: A black box oracle O which performs • n+1 qubits in the state
Grover’s Search • Runtime: • Procedure: • Initialize states: • Apply Hn to the first n quibits, and HX to the last qubit • Apply the Grover iteration • Measure first n qubits
Grover’s Search • Procedure: • Initialize states: • Apply Hn to the first n quibits, and HX to the last qubit • Apply the Grover iteration • Measure first n qubits