Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Introduction to Quantum Computing

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

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)