This repository contains all necessary material for the first Rigetti training day at the Creative Destruction Lab Quantum Machine Learning stream 2018/2019. The solutions to the Jupyter notebooks can be found here.
The training was organised by Rigetti Computing and all of the training material was jointly created and presented by Tomas Babej and Mark Fingerhuth.
Unfortunately, we cannot publish this slide deck. Please watch Will Zeng's equivalent talk for the content of this lecture.
- Why program a quantum computer
- The fundamentals of universal quantum computing
- Intro to Rigetti
- Forest
- Quil
- pyQuil
- Grove
- Quantum Virtual Machine
- First Quil program (quantum assembler)
- Coding in low-level Quil
- First quantum circuits
- Measuring quantum states
- Visualizing quantum states on the Bloch sphere
- Single- and multi-qubit gates
- Properties of quantum gates
- (Non)equivalence of different notations
- Pen & paper quantum computing
- Quantum gates and their corresponding rotations on the Bloch sphere
- pyQuil's wavefunction
- Quantum gate identities
- Notation
- pyQuil syntax & code examples
- Classical control flow
- Quantum state preparation
- Grove
- Universal quantum gate set
- Quantum state preparation
- Grove's quantum state generator
- Quantum simulation circuits
- Rigetti's quantum processors
- Qubit decoherence + noise
- Simulating the QPU using QVM with noise models
- QPU topology and implications
- Compiler
- Introspecting QPU specification using API
- Calculating fidelity of circuits
- Working with noise models
- Using Rigetti's compiler