Tutorials Program

Tutorials Scope and Goals

The shortage of skilled labor is one of the quantum computing sector’s greatest challenges. The week-long tutorials program, with tutorials by leading experts, is aimed squarely at workforce development and training considerations. The tutorials are ideally suited to develop quantum champions for industry, academia, government, and build expertise for emerging quantum ecosystems. IEEE Quantum Week will cover a broad range of topics in quantum computing and engineering including a lineup of fantastic hands-on tutorials on programming and applications.

Tutorials Chair and Contact

Scott Koziol, Baylor University — [email protected]

Tutorials Program

Each tutorial at IEEE Quantum Week 2021 is 3.0 or 4.5 hours long (i.e., two or three sessions on the same day of 90 mins with 45 mins breaks between the sessions) as follows: 10:45-12:15, 13:00-14:30, and 15:15-16:45 Mountain Time (MDT) or UTC-6. Note Sunday, Oct 17 tutorials are at different times.


QCE21 Tutorials — Overview

Sun, Oct 17 — Tut 01 — Introduction to Quantum Computing

Scott Pakin: Los Alamos National Laboratory (LANL), USA
Eleanor G. Rieffel: NASA Ames Research Center, USA

Sun, Oct 17 — Tut 02 — QuantumFlow: An End-to-End Quantum Neural Network Acceleration Framework

Weiwen Jiang: George Mason University, USA
Jinjun Xiong: IBM Quantum, IBM T.J. Watson Research Center, USA
Yiyu Shi: University of Notre Dame, USA

Mon, Oct 18 — Tut 05 — Learning Quantum-accelerated Scientific Computing with LibKet

Carmen G. Almudever: Technical University of Valencia, Spain
Matthias Möller: Delft University of Technology, The Netherlands

Mon, Oct 18 — Tut 06 — Workflow for Hybrid Quantum-Classical Algorithm

Wim Lavrijsen, Juliane Mueller, Ed Younis: Lawrence Berkeley National Laboratory (LBNL), USA

Mon, Oct 18 — Tut 07 — Quantum Metropolis Solver: A Quantum Walk Software for Optimization Problems

Pablo Antonio Moreno Casares, Roberto Campos, Miguel Ángel Martin-Delgado: Universidad Complutense de Madrid, Spain

Tue, Oct 19 — Tut 09 — Pulse-level Programming of Neutral-Atom Devices with Pulser

Henrique Silvério, Sebastián Grijalva, Loic Henriet: Pasqal, France

Wed, Oct 20 — Tut 10 — Automatic Quantum Resource Estimation for Chemistry Applications at Scale

Hongbin Liu, Guang Hao Low, Martin Roetteler, Mathias Soeken: Microsoft Quantum, USA

Wed, Oct 20 — Tut 12 — Real-time Control of Quantum Computers with OpenQASM3, Qiskit, and IBM Quantum Services

Thomas Alexander: IBM Quantum, Canada
Michael Healy: IBM Quantum, USA
Hossein Ajallooiean: IBM Quantum, Switzerland

Thu, Oct 21 — Tut 13 — Quantum Algorithms for Applications on the Natural Sciences Domain

Max Rossmannek: IBM Quantum, IBM Research Europe Zürich, Switzerland
Gavin Jones: IBM Quantum, IBM Research San Jose, USA
Panagiotis Barkoutsos: IBM Quantum, IBM Research Europe Zürich, Switzerland

Thu, Oct 21 — Tut 14 — OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators

Sebastian Feld, Medina Bandic, Hans van Someren, Jeroen van Straten: Delft University of Technology, The Netherlands

Thu, Oct 21 — Tut 16 — Photonic Quantum Computing

Olivier Pfister: University of Virginia, USA

Fri, Oct 22 — Tut 17 — IBM Certified Developer Quantum Computation using Qiskit v0.2xTutorial

Brahmani Thota, James Weaver: IBM Quantum, IBM T.J. Watson Research Center, USA

Fri, Oct 22 — Tut 18 — Quantum Computation for Data Scientists

Steven Bleiler, Marek Perkowski: Portland State University, USA


Sun, Oct 17 — Tut 02 — QuantumFlow: An End-to-End Quantum Neural Network Acceleration Framework

Weiwen Jiang: George Mason University, USA
Jinjun Xiong: IBM Quantum, IBM T.J. Watson Research Center, USA
Yiyu Shi: University of Notre Dame, USA

Date: Sunday, Oct 17, 2021
Time: 10:45-15:15 Mountain Time (MDT) — UTC-6
Abstract: As one of the most popular machine learning algorithms, neural networks have been applied in a wide variety of applications, such as autonomous vehicles, simultaneous translation, and diagnostic medical imaging. With the increasing requirement on analyzing the large-scale data (e.g., 108 pixels for one 3D-CT medical image), neural networks encounter both memory-wall and compute-bound on classical computers. With the extremely high parallelism in representing and processing information, Quantum Computing is promising to address these limitations. But, how to make full use of the powerful quantum computers to accelerate neural networks is still unclear. QuantumFlow, published at Nature Communications this year, is an end-to-end framework to optimize neural networks onto a given quantum processor. Importantly, following the co-design philosophy, the developed quantum neurons in QuantumFlow demonstrate the quantum advantage. In this tutorial, we will introduce how to conduct the co-design of neural networks and quantum circuits. We will have hands-on experience in implementing the neural network on the quantum circuit. Finally, targeting the near-term quantum computers, we will present the current solution in QuantumFlow, discuss the existing challenges, and show our perspective of quantum machine learning in the NISQ-Era. All attendees will leave with code examples that they can use as the backbone implementation to their own projects.
Keywords: Quantum Machine Learning, Neural Network, Quantum Circuits, Co-Design Optimization, Quantum Accelerator, Quantum Advantage, Hands-On Programming
Contents Level: The content of this tutorial is aimed at 40% beginner and 60% intermediate level attendees, but materials should be interesting and useful even for advanced level attendees. We expect the typical attendee to be a beginner in quantum computing or machine learning, and be familiar with Python.
Target Audience: This tutorial aims to bridge the gap between neural network design and quantum circuit design, and therefore, it is appropriate for both the computer scientists or hobbyists with interests in applying their machine learning model to quantum computing and the quantum computing hobbyists with the interests in quantum machine learning. The first session of the tutorial will cover background on both machine learning and quantum computing to synchronize all attendees on the same page. Additionally, we will present the co-design approach applied in QuantumFlow to enable the quantum neuron achieving quantum advantage. In the second session, attendees will have the opportunity to implement the quantum neurons on IBM Qiskit using Google Colab. The third session will introduce the developed mapping optimizer in QuantumFlow, the challenge and perspective of quantum neural network in the near-term quantum computers.

Date: Wednesday, Oct 20, 2021
Time: 10:45-12:15 Mountain Time (MDT) — UTC-6  90 mins only
Keywords: Quantum Computing, Quantum Algorithms, Natural Language Processing, large, Quantum Natural Language Processing Experiment 
Contents Level: The content level for this tutorial is intermediate.
Target Audience: The target audience for this tutorial is a mix of developers and educators who would like to know more about software tools to conduct experiments. in quantum natural language processing.
Abstract: We introduce distributional-compositional models of natural language semantics and how they can be instantiated in terms of quantum circuits. Then we show examples of simple NLP tasks that can be implemented on existing quantum hardware. Finally, we present our open-source Python library lambeq (pronounced “Lambek”), which enables the design and implementation of such large-scale quantum natural language processing experiments. By coupling to a combinatory categorial grammr parser and by choices of circuit ansaetze, lambeq can automatically convert any given sentence to a quantum circuit, as part of a quantum machine learning pipeline.

Mon, Oct 18 — Tut 07 — Quantum Metropolis Solver: A Quantum Walk Software for Optimization Problems

Pablo Antonio Moreno Casares, Roberto Campos, Miguel Ángel Martin-Delgado: Universidad Complutense de Madrid, Spain

Date: Monday, Oct 18, 2021
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Abstract: Starting from the Quantum Computing fundamentals, we present a complete guided tour of an important family of quantum algorithms: quantum walks and their practical applications. Our goal is to give a solid basis to explain how to develop a quantum walk for an optimization application that can be applied to a wide range of areas like artificial intelligence, bioinformatics or finance. We start with a pedagogical review of Grover’s algorithm, a basic tool providing quadratic speedups in a diverse set of situations. From there, we elaborate on how to generalize it to Quantum Walks, and how they can be used to solve optimization problems. Additionally, in this tutorial we aim to go further and use quantum walks in heuristic settings. For that, we introduce a software tool called Quantum Metropolis Solver (QMS) aiming to allow researchers to explore what uses of a quantum Metropolis Algorithm may provide advantages. The platform, that follows an easy-to-use paradigm, can be seen as a white box in which the user introduces a description of the problem and gets back a comparison of classical and quantum performance. This quantum software is especially well-suited to hands-on implementation of case studies with a potential commercial interest. As a prominent example of this, we introduce QFold: quantum walks and deep learning to solve protein folding. Qfold is the perfect example in which QMS compares the performance of classical vs quantum algorithms in a key problem in bioinformatics like protein folding.
Keywords: Quantum Computing, Grover algorithm, Quantum walks, Quantum Metropolis Solver, Benchmarking, Applications, Optimization, Bioinformatics, Protein folding, QFold
Contents Level: This tutorial begins explaining the basic aspects of Quantum Computing and it goes over all steps to build a Quantum Walk algorithm. This path offers an accessible tutorial for beginners with some background on Quantum Computing. It is especially well suited for skilled users aiming at practical application to bioinformatics and other optimization problems. Python background is also helpful but not required. The content level is distributed as 30% beginner, 50% intermediate and 20% advanced.
Target Audience: This tutorial is targeted for practitioners with science, technology, engineering and mathematics (STEM) background and
general quantum computing researchers interested in optimization problems. Besides, anyone who wants to apply quantum computing to a specific problem will have the opportunity to understand the process from scratch up to a functional software tool. Any attendee will understand and learn the quantum computing basis behind quantum walks, so previous notions about quantum computing will help to follow the explanations. In addition, the audience will see how to construct a software tool (based on quantum walks) and how to use it in a bioinformatics optimization problem. Previous general programming skills (especially Python) will help to a better understanding of the tutorial. Nonetheless, we expect the tutorial will be very fruitful without any previous programming training.

Date: Tuesday, Oct 19, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two sessions of 90 mins
Abstract: There is a continued need to be able to execute more complex quantum workloads, driven by algorithms that combine classical and quantum computation in the same execution cycle. This need drives fundamental changes in quantum execution architectures to enable efficient interactions between classical and quantum processors. In this tutorial, we will introduce users to the Qiskit Runtime, a new platform for describing workload execution at the level of programs rather than circuits. We will show users how to invoke program execution in a remote environment with low-latency interactions to quantum hardware. We will also show users how to solve tasks using a collection of pre-built programs. Then we will show how users can write their own quantum programs to upload into the IBM Quantum service.
Keywords:  Qiskit runtime, Quantum Development Kit, Quantum program on the cloud, Quantum program as a service, Python-based, OpenQASM, learning resources, Quantum programming
Contents Level: The content will be 60% beginner and 40% intermediate. We expect the typical attendee to have had exposure to programming in Python and some basic knowledge about Quantum Computing. Some familiarity with Qiskit would also help. Prior to attending the tutorial session, participants are expected to have both Python and Qiskit installed.
Target Audience: This tutorial targets developers and researchers who want to leverage quantum computing in their respective fields and are interested in learning how to execute quantum algorithms using Qiskit on the cloud and to create and deploy quantum programs as a service.

Date: Sunday, Oct 17, 2021
Time: 16:00-19:00 Mountain Time (MDT) — UTC-6
Abstract: Quantum chemistry focuses on understanding the electronic structure and molecular dynamics at a foundational level, it is used to accurately predict chemical and physical properties of molecules and materials, to be applied in industry fields of pharma or materials design for example. In this tutorial, we teach quantum computing key concepts, their applications to quantum chemistry, and experiment with quantum algorithm development tools. Approximately half of the tutorial material can be followed by all levels, the other half is more code-oriented and requires an intermediate-advance level. We show in detail how quantum algorithms solving chemistry problems work; in particular, the variational quantum eigensolver (VQE). We use one of the world’s fastest quantum simulators, Qulacs, a versatile Variational Quantum Circuit Simulator to test how to simulate quantum algorithms. We also showcase Qamuy, a quantum chemistry framework that allows us to easily perform VQE experiments. First, we recap the basics of quantum computing starting from qubit and a few-qubit quantum circuits. Each concept is followed with hands-on simulation tests using Qulacs. Tutorial participants are encouraged to install Qulacs ahead of time — available as a Python/C++ library. Next, we learn about VQE and implement simple VQE simulations using Qulacs. Finally, we conduct VQE experimental tests using Qamuy. After this tutorial, the participants will be able to explore the field of quantum computing by themselves and run quantumcircuit simulations using industry-recognized tools. 
Keywords:  Quantum computing, quantum algorithms, NISQ, quantum chemistry, VQE
Contents Level: The tutorial level is a mix of approximately 20% beginner, 60% intermediate, 20% advanced, each will take away different learnings from learning the quantum chemistry foundational concepts, code quantum circuits using classical simulators, and test in-detailed the VQE algorithms.
Target Audience: This tutorial is mainly for engineers/scientists/researchers in the area of computational chemistry, who already understand the basics of quantum chemistry, to easily experience state-of-the-art algorithms for quantum chemistry on quantum computer. Therefore, the audience is expected to have basic knowledge of quantum chemistry and have an experience of software programming to implement the calculation.

Sun, Oct 17 — Tut 01 — Introduction to Quantum Computing

Scott Pakin: Los Alamos National Laboratory (LANL), USA
Eleanor G. Rieffel: NASA Ames Research Center, USA

Date: Sunday, Oct 17, 2021
Time: 10:45-15:15 Mountain Time (MDT) — UTC-6
Abstract: Quantum computing offers the potential to revolutionize high-performance computing by providing a means to solve certain computational problems asymptotically faster than any classical computer. Relatively recently, quantum computing has advanced from merely a theoretical possibility to engineered reality, including commercial entities offering early prototype quantum processors, both special-purpose quantum annealers and general-purpose gate-model processors. The media have been showcasing each new development and implicitly conveying the message that quantum-computing ubiquity is nigh. Here, we will respond to this hype and provide an overview of the exciting but still early state of the field. In this tutorial, we introduce participants to the computational models that give quantum computing its immense computational power. We examine the thought processes that programmers need to map problems both to quantum annealers and gate-model quantum processors. And we discuss hardware and algorithmic challenges that must be overcome before quantum computing becomes a component of every software developer’s repertoire.
Keywords:  Quantum computing, quantum annealing, circuit model, gate model, quantum algorithms, Grover Shor, QAOA
Contents level: We expect the content level to be distributed as follows: 80% beginner, 20% intermediate, 0% advanced. No prior knowledge of quantum computing or quantum mechanics is expected, but the final section of the tutorial goes into some technical depth that requires that attendees have understood the preceding sections.
Target Audience: The tutorial targets a broad audience: essentially anyone who is curious about quantum computing and wants to learn how it works and what it can and cannot do. Those who know little to nothing about quantum computing will benefit more from the tutorial than those who have existing expertise in quantum mechanics or who already have had non-trivial exposure to quantum computing, but even professionals who have worked in the field will likely gain at least some knowledge.

Tue, Oct 19 — Tut 09 — Pulse-level Programming of Neutral-Atom Devices with Pulser

Henrique Silvério, Sebastián Grijalva, Loic Henriet: Pasqal, France

Date: Tuesday, Oct 19, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two sessions of 90 mins
Abstract: Programmable arrays of Rydberg neutral atoms are rising in notoriety thanks to recent successes in controlling and showcasing remarkable phenomena in many-body quantum physics. They are entering a more mature stage in which hundreds of atoms can be prepared and acted upon by laser pulses. In addition, the development of high-fidelity quantum gates are making them promising architectures for quantum computation. In this tutorial we present Pulser, an open-source Python library for programming neutral-atom devices at the pulse level. Pulser provides a user-friendly environment for the design of pulse sequences in close contact with the hardware, along with simulation routines for studying and exploring their outcomes for small systems. It is a versatile framework for the design of quantum protocols in general, supporting the implementation of both quantum circuits and analog procedures. We will introduce –with a series of walk-through code examples– how to construct the basic blocks of a sequence tailored to run on a real device. Then, we present how to put together and explore several interesting applications that have been the focus of recent research: the construction of a controlled-Z gate for digital quantum computation, which exploits the Rydberg Blockade mechanism, the preparation of an antiferromagnetic state in a 2D grid of atoms by adiabatically varying the parameters of an Ising Hamiltonian, and the solution of the Maximal Independent Set combinatorial problem, which is naturally embeddable into the Rydberg atom arrays.
Keywords:  Pasqal, Pulser, pulse-level control, neutral-atom devices, Rydberg atoms, analog computation, quantum simulation, quantum computation, Python, open-source software
Contents Level: 30% beginner, 50% intermediate, 20% advance
Target Audience: This tutorial is geared towards researchers and practitioners coming from a strong quantum physics background, who are interested in learning how neutral-atom devices work, how to program them below the level of abstraction of quantum circuits, and in what aspects they are unique when compared to other quantum device architectures.
Pulser is written in Python, so basic knowledge of it is recommended. However, no complicated coding structures are needed in Pulser, so familiarity with similar object-oriented programming languages might suffice for an attendee to follow
along.
Due to the close connection of Pulser to the underlying workings of the physical device, the physics behind how neutral-atom devices work will be laid out. However, previous familiarity with quantum physics will be beneficial, particularly when it pertains to the realization of quantum devices on various architectures (outside of neutral-atom devices, perhaps the most relevant are ion-trap devices, followed by superconducting qubits). Some understanding of the concept of a Hamiltonian, and how it describes the evolution of a system, is relevant in understanding the system at large, and crucial to
understanding the analog approach in particular.
Furthermore, knowledge of simple many-body physics models, like the quantum Ising model, will be useful for the understanding of the more nuanced details of some applications, but is not a prerequisite.

Mon, Oct 18 — Tut 05 — Learning Quantum-accelerated Scientific Computing with LibKet

Carmen G. Almudever: Technical University of Valencia, Spain
Matthias Möller: Delft University of Technology, The Netherlands

Date: Monday, Oct 18, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two 90-mins sessions
Abstract: Quantum Computing is an emerging compute technology that has the potential to change the way we will be solving computational problems in the future even more radically than GPUs and other types of accelerator devices did during the last decade. Quantum Processing Units (QPUs) require a fundamental redesign of algorithms to exploit the full potential of quantum mechanical phenomena such as superposition of states and entanglement which enable exponential speed-ups over classical algorithms for certain types of scientific applications. Although current quantum computing systems (i.e. NISQ devices) are far from showing their true potential, they allowed the development and implementation of hybrid quantum-classical algorithms in which QPUs are used as special-purpose accelerator devices. In this tutorial, the participants will learn how to implement quantum-accelerated scientific applications using LibKet (pronounced lib-ket), an open-source library that facilitates the development of hardware-agnostic quantum algorithms and the exploration of their behavior on different quantum processors and simulators. The tutorial will start with an introduction to quantum computing addressing essential concepts like quantum bits and registers, superposition and entanglement, up to quantum gates, circuits and algorithms. The second part will be a hands-on session on publicly available QPU backends (cloud-based quantum computer hardware platforms and software quantum computer simulators) and an introduction to their practical use via LibKet. The third part will cover a selection of more advanced quantum algorithms with potential use in computation sciences and engineering (CSE) applications.
Keywords: Quantum programming, Quantum-accelerated scientific applications, Open-source LibKet, Executing quantum algorithms on cloud-based quantum computer hardware and simulators
Contents Level: The content level is distributed as follows: 30% beginner, 50% intermediate, 20% advanced. No prior knowledge of quantum computing is required, as the first session will introduce the attendees to the basic concepts and we gradually build up knowledge
Target Audience: The tutorial targets a broad audience that ranges from researchers and students with engineering, math, computer science or physics background without any knowledge of quantum computing and want to get introduced to this emerging field of research and want to know about its (future) potential, to experts from academia or industry interested in understanding what kind of applications can be accelerated with quantum computing and explore them by running quantum algorithms on different quantum hardware/simulation platforms using LibKet. They will all learn how to express quantum algorithms in their quantum circuit form, how to program and execute them and how to interpret the results.

Wed, Oct 20 — Tut 10 — Automatic Quantum Resource Estimation for Chemistry Applications at Scale

Hongbin Liu, Guang Hao Low, Martin Roetteler, Mathias Soeken: Microsoft Quantum, USA

Date: Wednesday, Oct 20, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two sessions of 90 mins
Abstract: Quantum computers have an exponential advantage over classical computers at estimating electronic energies. Therefore, computational chemistry is widely regarded as the killer application of future quantum computers. At the heart of computational chemistry is predicting the outcome of chemical processes to produce chemicals, drugs, or functional molecular assemblies in a cheaper, safer, and more efficient way. In this tutorial, we review computational chemistry as a discipline and illustrate various quantum algorithms that can be used to solve chemistry problems. We present how such algorithms can be implemented in the quantum programming language Q# and how to perform automatic quantum resource estimation using open-source tools that are available in the Microsoft Quantum Development Kit.
Keywords:  Quantum programming, Quantum chemistry, Resources estimation
Contents Level: 50% beginner, 25% intermediate, 25% advanced
Target Audience: We target researchers and practitioners in the fields of chemistry, physics, and computer science. The talks will require some basic knowledge of quantum computing and quantum programming, however, no previous knowledge in computational chemistry is required. The audience will learn why computational chemistry is considered the “killer application” for future quantum computers and which problems it solves. Further, we explain how to solve computational chemistry problems using quantum algorithms and how they can be expressed in a quantum program using Q#. The latter is used to perform resources estimation, in order to estimate the required capabilities of a future quantum computer to solve certain problems.

Mon, Oct 18 — Tut 06 — Workflow for Hybrid Quantum-Classical Algorithm

Wim Lavrijsen, Juliane Mueller, Ed Younis: Lawrence Berkeley National Laboratory (LBNL), USA

Date: Monday, Oct 18, 2021
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Abstract: Hybrid quantum-classical algorithms are prime candidates for useful work on Noisy Intermediate-Scale Quantum (NISQ) devices and an important subcategory are Variational Quantum Algorithms (VQA), which combine execution on a quantum processor with a classical optimizer. Noise, hallmark of the NISQ era, is one of the main factors limiting the usefulness of VQA and needs careful handling in any quantum workflow. At LBNL, we have developed circuit synthesizers (BQSKit) that can greatly reduce circuit depth, thus reducing the impact of gate noise; and made available classical optimizers (scikit-quant) robust in handling noisy optimization surfaces. In this tutorial, we will show how to combine these tools in a single workflow, fully integrated in the Qiskit framework, on an exemplar of the Variational Quantum Eigensolver (VQE): the Hubbard Model. The Hubbard Model is relatively simple to understand, yet is very versatile and has many applications in physics, making it a concrete and educational example for a hands-on session. The tools can be used as just “black-boxes”. However, since our tools are Open Source, we can take a true deep dive into their nuts and bolts, showing how they can be reconfigured, customized, and extended to arrive at better problem specifications and improved workflow construction. Understanding their design principles, necessary trade-offs, and effect on overall performance throughout the workflow, will equip attendees with the knowledge and ability to better solve their VQA problems on NISQ devices using our (or similar, non-Open Source) tools.
Keywords:  Circuit synthesis, gradient-free optimizers, Hubbard Model, hybrid quantum-classical algorithms, NISQ, Open Source, quantum computing, workflow
Contents Level: 70% intermediate, 30% beginner. We introduce our tools and show how they can be run in a “black-box” mode, which is useful for all levels, including for beginners. We delve progressively deeper, explaining the ideas and rationale behind them, and how to use that background information to reconfigure, customize, and extend them. We expect this more in-depth knowledge to be relevant to people who already have a current interest in (and hence familiarity with) variational quantum algorithms and hence we are targeting a more intermediate level there. Attendees are expected to be familiar with the circuit model of quantum computing, basic linear algebra terms, the Python programming language, and how to run Jupyter notebooks.
Target Audience: This tutorial is intended for general users of quantum computers who have an interest in hybrid, variational quantum-classical algorithms on current and near-term devices and want to improve the output quality of those algorithms when applied to their own work; for software engineers who want to extend synthesis tools; and for mathematicians interested in working on circuit synthesis or optimizers for noisy objective functions.
Hands-on tutorial setup: Ideally please install the prerequisite software before the tutorial begins, especially when running on a Macbook M1, using these instructions: https://github.com/scikit-quant/scikit-quant/blob/master/tutorials/prerequisites.rst

Wed, Oct 20 — Tut 12 — Real-time Control of Quantum Computers with OpenQASM3, Qiskit, and IBM Quantum Services

Thomas Alexander: IBM Quantum, Canada
Michael Healy: IBM Quantum, USA
Hossein Ajallooiean: IBM Quantum, Switzerland

Date: Wednesday, Oct 20, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6 — Two 90-mins sessions
Abstract: Quantum programming languages and software development kits such as OpenQASM and Qiskit describe, compile, and execute quantum circuits consisting of gates and measurements applied to qubits. These tools abstract away the underlying compilation and control systems that orchestrate a quantum system to execute a circuit. Many algorithms such as quantum error correction, require not just ahead-of-time compilation of static circuits, but support for real-time decisions made at runtime based on measurement feedback. These decisions must occur within the lifetime of the computer’s qubits so that they may impact the quantum system before it decoheres. Building quantum computing systems supporting these capabilities will require innovations in program representations, compilers, and computer architectures, providing opportunities for engineers, scientists, and software developers to make contributions in these fields. In this tutorial, we will introduce attendees to OpenQASM3, a quantum programming language that provides the features necessary to pursue quantum advantage in near-term quantum computers. Notable developments include the ability to construct parameterized circuits with integrated classical control flow. Furthermore, OpenQASM3 enables fine-grained control of quantum hardware with timing and calibration support. Following the introduction of OpenQASM3, we will provide a high-level overview of the hardware and software requirements needed to implement these capabilities and survey various approaches being pursued in industry and academia. Finally, attendees will be taught how to write and run programs containing features such as mid-circuit measurements, conditional reset, and gate calibrations on real quantum systems provided through IBM Quantum Services and Qiskit.
Keywords:  Qiskit, OpenQASM, Quantum Computing, Pulse, Control Flow, QASM, Quantum Programming Language
Contents Level: 20% beginner, 70% intermediate, 10% advanced.
Target Audience: This tutorial is appropriate for a variety of attendees:
1) Quantum programming language designers and enthusiasts who wish to learn about the latest developments in OpenQASM.
2) Quantum application and algorithm designers who are interested in the latest developments in real-time compute using
IBM Quantum hardware.
3) Computer engineers with an interest in microarchitectures for quantum computing, specifically those that will enable
real-time compute.
4) Software engineers with an interest in low-level programming models and compilers for quantum computers.
5) Experimentalists with an interest in quantum control systems.
It is expected that attendees will have a basic understanding of quantum computing, the circuit model and approaches to programming these devices. Prior experience with OpenQASM, Qiskit, IBM Quantum Services and Python will be helpful. Attendees will learn about the latest developments in OpenQASM and IBM Quantum’s path towards enabling real-time compute (classical compute and control-flow within the lifetime of the qubits) within its hardware.

Thu, Oct 21 — Tut 13 — Quantum Algorithms for Applications on the Natural Sciences Domain

Max Rossmannek: IBM Quantum, IBM Research Europe Zürich, Switzerland
Gavin Jones: IBM Quantum, IBM Research San Jose, USA
Panagiotis Barkoutsos: IBM Quantum, IBM Research Europe Zürich, Switzerland

Date: Thursday, Oct 21, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two sessions of 90 mins
Abstract: Natural sciences provide some of the most promising applications for near term quantum computers. Problems arising in domains like quantum chemistry and physics are best described using quantum mechanical principles and the classical calculation can be computationally costly. Quantum computers provide a new framework that is naturally suited for such simulations. In the last decades, extensive research in the field of applications of near term noisy quantum computers allowed scientists to start simulating chemical and physical systems using variational algorithms (e.g. Variational Quantum Eigensolver – VQE). The need to educate researchers and scientists from the respective domains on how these algorithms will impact their research is of great importance. In this tutorial, we are providing insights from our research and demonstrate the use of the open source package qiskit-nature for the simulation of natural science applications. We will introduce the respective algorithms and highlight how the end user can program such applications. This tutorial will serve as the basis for people to investigate the practical effects of near-term quantum computers on the performance of simulations of problems in natural sciences.
Keywords: Quantum computing applications, natural sciences, near term quantum computers
Contents Level: The content will be 30% beginner, 40% intermediate, and 30% advanced level. We expect the typical attendee to not be familiar with applications of natural sciences on near term quantum computers, and will introduce the required methods and the algorithms. The intermediate material comprises applications of near term quantum computers and how these can be programmed using the open source software Qiskit. The advanced material will be of interest to all attendees; since it will be mostly related to quantum chemistry techniques for varied resources and how we can efficiently implement quantum chemistry on near term quantum computers. We expect attendees to be familiar with programming in Python.
Target Audience: This tutorial is geared towards two kinds of attendees: general users of quantum computers interested in simulation of natural sciences, and scientists researching in this particular domain with interest towards using the newly developed quantum computing tools. The first session will review different concepts for the simulation of natural sciences for general users, and teach about near-term quantum algorithms. The second session gives a deep dive on the nuts and bolts of coding up a natural sciences problems using a quantum computer, showing how to map chemistry problems onto qubits, and explaining variational forms (parameterized quantum circuits). We anticipate this material will be new to both kinds of attendees. Through the use of coding examples in this session, attendees will have hands-on exposure to these ideas.

Date: Thursday, Oct 21, 2021
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Abstract: The field of quantum computing has exploded out of the lab in the last few years. The race is on to build a real, scalable quantum computer, and ion traps have emerged as a leading contender. In this tutorial, we will start by answering the question of “why ions?” with an overview of the choices for physical qubits and their maturity, followed by an introduction to the theory of ion trapping and the requisite hardware. We will then dive deeper into the modules of the trapped ion quantum computer, looking at the electronics, optical systems, and control architectures. We will conclude with discussing how one tests and operates a trapped ion quantum computer.
Keywords: Trapped Ion, Quantum theory, applications, ions, hardware, electronics, optical systems
Contents Level: We expect the content level to be around 70% beginner, 20% intermediate, 10% advanced. No prior knowledge of ion trapping or quantum computing is required. All three sessions of the tutorial will be made accessible. Attendees are encouraged to attend all sessions of the tutorial, as the latter sessions will be more straightforwardly be understood if the preceding sessions are attended.
Target Audience: This tutorial aims to reach a large community of engineers and scientists who may be interested in trapped-ion technology or quantum computing in general. Any attendees eager to learn more about how trapped-ion quantum computers are built and operated stand to benefit from this accessible tutorial. Further, those attendees with intermediate level knowledge of either ion trapping or quantum computing will gain new knowledge, especially in the areas that lie at the intersection of ion trapping and quantum computing.

Fri, Oct 22 — Tut 17 — IBM Certified Developer Quantum Computation using Qiskit v0.2xTutorial

Brahmani Thota, James Weaver: IBM Quantum, IBM T.J. Watson Research Center, USA

Date: Friday, Oct 22, 2021
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Abstract: Quantum Computing is a relatively new field where its applications and algorithms are changing how we solve difficult computer programs. IBM Quantum is offering a first-ever certification program of Quantum Computing field to people of diverse backgrounds. This certificate demonstrates mastery of foundational skills that are critical for building and running quantum programs using Qiskit, the most used quantum computing software development kit. In this tutorial, we will explore the topics needed to be successful in taking the certification exam. Relevant concepts are explained on an open-source software development framework called Qiskit. We will showcase the foundational concepts of quantum circuits, quantum registers, simulators, openQASM and visualizations. Additionally, this tutorial walks the attendee through the commonly used Qiskit libraries and demonstrates the usage of IBM Quantum Lab. At the end of tutorial, attendees will be equipped with the key concepts, and guidance on how to take the certification exam.
Keywords: Qiskit, qubit, Bloch sphere
Contents Level: Anyone who can program real quantum computing hardware, requiring only Python and a basic knowledge of linear algebra can give this certification exam and will have a good chance of passing this exam. The experience level for the material would be about 60% beginner and 40% intermediate level. The audience will be not required to download any software in prior. It is advised to create an account an IBM account on IBM Quantum to access the labs.
Target Audience: Existing engineers from STEM (Science, Technology, Engineering and Mathematics) backgrounds who are looking for opportunities in the field of quantum computing. Quantum scientists and engineers who are interested to showcase their skills and certifications. Students from diverse fields who are interested in quantum computing and looking to pursue a career in the field of quantum computing.

Fri, Oct 22 — Tut 18 — Quantum Computation for Data Scientists

Steven Bleiler, Marek Perkowski: Portland State University, USA

Date: Friday, Oct 22, 2021
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Abstract: At present there is a disconnect between the training programs for data scientists and for future quantum computer scientists. Current curricular materials show the former focused on advanced undergraduates with mathematical preparation in linear algebra and statistics and the latter focused on graduate students with mathematical preparation in advanced functional analysis. Future data scientists looking to employ quantum algorithms will want to efficiently get to the heart of the matter, so courses and textbooks that provide a fast track for this are needed. This tutorial will demonstrate how this need can be met via a simplified approach to quantum information and computation developed and utilized for data science applications. The approach focuses on elementary quantum systems, those quantum systems with finite dimensional coordinatizing spaces, combined with a review of Boolean computation and a transition to quantum computation through reversible circuits. This allows practitioners with the standard undergraduate data science curriculum to understand the essential properties of quantum systems as applied to information, computation, and algorithms. For example, quantum algorithms such as Grover with applications to search, satisfiability and other optimization problems, quantum Fourier transforms with applications, solving linear systems via the Harrow, Hassidim, and Lloyd family of algorithms, and applications of quantum computational linear algebra to machine learning such as support vector machines can all be made accessible to users via this approach. The tutorial itself will illustrate the approach to the broader community and provide samples of how some of the various topics above are treated within it.
Keywords: Quantum computation, data science, Grover algorithm, optimization
Contents Level: The authors expect participation in this tutorial will be approximately 50% beginner, 40% intermediate, 10% advanced.
Target Audience: The target audience and will consist of practitioners, educators and students interested in the applications of quantum computing to data science who possess the basic undergraduate knowledge of linear and Boolean algebra. Participants will learn the essential properties of quantum systems and quantum computation as applied to data science. This will be accomplished in a manner that does not depend on a graduate level mathematical background in functional analysis and/or quantum mechanics, as currently found in nearly all books on quantum computation. Participants will see many practical applications of specific quantum algorithms and will have the opportunity to develop their own.

Thu, Oct 21 — Tut 16 — Photonic Quantum Computing

Olivier Pfister: University of Virginia, USA

Date: Thursday, Oct 21, 2021
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Abstract: This tutorial will present how quantum computers can be made entirely out of light, in particular using integrated optics platforms. Photonic quantum computing can leverage spatial, temporal, and spectral multiplexing to achieve massively scalable machines in terms of their number of qubits. Moreover, some photonic quantum computing implementations employ measurement-based quantum computing, an alternative to the quantum circuit, or gate, model in which quantum entanglement is generically embedded up front in cluster quantum states and in which photodetection technology plays a crucial role. Different approaches exist, either using the corpuscular optical photons as discrete quantum variables (i.e., qubits or qudits) or using the undulatory optical fields as continuous quantum variables (i.e., qumodes). Ultimately, however, both the corpuscular and undulatory aspects must be fully harnessed and simultaneously controlled for any approach to yield a genuine quantum computer—by which we mean a fault-tolerant machine that provides an exponential speedup over classical computers, for at least one specific, useful, and currently intractable problem. This tutorial will give a brief introduction to the circuit and measurement-based models of quantum computing and of a few different quantum optical implementations thereof. We will then review the state of the art in academia and industry in the field, and the challenges ahead. Progress in quantum computing cannot occur without major advances in classical and quantum engineering. We hope this tutorial will help define the latter.
Keywords: Quantum computing, quantum photonics, quantum optics
Contents Level: The Content level will range from beginner, as we’ll aim to introduce quantum computing to nonexperts, to intermediate and advanced, in terms of the quantum photonic implementations. The content will be distributed roughly as follows: 50% beginner, 30% intermediate, 20% advanced.
Target Audience: The target audience is photonics researchers, engineers, and graduate students. Hopefully, they will acquire a sense of how their current expertise in photonics can be relevant to the various approaches to building a practical quantum computer.

Thu, Oct 21 — Tut 14 — OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators

Sebastian Feld, Medina Bandic, Hans van Someren, Jeroen van Straten: Delft University of Technology, The Netherlands

Date: Thursday, Oct 21, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two sessions of 90 mins
Abstract: With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving and more algorithms are developed and optimized. Expressing these algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. Firstly, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize and map it to the target quantum processor respecting hardware constraints such as supported quantum operations, qubit connectivity, and control electronics limitations. In this tutorial, we present OpenQL, a quantum programming framework which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, describe the compiler’s different layers and how portability over different qubit technologies can be provided. For making the tutorial self-contained, an introduction to quantum computing (architecture) is also given. By the end of this tutorial, participants are able to explain the different layers required to build a quantum computer; discuss the basic functioning of quantum gates and circuits; carry out the mapping step of simple quantum circuits onto specific physical device layouts; interpret the results of different quantum circuits written and executed using OpenQL. The material’s experience level is 30% beginner, 50% intermediate, 20% advanced. In preparation, the attendees should download a ready-to-use virtual machine with Linux Ubuntu, OpenQL and all other necessary software installed. To run the virtual machine, Oracle VirtualBox is needed.
Keywords: Quantum compiler, quantum computing, quantum circuit, quantum processor
Contents Level: The tutorial aims to be as self-contained as possible. For this reason, no particular background knowledge of quantum computing is required. In the first session the necessary basic concepts of quantum computing are explained to the participants and the following parts of the tutorial builds up on this knowledge. However, a basic understanding of programming languages in general and Python in particular is of advantage. The content will be distributed roughly as follows: 30% beginner, 50% intermediate, 20% advanced.
Target Audience: The self-contained tutorial is intended to serve a broad audience. We basically address everyone who is interested in programming quantum algorithms and would like to experience a well-prepared introduction to this topics. This includes researchers and students from the fields of electrical and computer engineering, computer science, applied physics and other domains, with or without prior experience in quantum computing. We would also like to bring interested people from the industry closer to this emerging field of research. An easy-to-use framework for programming quantum software can help assess the potential use of quantum computing in the company concerned.

Date: Monday, Oct 18, 2021
Time: 10:45-14:30 Mountain Time (MDT) — UTC-6  Two 90-mins sessions
Abstract: Quantum computers in the near-term will be defined more by their limitations than their capabilities. Any attempt at quantum applications over the next few years must be careful to take into account the precise details of the device being used: such as the coupling map and the precision of all qubits and gates. It is for this reason that benchmarking protocols are one of the most important tools available to current researchers. An important task for any benchmarking protocol is to determine progress towards the ultimate goal: fault-tolerant quantum computation. Since almost all gates applied in a fault-tolerant computation will be dedicated to error correction, benchmarks based on quantum error correction will provide important perspectives even for current hardware. Error correction protocols also have inherent abilities to identify what errors have occurred based on the measurement outcomes received. This also gives the potential to provide detailed information regarding what is happening within current devices. In this tutorial we will use access to the IBM Quantum devices to analyze their performance. This will be done through a hands-on session using the benchmarks based on quantum error correction within the topological codes package of Qiskit. With this we will see how to determine the probability of an error on any given qubit at any given circuit depth, through experiments based on the repetition code.
Keywords: Quantum error correction, noise, repetition code
Contents level: We expect the content level to be distributed as follows: 20% beginner, 60% intermediate, 20% advanced.
Target Audience: Attendees will need: basic Python knowledge; basic knowledge of quantum circuits. Attendees will learn: set up and run benchmarking experiments;