The IBM Quantum Computing Platform
Total Page:16
File Type:pdf, Size:1020Kb
The IBM Quantum Computing Platform Martin Koppenh¨ofer https://www.quantumtheory-bruder.physik.unibas.ch/ Online resources https://www.quantumtheory-bruder.physik.unibas.ch/ people/martin-koppenhoefer/ quantum-computing-and-robotic-science-workshop.html installation guide material for this session slides 2 Outline 1 Recap Overview of quantum-computing platforms Bell states 2 Programming the quantum computer with python The qiskit framework Programming session 1 3 Superdense coding Programming session 2 4 Quantum algorithms Deutsch algorithm Programming session 3 3 Recap spins in large molecules + NMR ions in electromagnetic traps neutral atoms in optical lattices optical quantum computing 31P donor atoms in silicon electron spins in semiconductor quantum dots superconducting electrical circuits flux qubit * charge qubit phase qubit * transmon qubit topological qubits * online access 4 Recap Bell states 1 2 3 x H 1 jβ00i = p (j00i + j11i) |βxy > 2 CNOT 1 y jβ01i = p (j01i + j10i) 2 1 jβ10i = p (j00i − j11i) 1 input state: jxyi = j00i 2 2 apply Hadamard gate 1 jβ i = p (j01i − j10i) 1 1 11 H^ = p1 : 2 2 1 −1 p1 (j00i + j10i) General expression: 2 jβ i = p1 (j0yi + (−1)x j1¯yi) 3 apply CNOT gate: xy 2 p1 (j00i + j11i) = jβ i 2 00 5 Recap Bell states 6 Recap Bell states on a real quantum processor 7 Programming the quantum computer with python The qiskit framework 8 Programming the quantum computer with python The qiskit framework Terra Ignis define quantum algorithms characterize quantum by quantum circuits / pulses hardware adapt quantum circuits to reconstruct quantum states the hardware (transpilation) (tomography) connect to the quantum compensate noise and errors hardware (mitigation) visualize results Aqua Aer predefined algorithms for simulate quantum typical applications algorithms 9 Programming the quantum computer with python Programming session 1 Content defining quantum circuits in python (Terra) state-vector simulator (Aer) QASM simulator (Aer) device imperfections 10 Programming the quantum computer with python Programming session 1 Agenda you will be split into small teams (in breakout rooms) in each breakout room, introduce you quickly to your teammates one participant turns on screen sharing discuss and code together the exercise after a while, the host will close the breakout rooms and let you return to the main session 11 Superdense coding Idea two parties: Alice (A) and Bob (B) Alice wants to transmit 2 classical bits of information to Bob classically, she needs to send two bits to Bob quantum-mechanically, she can send one qubit to Bob! 12 Superdense coding Idea Bell states 1 1 jβ00i = p (j00i + j11i) jβ01i = p (j01i + j10i) 2 2 1 1 jβ10i = p (j00i − j11i) jβ11i = p (j01i − j10i) 2 2 Consider that Alice and Bob share a Bell state jβ00i Alice can convert this Bell state into any other Bell state herself (with no help from Bob) σ^x ⊗ 1 jβ00i = jβ01i σ^z ⊗ 1 jβ00i = jβ10i iσ^y ⊗ 1 jβ00i = jβ11i iσ^y =σ ^z σ^x 13 Superdense coding Protocol A single qubit can transmit two classical bits of information ALICE t : jai jbi j0i j0i a a 0 j0i+j1i b b t : jai jbi p j0i 1 2 σz j00i+j11i t : jai jbi p 2 2 0 HH a i.e. jai jbi jβ00i 0 b t3: jai jbi jβ0bi BOB t4: jai jbi jβabi t t t t t t t 0 1 2 3 4 5 6 t6: jai jbi jai jbi The information about a and b is encoded in the entangled state of the two-qubit system shared by Alice and Bob 14 Superdense coding Programming session 2 Content transpiling quantum circuits (Terra) error mitigation (Ignis) 15 Quantum algorithms Deutsch algorithm Is f (x): f0; 1g ! f0; 1g balanced or constant? balanced if f (0) = f (1) , f (0) ⊕ f (1) = 1 constant if f (0) = f (1) , f (0) ⊕ f (1) = 0 U^f : jx; yi ! jx; y ⊕ f (x)i quantum circuit implementing y + f (x) mod 2 in the second qubit example: input jxi = p1 (j0i + j1i), jyi = j0i leads to 2 1 p (j0; f (0)i + j1; f (1)i) 2 ) one \application" of f results in both f (0) and f (1)! but: measurement gives either j0; f (0)i or j1; f (1)i so, quantum parallelism does not help ...? 16 Quantum algorithms Deutsch algorithm ...it does if we transform the information in a clever way: |0> H x x H Uf |1> H y y+f(x) generate use quantum use superposition parallelism interference final state is / jf (0) ⊕ f (1)i ⊗ (j0i − j1i) ) measuring the first qubit gives a global property of f , namely f (0) ⊕ f (1), using only one evaluation of f (x) this is impossible on a classical computer! 18 Quantum algorithms Programming session 3 Content predefined quantum algorithms (Aqua) 19 Educational material https://qiskit.org/learn Qiskit textbook Youtube series Coding with Qiskit Online course Introduction to QC 20 Thank you for your attention..