QuID 2019a second edition of Quantum Information for Developers summer school, took place at ETH Zürich on September 8-12, 2019.

QuID brings together key academia and industry players in Zurich, to promote synergies and prepare concerted efforts towards quantum computing research in the region.

Target audience

  • Students: undergrad and masters students in physics, computer science and related fields, who may or not have taken courses on quantum information and quantum computing.
  • Academics: PhD students, postdocs and faculty in physics, computer science or related fields, who would like to learn more about quantum computing.
  • Software developers: working in industry, and who are curious about the quantum buzz.

Structure

The summer school runs from Sunday the 8th at 10am to Thursday the 12th lunchtime:

  • In the morning, we will offer lectures on various theoretical topics in quantum computing, separated into two parallel tracks: one for participants who are new to quantum computing (basics track), and one for those who are already familiar with standard quantum algorithms (advanced track).
  • In the afternoon, we will start with tutorials on different software platforms for quantum computing, and practice by implementing some of the algorithms taught in the morning.

Basics track

The basics track is aimed at those who are interested in quantum computing but have had little to no contact with it. This includes software engineers, mathematicians, computer scientists and physicists, working both in academia and in industry.

The goal of this track is to introduce the basic quantum formalism needed to start coding, teach the standard quantum algorithms and why they matter, and then give an overview of the wider field of quantum computing, including quantum cryptography and quantum error correction.

Basics of quantum mechanics, gates and circuits – Renato Renner, ETH Zurich
(3h, Sunday 10:30, 11:45, 14:00, HG D1.1)

Lecture plan:
   – motivation: why quantum computing?
   – quantum states 
   – evolution and measurement of quantum systems
   – tensor product: beyond the qubit
   – entanglement
   – quantum gates and circuits
– density operators and partial trace

Quantum algorithms – Joran van Apeldoorn, QuSoft & CWI Amsterdam and Arjan Cornelissen, QuSoft & University of Amsterdam (4h, Monday 9:00, 10:30, 11:45, 14:00, HCI G7) 

Lecture plan:
1. Recap
2. Amplitude amplification
   – Randomized algorithms
   – Amplitude amplification
   – Grover search
   – Exercises in cirq
3. Phase estimation
   – Distinguishing a +1 and -1 eigenvalue
   – Estimating a phase per bit
   – The quantum Fourier transform
   – Exercises in cirq
4. Amplitude estimation
   – A closer look at the amplitude amplification iterate
   – Amplitude estimation
   – Speeding up Monte Carlo methods
   – Exercises in cirq
5. Overview of some other algorithms
   – Shor’s algorithm for factoring
   – HHL algorithm for systems of linear equations.
   – Gradient Computation
6. Small quiz

Installation instructions:
These lectures including programming exercises. They will use an automatic code grading system called Qtest. In order to use Qtest optimally, you should have the following components installed on your computer: 
  * Python 3.5 or higher. This is the programming language that we will be using. 
  * pip. This is the python package manager that we will be using to install the python packages that we need. 
  * cirq. This is Google’s quantum computing python library, which we will be using to construct and simulate our quantum circuits. How these components are installed depends on the operating system you are using. More detailed instructions can be found on the circ websiteNote: It may be better to skip the following line of code, as it might to more harm than good:     pip install –upgrade pip

References: 

  * Ronald de Wolf’s lecture notes

Quantum cryptography – Christian Majenz, QuSoft & University of Amsterdam (3h, Tuesday 10:30, 11:45, 14:00 HCI G7)

Lecture plan:
Overview: Quantum aspects of cryptography.
Fully-quantum cryptography
   –  The quantum one-time pad
    – The Clifford authentication code
    – Teaser: oracle security
BB84 states and applications
    – BB84 states and a few properties
    – Application 1: Wiesner’s quantum money scheme
    – Application 2: Quantum key distribution

Quantum error correction – Nikolas Breuckmann, University College London (3h, Wednesday 9:00, 10:30, 11:45 HCI G7) [slides: part 1part 2]

Lecture plan:
1.  Basics
        Quantum errors
        Can quantum error correction (QEC) work?
        Active & passive QEC
        Knill-Laflamme condition
        Fault-tolerant gates
        The Fault-Tolerance theorem

2.  Stabilizer codes
        The stabilizer formalism
        CSS construction
        Bounds on code parameters

3.  Topological & LDPC codes
        Homological codes
        Color codes
        Overview of LDPC codes

4.  Quantum logic
        Transversal gates
        No-go results
        Lattice surgery
        Magic state distillation
        The overhead of QEC

5.  Implementation in hardware
        Challenges
        State of the art
        The road ahead

6.  Is space-time a quantum code? 


Advanced track

The advanced track is aimed at computer science and physics masters students who’ve taken at least one or two semester courses on quantum information processing or quantum computing, as well as PhD students in quantum technologies.

The goal of this track is to give students a primer into hot topics that are not usually covered in standard academic courses but are highly relevant for current research in academia and industry. It should also give students directions for self-study, to prepare them to apply for PhD, postdoc and industry positions.

What is required to solve chemical problems in a quantum computer? – Markus Reiher,ETH Zurich (1h, Sunday 10:30 HG 1.2) [slides]


Lecture plan:

– conceptual overview of many-particle wave function methods
– algorithms to solve for their parameters for traditional computing
– the quantum computing challenge in chemistry
– from simple examples to complex chemical processes
  

Quantum chemistry –  James D. Whitfield, Dartmouth College (3h, Sunday 11:45, 14:00 HG D1.2, Monday 9:00 HCI G3) [first lecture] [second lecture] [exercises]
 
These lectures will include programming exercises in Julia
Lecture plan: 

1. Hamiltonian simulation problems and quantum chemistry
     – broader context
     – formal problem statement
     – computational complexity

2. Fermions, bosons, and qubits
     – fermions and bosons
     – first and second quantization
     – basics of fermion to qubit mappings

3. Time evolution and measurements of Hamiltonians
     – basics of Hamiltonian simulation methods: Trotter-Suzuki and block-encoding methods

     – hybrid quantum-classical state preparation: variational ansatze and optimization methods
     – measurement: phase estimation, variants, and alternatives

Tensor networks – Maris Ozols, QuSoft & University of Amsterdam (3h, Monday 10:30, 11:45, 14:00 HCI G3) [exercises] [lecture notes]

Lecture plan:
1. Tensor network formalism
   – abstract tensors and basic operations on tensors
   – tensor networks and graphical notation
   – exercises: tensor network identities in quantum information

2. Tensor networks and open quantum systems
   – vectorization, purification, and Schmidt decomposition
   – superoperators and quantum channels
   – superoperator representations (natural, Choi, Kraus, Stinespring)
   – conditions for complete positivity and trace preservation
   – exercises: vectorization, quantum channels and their representations

3. Quantum circuits as tensor networks
   – quantum teleportation
   – simulation of quantum circuits
   – tensor operations in Python

References:
 * Tensor networks in a nutshell 
 * Tensor networks and graphical calculus for open quantum systems 
 * Hand-waving and interpretive dance: An introductory course on tensor networks 
 * The theory of quantum information, lecture notes by John Watrous

Quantum circuit decomposition – Roger Colbeck, University of York (3h, Tuesday 10:30, 11:45, HCI G3, 14:00 HCI J4)
  
Lecture plan:
– What we want from quantum circuit decompositions
– Universal gate sets and some decompositions
– Discussion of the efficiencies
– Universal circuit templates
– Demonstration of UniversalQCompiler software
– Discussion of the extension of the ideas to channels/POVMs/Instruments (if time)
   
Installation instructions:
Software installation will not be required for the lectures but may be useful. Universal QCompilerruns on Mathematica.   The software can be downloaded from the GitHub page  (click clone or download) and then unzipped.  Also required is the package QI (which can be found here).  Having downloaded and unzipped both of these, open QI.m in Mathematica, run it and then open UniversalQCompiler.m in Mathematica and run it. The code is then best used within a new Mathematica notebook.

Extra files:
Exercises and supplementary proofs
Example in Mathematica (change extension from .txt to .nb)   


References:
   * Quantum circuits for isometries
   * Synthesis of quantum-logic circuits
   * Quantum circuits for quantum channels
   * Introduction to UniversalQCompiler
   * Quantum-state preparation with universal gate decompositions


Joint track

Later in the week, there will be some lectures on topics of wide interest, which students from both tracks should then be able to follow.

Quantum machine learning – Johannes Bausch, University of Cambridge (2h, Tuesday 9:00 HCI G7, Thursday 9:00 HCI J3) [slides NLP] [Grover’s demo]

Lecture plan:

1st lecture
– Overview of ML in the context of QC
– Classical ML to learn something about quantum systems: neural network states for condensed matter systems and quantum communication
– Quantum ML: variational quantum circuits

2nd lecture
Quantum algorithms to speed up classical machine learning, on a concrete example motivated from natural language processing:
– Classical recurrent networks such as LSTMs
– Sequence decoding: connectionist temporal classification as classical baseline
– Beam Search
– Quantum Beam Search
 

Thermodynamics of quantum computing – Henrik Wilming, ETH Zurich (1h joint track, Tuesday 15:30 HCI G7  + 1h advanced track, Wednesday 9:00 HCI G3)

Lecture plan:
1st lecture
– Why physics constraints information processing
– Szilard’s engine and Landauer’s bound, or how much it costs to erase a
bit from the perspective of phenomenological thermodynamics
– Possibly: A derivation of Landauer’s bound within quantum mechanics

2nd lecture
– Reversibility and (un-)computation
– Entropy production in quantum error correction

References:
  * Szilard, “On entropy reduction in a thermodynamic system by interference by intelligent subjects”, 1929
  * Landauer, “Irreversibility and Heat Generation in the Computing Process”, 1961
  * Bennett, “Logical reversibility of computation”, 1973
  * Bennett, “Thermodynamics of computation”, 1981
  * Reeb, Wolf, “(Im-)Proving Landauer’s Principle”, 2013
  * Nielsen et al, “Information-theoretic approach to quantum error correction and reversible measurement”, 1997

Recent reviews:
  * Book: “Thermodynamics in the quantum regime – recent progress and outlook”, eds Binder, F., Correa, L. A., Gogolin, C., Anders, J. & Adesso, G.; Springer, Berlin, 2018
  * Review: Goold et al., “The role of quantum information in thermodynamics — a topical review”, 2016


Software tutorials

Strangeworks – César A. Rodriguez-Rosario, Strangeworks, Inc. (Sunday 15:30 HG D1.2)

Understanding the power of a quantum algorithm from 0 to |Hello>+|World>

This talk will get you started with quantum coding. You will learn the fundamentals of quantum gates and circuits by simple coding exercises. After, we will show the power of quantum computing through simple visual algorithm with quantum advantage. You will then get to play with some code for that algorithm. The talk will end with an open session so you can play with other quantum circuits I will share using the Strangeworks Community Platform. For those afraid of quantum but that want to get coding, and for those afraid of coding that want to do quantum, this is where to get started.

References:
Strangeworks Community Platform
Beta Access to an online platform for quantum development, running code, sharing code. Supports CIRQ, QISKIT, QASM and Jupyter Notebooks in many languages. It allows for sharing code publicly, which is useful for collaborating at the school and conference, and sharing assignments to be solved.
        We will send the sign-up link for participants on the first day of the school. Feel free to reach out to César A. Rodríguez Rosario and Justin Youens for help getting started and support with the platform.
*  Introduction to QASM
Qiskit and Quantum Algorithms
CIRQ Tutorial

ProjectQ –  Nguyen Damien, Huawei 2012 Laboratories (Monday 15:30 HCI G7) [slides]

Installation instructions; you can also try to use the Strangeworks web platform

Teleportation example: slides and python script (rename from .txt to .py)

Qiskit – Panos Barkoutsos, IBM Research (Tuesday 16:45 HCI G7)
  

Silq – Benjamin Bichsel and Maximilian Baader, ETH Zurich  (advanced track, Wednesday 10:30 HCI G3) [slides in pdf and pptx]

This lecture presents Silq, a high-level quantum programming language
offering the following benefits:
  – enables safe automatic uncomputation
  – substantially reduces notational overhead
  – prevents violations of the no-cloning theorem
  – prevents implicit measurements due to dropping quantum values from the
program state
  – prevents physically impossible operations such as reversing measurements

Q# – Thomas Häner, Microsoft (Thursday 10:30 HCI G7)


Lab tours

Optional lab tours took place on Wednesday afternoon.

IBM lab tour [Säumerstrasse 4, 8803 Rüschlikon

ETH lab tours

We visited the following labs:
Nanophysics – Ensslin
Quantum optics – Esslinger
Spin physics and imaging – Degen
Semiconductor – Wegscheider