1 / 50

Quantum Computing

Quantum Computing. Quantum States and Quantum Gates Multiple Qubits and Entangled States Quantum Gate Arrays Quantum Parallelism Examples of Quantum Algorithms Grover’s Unstructured Search Algorithm Schor’s Factoring Algorithm Quantum Error Correcting Codes.

rusk
Télécharger la présentation

Quantum Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quantum Computing • Quantum States and Quantum Gates • Multiple Qubits and Entangled States • Quantum Gate Arrays • Quantum Parallelism • Examples of Quantum Algorithms • Grover’s Unstructured Search Algorithm • Schor’s Factoring Algorithm • Quantum Error Correcting Codes 6. Quantum Computer Architecture 7. Quantum Computers and Complexity

  2. 1 0 0 1 |1> = |0> = Quantum States For quantum computing we need only deal with finite quantum systems, and it suffices to consider only finite dimensional complex vector spaces with inner product. A quantum bit (qubit) is a unit vector in a one-dimensional complex vector space. We will use Bra/Ket notation (invented by Dirac) to represent these unit vectors.

  3. 0 • 0 1 0 1 1 0 0 1 -1 0 • 0 • 0 -1 Single-Qubit State Transformations Identity Transformation I: |0>  |0> |1>  |1> Complement X: |0>  |1> |1>  |0> Negative Complement Y: |0>  - |1> |1>  |0> XY Product (phase transformation) Z: |0>  |0> |1>  - |1>

  4. 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 Reversible Gates Controlled Not CNOT: |00>  |00> |01>  |01> |10>  |11> |11>  |10> CNOT CNOT* = I CNOT is unitary

  5. Reversible Gates Controlled-Controlled-Not (Toffoli Gate) The third bit is negated only if the first two are both 1 CCNOT : |00x> |00x> where |x> = |0> or |x> = |1> |01x> |01x> |10x> |10x> |11x> |11y> where |y> = X|x> complement of qubit

  6. Reversible Gates Controlled-Not and Toffoli gates are both reversible and the unitary transformations that they implement cannot be decomposed into a tensor product of single qubit transformations. The Toffoli Gate can be used to construct a complete set of Boolean connectives. Negation Conjunction T|1,1,x> = |1,1,x> T|x,y,0> = |x,y,xy>

  7. Walsh Hadamard Transformation The single-qubit Hadamard transformation H: |0>  (1/2) (|0> + |1>) |1>  (1/ 2) (|0> - |1>) When applied to n bits individually, H generates a superposition of all 2n possible states – which can represent numbers from 0 to 2n – 1. (H  H  ….  H) |00…00> = (1/ 2n)((| 0> + |1>)  (|0>+|1>)  …  (|0>+|1>) = (1/ 2n)  |x> where the summation is from x = 0 to x = 2n - 1

  8. Bra/Ket Notation Let |0> and |1> be any two basis vector (states) in the complex plane. And let |x> be any (unit) vector (state) in the plane. Then: |x> = a|0> + b|1> <x| = |x>* = a*<0| + b*<1| <x|x> = 1 = (a*<0| + b*<1|)(a|0> + b|1>) = a*a <0|0> + a*b<0|1> + b*a<1|0> + b*b <1|1> = a*a + b*b = 1 Since <0|0> = <1|1> = 1 and <0|1> = <1|0> = 0

  9. Bra/Ket Notation Consider again the transformation X: |0>  |1> |1>  |0> We can represent X as X = |0><1| + |1><0| X|0> = (|0><1| + |1><0|)|0> = |0><1|0> +|1><0|0> = |1> X|1> = (|0><1| + |1><0|)|1> = |0><1|1> +|1><0|1> = |0> All unitary transformations can be expressed in Bra/Ket notation

  10. Multiple Qubit States Multiple Qubit states are formed from the tensor product of single Qubit states |x> = a|0> + b|1> |y> = c|0> + d|1> |x> |y> = (a|0> + b|1>)  (c|0> + d|1>) = ac(|0>  |0>) + ad (|0>  |1>) +bc (|0>  |0>) +(bd(|1>  |1>) = ac|00> + ad |01> + bc|10> + bd|11> The tensor product of an m dimension vector and a k dimension vector is an mk dimension vector

  11. Entangled States Consider the two 2-qubit states: |> = 1/2(|00> + |11>) and |> = 1/2(|00> + |01>) |> is composed by the tensor product |0>  1/2(|0> + |1>) Measurement of the second bit will yield |0> or |1> with a probability of ½ for each result, independently of whether the first bit has been measured or not. Measurement of the first bit will always yield |0>. |> cannot be decomposed into a tensor product of two single qubits It is an entangled state. The first measurement completely determines the outcome of the second.

  12. Cloning Quantum states cannot be copied or cloned! Proof Assume a unitary transformation U such that U|a0> = |aa> Let |a> and |b> be orthogonal states, and U|a0> = |aa> and U|b0> = |bb> Now consider |c> = 1/2(|a> + |b>) By linearity U|c0> =1/2(U|a0> +U |b0>) = 1/2(|aa> + |bb>) But if U is a cloning transformation U|c0> = |cc>=1/2(|a> + |b>)  1/2(|a> + |b>) = ½(|aa> + |ab> + |ba> + bb>) Contradiction!!

  13. Quantum Gate Arrays 1-bit full adder |c> |c> |x> |x> |y> |y> |0> |s> |1> |1> |0> |0> |c’> |0> |0> |1> Let |c> = |1>, |x> = |0>, |y> = |1> |s> = |0>, |c’> = |1>

  14. Uf Quantum Gate Arrays It is possible to construct reversible quantum gates for any classical computable functionfwith m input andk output bits. There exists a quantum gate array that implements the unitary transformation Uf : |x, y>  |x, y  f(x)>, where  indicates bitwise xor. |x> |x> |y> |y  f(x)>

  15. Uf Uf Quantum Gate Arrays The previous transformation Uf is reversible Uf + = Uf Uf+Uf = Uf Uf = I |x> |x> |x> |y  f(x)> |y f(x)  f(x)> |y> But |y f(x)  f(x)> = |y>

  16. Superposition of Quantum States Consider the Tofolli Gate |x> |x> |y> |y> |0> |x>  |y> Apply T, the Tofolli transform, to the superposition of all inputs. T(H|0>  H|0>  |0> ) = ½(|000> + |010> + |100> + |111>) Quantum parallelism – Applying the Tofolli transform to a superposition of all of the input states produces a superposition of all of the states in the “truth table”

  17. Superposition of Quantum States BUT Only one of the superposed states can be extracted by measurement 0 = 1 T(H|0>  H|0>  |0> ) = ½(|000> + |010> + |100> + |111>) |000> + |010> + |100> 0 |111> 1 Measurement of the output projects the superposition onto the set of states consistent with the result

  18. Quantum Parallelism In order to take advantage of quantum parallelism one must: 1. Transform the state in such a way as to amplify the values of interest – so that they have a higher probability of being selected during measurement Grover’s unstructured search algorithm 2. Find common properties of ALL the states of f(x) Shor’s factoring algorithm

  19. N-1 1/2n|x,P(x)> i=0 Grover’s Unstructured Search Given an unstructured list of size N and a proposition P, find an x in the list such that P(x) is true. Let UP be the Quantum gate that implements the classical function P(x), and let n be such that 2n N. UP : |x,0>  |x,P(x)> UP operating on a superposition of all input states yields: If there is a single state where P(xi) = 1 (true), the probability of reading that state in a measurement is just 1/2n We need to increase the probability of selecting this state.

  20. Grover’s Search Algorithm 1. Prepare a register containing the superposition of all values 0…2n-1 2. Compute P(x i) on this register. 3. Change the amplitude ai to -ai for xi such that P(xi) = 1 average • Apply inversion about the average to increase the amplitude of xi with P(xi) = 1. average 5. Repeat steps 2 through 4 /4(2n ) times. 6. Read the result

  21. UP|,b> = (1/2n)UP ( |x, b> +  |x, b>) x  X0 x  X1 Grover’s Search Algorithm Step 3. Changing the sign Let UP be the unitary transformation that implements UP |x, b> = |x, b  P(x)> Apply UP to the superposition |> = (1/2n) x=0..n-1|x> and Choose b = (1/2)(|0> - |1>) Let X0 = {x|P(x) = 0}, and X1 = {x|P(x) = 1} then

  22. UP|,b> = (1/2n)UP ( |x, b> +  |x, b>) x  X0 x  X1 = (1/2n+1)UP ( |x, 0> +  |x, 0> -  |x, 1> -  |x, 1>) x  X0 x  X1 x  X0 x  X1 = (1/2n+1)( |x, 0  0> +  |x, 0  1> -  |x, 1  0> -  |x, 1  1>) x  X0 x  X1 x  X0 x  X1 = (1/2n+1)( |x, 0 > +  |x, 1> -  |x, 1 > -  |x, 0>) x  X0 x  X1 x  X0 x  X1 = (1/2n)( |x > -  |x >)  |b> x  X0 x  X1 Grover’s Quantum Search Algorithm The amplitude of the states in X1 have been inverted

  23. N-1 N-1 • ai|xi>  (2A – ai)|xi> i = 0 i = 0 (2/N) – 1 2/N 2/N ……… 2/N 2/N (2/N)-1 2/N ………. 2/N D = ………………………………………... 2/N 2/N 2/N ………… 2/N Grover’s Quantum Search Algorithm Step 4. Apply inversion about the average Where A denotes the average of the ai’s This inversion can be performed by the N x N matrix

  24. 0 0 …. 0 • 0 -1 0 …. 0 • 0 …………… 0 • 0 ………...0 -1 R = Grover’s Quantum Search Algorithm The transformation D is unitary (D*D = I) and can be decomposed into O(n) = O(logN) quantum gates. D = WRW where W is the Walsh-Hadamard transformation and

  25. 2 0 0 ……. 0 0 0 0 …….. 0 0 ……………… 0 0 ……………0 0 R’ = 2/N 2/N 2/N ……. 2/N 2/N 2/N 2/N ….…. 2/N 2/N ………………….. 2/N 2/N ……………2/N 2/N WR’W = Grover’s Quantum Search Algorithm Consider R = R’ – I, where I is the identity matrix and R’ is Then WRW = W(R’ – I)W, and it is easily shown that And WR’W – I = D

  26. Schor’s Factoring Algorithm Factor an integer M Step 1 – choose arbitrarily an integer a if a is not relatively prime to M we have found a factor else apply the rest of the algorithm. Step 2 – choose m such that M  2m <M2 Use quantum parallelism to compute f(x) = ax mod M for all integers from 0 to 2m –1 The function is encoded in the quantum state (1/2m) |x,f(x)> where x ranges from 0 to 2m -1

  27. Schor’s Factoring Algorithm Step 2 -- details Repeatedly square a (mod M) {classically} to get a2ifor i  m This requires O(m) squarings and multiplications of m-bit numbers (mod M) This gives way to a gate array that uses O(m log(m) loglog (m)) gates to multiply two m-bit numbers (using Schönhage-Strassen) The multiplication algorithm then becomes: f(x) := 1 for i = 0 to m – 1 if (xi == 1) then //where xi is ith bit from right of x f(x) := f(x) * a2i(mod M) //subroutine 2 endif endfor

  28. Schor’s Factoring Algorithm Step 2 – details (cont.) Subroutine 2 let c = a2i (mod M), and b = poweri, then result := 0 for j = 0 to m – 1 if (bi == 1) then result := result + 2ic (mod M) endif endfor Where 2ic is precomputed and built into the gate structure. The inverse of this operation is then used to erase b.

  29. 1 if f(x) = u 0 otherwise C x g(x)|x,u> where g(x) = and C is a complex scale factor  Schor’s Factoring Algorithm Step 3 – Construct a state that has the same period as f Measure the last lg M bits of (1/2m) |x,f(x)> The measurement projects the state space onto the subspace that is compatible with the measured value> The state after measurement is:

  30. A|x, 0>  |x, f(x)> where f(x) = ax (mod M) Schor’s Factoring Algorithm m bits |x> |x> |f(x)> |0> log M qubits Measure last log M bits State |x, f(x)> is collapsed to g(x) |x,u> where u is the measured state, and g(x) = 1 if f(x) = u, else 0

  31. Schor’s Factoring Algorithm amplitude x The above graph displays the values of x consistent with the measurement on |f(x)> If only we could measure the separation between adjacent values, our problem would be solved! But alas, quantum mechanics only allows a single measurement!! We must find a way of determining the periodicity of these states from a single measurement of the first m bits of our register.

  32. A|x,0> UQFT Measurement of transformed states Schor’s Factoring Algorithm The Fourier transform of this superposition of states that give the measured u as a value of f(x) maps into states in a frequency domain. g(x)|x> G(c)|c> |x> Measurement of f(x)

  33. Schor’s Factoring Algorithm Step 4 – Perform a quantum Fourier transform on the resulting state UQFT : x g(x)|x,u>  x G(c)|c,u> When the period r of the function g(x) is a power of 2, the resulting Fourier transform is j cj |j(2m/r),u> where the amplitude is 0 except at multiples of 2m /r. When the period r does not divide 2m, the transform approximates the exact case and most of the amplitude is attached to integers close to 2m /r

  34. 0 0 0 • 0 1 0 0 • 0 0 1 0 • 0 0 0 eik-j Let Sj,k = Schor’s Factoring Algorithm Step 4 – details where k –j = /2k-j The quantum Fourier transform is then given by Hm-1Sm-2,m-1 Hm-2Sm-3,m-1Sm-3,m-2 Hm-3 …. H1S0,m-1S0,m-2 …S0,1H0 Where the matrices are applied in reverse order (from left to right) and the transformed state is the bit-reversed state of state |c> The quantum Fourier transform requires m(m-1)/2 gates.

  35. Schor’s Factoring Algorithm Step 5 – Extract the period Measure the state, and call the result v v = j(2m/r) In general j and r will be relatively prime and the period is not a power of 2. A continued fraction expansion (on a classical computer) will produce an integer value q, that is likely to be the period. Step 6 – Find a factor of M If q is even, use the Euclidean algorithm to check whether (aq/2 + 1) or (aq/2 - 1) has a non-trivial factor with M

  36. Schor’s Factoring Algorithm The reason why (aq/2 + 1) or (aq/2 - 1)is likely to have a non-trivial common factor with M is as follows: If q is the period of f(x) = ax mod M then aq = 1 mod M since aq ax = ax mod M for all x. If q is even we can write (aq/2 + 1) (aq/2 - 1) = 0 mod M thus, if neither of these factors is a multiple of M, either has a non-trivial factor with M. (found by using Euclid’s algorithm on a classical computer)

  37. Schor’s Factoring Algorithm Step 7 – Repeat the algorithm, if necessary Reasons for having to repeat the algorithm • The value of v was not close enough to a multiple of 2m/r • The period r and the multiplier j have a common factor – so that the denominator q was a factor of the period and not the period itself • Step 6 yields M as M’s factor • The period of f(x) = ax mod M is odd Schor shows (claims) that this procedure, when applied to a random a (mod M) yields a non-trivial factor of M with probability at least 1 – 1/2k-1 where k is the number of distinct odd prime factors of M.

  38. Schor’s Factoring Algorithm Example Let M = 21 Step 1 – choose a = 11 which is relatively prime to M Step 2 – let M2 2m < 2 M2 441  2m < 882 then m = 9 find ax mod M on the superposition of states x = 0,…,2m - 1 Step 3 – Measure the last lg M qubits of the state (1/2m) x|x, ax (modM)>  C xg(x)|x, u> Step 4 – Apply Fourier transform to collapsed state UQFT : xg(x)|x, u>  G(c)|c>

  39. Schor’s Factoring Algorithm Step 5. Measure the transformed state Assume measurement gives v = 427 Since v and 2m are relatively prime, the period r will probably not divide 2m, and continued fraction expansion of v/2m yields q = 6. (This is probably the period of f ) Step 6. Since q is even, aq/2 + 1 or aq/2 – 1 is likely to have a non- trivial common factor with M. (On a classical computer) a = 11, q/2 = 3, M = 21 (113 + 1) = 1332 (113 - 1) = 1330 gcd(1332, 21) = 7 and gcd(1330, 21) = 3

  40. Quantum Error Correction One problem in constructing quantum computers is the problem of decoherence – the interaction of qubits with the external environment causing them to transform in an unintended (and non-unitary) fashion. Steane estimates the decoherence of any system likely to be built to be 107 times too large to run Shor’s algorithm on a 130 digit number.* Characterization of Errors |  >  (e1I + e2 X + e3 Y + e4 Z)|  > = i ei Ei |  > The possible errors for each single qubit consist of no errors (I), bit- flip errors (X), phase errors (Z), and bit-flip phase errors (Y). In the general case, possible errors are expressed as linear combinations of unitary error operators Ei *Steane, A. (1998) –preprint – http://xxx.lanl.gov/abs/quant-ph/9708022

  41. Quantum Error Correction Given – an error correcting code,C, with a syndrome extraction operatorSC– An n-bit quantum state |> is encoded in an n + k bit quantum state |>. |> = C|> Assume decoherence leads to an error state i e i E i| > The signal encoded state|> can be recovered as follows: • Apply the syndrome extraction operator SC to the quantum state (padded with sufficient 0 bits.) SC(i ei Ei | >)  |0> = i ei Ei | >  |i> • Measure the |i> component of the result. This yields some random value i0 and projects the state to Ei0 | , i0> • Apply the inverse error Ei0-1 to the first n+ k qubits of Ei0| , i0> to get the corrected state | >

  42. Quantum Error Correction Example Consider an error correcting code C that maps |0>  |000>, and |1>  |111> C can correct single bit-flip errors E = {I I  I, X  I  I, I  X  I, I  I  X} The syndrome extraction operator is: S: |x0, x1, x2, 0, 0, 0>  |x0, x1, x2, x0xor x1, x0xor x2, x1xor x2>

  43. Quantum Error Correction Consider the qubit |> = 1/2(|0> - |1>) C|> = |> = 1/2(|000> - |111>) And the error is (two single bit-flip errors) E =(4/5) X  I  I + (3/5) I  X  I The resulting error state is E |> = (4/5 X  I  I + 3/5 I  X  I )(1/2) (|000> - |111>)

  44. Quantum Error Correction continuing E |> = (4/52)|(100> - |011>) + (3/52)(|010> - |101>) Now apply the syndrome extraction operator to Sc E |>  |000> = Sc((4/52)|(100000> - |011000>) + (3/52)(|010000> - |101000>)) = (4/52)|(100110> - |011110>) + (3/52)(|010101> - |101101>) = (4/52)|(100> - |011>)  |110> + (3/52)(|010> - |101>)  |101>

  45. Quantum Error Correction Measurement of the last three bits yields either state |110> or |101> Assume measurement yields |110> then the state collapses to 1/2(|100> - |011>)  |110> The error can now be removed by applying Ei-1 = X  I  I to the first three bits of the state. Ei-1 (1/2(|100> - |011>) = 1/2(|000> - |111>

  46. The Architecture of a Quantum Computer Preliminaries Define an operator q † = |1><0| q†|0> = |1><0| 0> = |1> q†|1> = |1><0| 1> = 0 Similarly, q, the complex conjugate of q†, is defined q = |0><1| q|0> = |0><1| 0> = 0 q|1> = |0><1| 1> = |0> Note that q† + q = X and q†q + q q† = I

  47. The Architecture of Quantum Computers Time evolution of a quantum system Let |in> be the initial state of a quantum system, then the time evolution of this system is given by the equation |out> = eiHt|in> where H is the time evolution operator (Hamiltonian) and eiHt can be expanded as eiHt = 1 + iHt – H2t2/2! + ….. The operator H is operating an innumerable number of times, and our output state is the superposition of all these possibilities

  48. k . . . 1 0 logic program Program counter Memory The Architecture for a Quantum Computer The basic Computer Architecture

  49. |1> k k-1 . . . |1> |0> |0> Ak-1 Ak-2 ,.,A2 A1 |1> A2 |1> 2 1 0 |0> A1 |1> |0> PC Qubit registers q† 2q1 A2 The Architecture of a Quantum Computer Are we there yet? A1|> A2A1 |> q† 1q0 A1 H =  q† i+1q i Ai+1 + c.c where summation is from i = 0 to i = k-1

  50. References Los Alamos preprint server: http://xxx.lanl.gov/archive/quant-ph E. Reiffel and W. Polak. 1998. An Introduction to Quantum Computing for Non-Physicists. lanl preprint. R. P. Feynman. 1996. Lectures on Computation. Addison-Wesley. P. W. Schor. 1997. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. Society for Industrial and Applied Mathematics Journal on Computing 25, 5, 1484-1509. (Expanded version of 1994 paper)

More Related