Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Quantum Computing

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Introduction to Quantum Computing

This talk is aimed at software engineers and computer scientists with no knowledge of quantum mechanics. Check out the code at https://github.com/ericmarcos/pyqu

Avatar for Eric Marcos

Eric Marcos

June 09, 2015
Tweet

More Decks by Eric Marcos

Other Decks in Programming

Transcript

  1. 1900 Max Plank E = ħv 1905 Albert Einstein Annus

    mirabilis 1924 Louis de Broglie λ = ħ / p 1927 Werner Heisenberg σxσp ≥ ħ / 2 1928 Paul Dirac (i - ∂ - m) ψ = 0 Quantum Mechanics
  2. 1931 Kurt Gödel Incompleteness Theorems 1936 Alan Turing Turing Machines

    1952 Stephen Kleene Church-Turing Thesis 1956 Noam Chomsky Chomsky Hierarchy 1971 Stephen Cook Leonid Levin NP-Completeness Theory of Computation
  3. 1982 Yuri Manin Richard Feynmann Quantum Computing ideas… 1985 David

    Deutsch Quantum Turing Machines 1992 Deutsch-Josza Algorithm 1994 Peter Shor Shor’s Algorithm 1996 Lov Grover Grover’s Algorithm Quantum Computing 2001 IBM Stanford First physical implementation of Shor’s Algorithm
  4. BIT x ∈ { false , true } OPERATIONS NOT(x)

    = ¬x AND(x, y) = x ∧ y TRUTH VALUES
  5. BIT x ∈ { 0 , 1 } OPERATIONS NOT(x)

    = 1 - x AND(x, y) = x · y INTEGER VALUES
  6. ( ) VECTOR VALUES (0,1) = True = |1> (1,0)

    = False = |0> x ∈ { , } 1 0 ( ) 0 1
  7. ( ) VECTOR VALUES x ∈ { , } 1

    0 ( ) 0 1 OPERATIONS ?
  8. ( ) NOT( ) = 1 0 ( ) 0

    1 NOT(x ̅) = x ̅ ( ) 0 1 1 0 VECTOR VALUES
  9. “I am a Quantum Engineer, but on Sundays I Have

    Principles.” John Stewart Bell
  10. “Oh oh, mamma mia, here I go again, my my,

    how can I resist you” Benny Andersson (ABBA)
  11. AND(x ̅, y ̅) = ?? We need to combine

    x ̅ and y ̅ into a joint state VECTOR VALUES OPERATIONS
  12. COMBINING VECTOR BITS x ̅ ⊗ y ̅ = z

    ̅ In CQ the joint state of 2 vector bits is its tensor product
  13. COMBINING VECTOR BITS w ̅ ⊗ x ̅ ⊗ y

    ̅ = z ̅ In CQ the joint state of N vector bits is its tensor product
  14. COMBINING VECTOR BITS x ̅ ⊗ y ̅ = (

    ) x0 · y0 x0 · y1 x1 · y0 x1 · y1
  15. In CQ a register of N bits is represented by

    a vector space of 2N dimensions
  16. VECTOR VALUES OPERATIONS quantum circuits AND x ̅ y ̅

    w ̅ OR I I I ⊗ AND = Uand OR ⊗ I = Uor
  17. ( ) 1 0 0 0 0.5 × ( )

    0 1 0 0 + 0.5 × ( ) 0 0 1 0 + 0.5 × ( ) 0 0 0 1 + 0.5 ×
  18. |Ψ> = |0> + |1> = THE QUBIT , ∈

    ℂ ( ) Quantum superposition
  19. Operating on a qubit in a superposition state means operating

    on all the values at once THE GOOD NEWS
  20. THE GOOD NEWS ( ) 0.5 0.5 0.5 0.5 Uf

    × This is like applying Uf to |00>, |01>, |10> and |11> in just one computation step!
  21. Reading the qubit destroys superposition and makes it collapse to

    one of the base states randomly THE BAD NEWS
  22. THE BAD NEWS ( ) 0.5 0.5 0.5 0.5 Uf

    × = |Ψ> read(|Ψ>) p(|00>) = ?? p(|01>) = ?? p(|10>) = ?? p(|11>) = ?? p = ||||2
  23. HADAMARD GATE H |0> = ( ) 1/√2 1/√2 |0>

    H |0> + |1> √2 H |0> H |1> = ( ) 1/√2 -1/√2
  24. CNOT GATE ( ) 1 0 0 0 0 1

    0 0 0 0 0 1 0 0 1 0 CNOT =
  25. COMPUTING FUNCTIONS |0> H |0> + |1> √2 U |0>

    - |1> √2 |Ψ> = 1/2[(-1)f(0)+(-1)f(1)]|0> + 1/2[(-1)f(0)-(-1)f(1)]|1> H |Ψ>
  26. The Deutsch algorithm : {0,1} → {0,1} Given , tell

    me whether is constant (all outputs are the same for whatever input) or balanced (same number of 1s and 0s)
  27. Uses the phase kick-back technique and quantum interference to determine

    whether a function is constant or balanced in just one call The Deutsch algorithm
  28. The Deutsch-Josza algorithm : {0,1}n → {0,1} Given , tell

    me whether is constant (all outputs are the same for whatever input) or balanced (same number of 1s and 0s)