Tutorials
The shortage of skilled labor is one of the quantum computing sector’s greatest challenges. The week-long tutorials program with 16 tutorials by leading experts is aimed squarely at workforce development and training considerations. These tutorials are ideally suited to develop quantum champions for industry, academia, government, and build expertise for emerging quantum ecosystems. Virtual IEEE Quantum Week will cover a broad range of topics in quantum computing and technologies including a lineup of fantastic hands-on tutorials on programming and applications.
QCE20 Format and Schedule
QCE20 will be held in a digital-only or virtual-only format during the week of Oct 12-16, 2020. QCE20 was originally scheduled to be held in Broomfield, Colorado which is in the Mountain Time Zone (MDT) or UTC-6. The QCE20 daily program will be broadcast from 8:30 to 19:45 Mountain Time. Recorded sessions will be available for registered QCE20 attendees a few hours after the live sessions until November 30, 2020. Every day of this week, QCE20 hosts 9-10 parallel tracks of quantum computing and engineering programming including Workshops, Tutorials, Technical Paper Tracks intermixed with Keynotes, Panels, Exhibits, Posters, Birds of a Feather, and Networking sessions featuring a total of over 270 hours of programming.
Tutorials — Final Digital Presentation Guidelines
Please visit the Advance Conference Program for the time and date of the QCE20 Tutorials. Final Digital Recording and Uploading Guidelines have now been posted. As a Tutorial Presenter, please visit this Tutorial Presentation Guideline page regularly for updates on how to prepare your QCE20 Tutorial presentation for the week of Oct 12-16, 2020.
Tutorials Inquiries
For any inquiries or questions about Tutorials, please contact Tutorials Co-Chair Scott Koziol.
Tutorials Program
Each tutorial is 4.5 hours long and scheduled as three 1.5-hour time slots: 10:45-12:15, 13:00-14:30, and 15:15-16:45 MDT or UTC-6.
- Mon, Oct 12—Introduction to Quantum Computing—Pakin: Los Alamos National Laboratory; Rieffel, NASA Ames
- Mon, Oct 12—Quantum Programming: An Introduction—Asfaw, IBM Quantum
- Mon, Oct 12—Hands-on Simulation of a Quantum Network—Van Meter, Satoh, Keio University
- Tue, Oct 13—Introduction to the Microsoft Quantum Development Kit and Azure Quantum—Tibble, Granade, Prawiroatmodjo, Soeken, Shaffer: Microsoft Quantum
- Tue, Oct 13—Quantum Machine Learning for Data Scientists—Fuller: IBM Quantum; Zoufal: IBM Quantum & ETH Zürich
- Tue, Oct 13—Practical Quantum Programming—Gottlieb, D-Wave Systems
- Tue, Oct 13—Quantum Hardware Control: A Hands-on Introduction—Alexander, Earnest: IBM Quantum
- Wed, Oct 14—Quantum Algorithms for Optimization—Woerner, Scholten: IBM Quantum
- Wed, Oct 14—Quantum Machine Learning with PennyLane—Killoran, Izaac: Xanadu Toronto
- Wed, Oct 14—Preparing the Future Quantum Workforce—Venegas-Gomez, QURECA Ltd., Glasgow
- Thu, Oct 15—Assessing the Quality of Qubits and Quantum Computers—Córcoles, Scholten: IBM Quantum
- Thu, Oct 15—Quantum Algorithms for Chemical Simulation—Barkoutos, Jones, Ollitrault, Earnest: IBM Quantum
- Thu, Oct 15—Combinatorial Optimization on Quantum Computers—Shaydulin, Safro: Clemson University; Alexeev: Argonne
- Fri, Oct 16—Cirq for NISQ: Research and Education—LaRose, Hoffman: Google AI Quantum
- Fri, Oct 16—Serious Games for Quantum Computing—Lahmann, Heider: IBM Germany
- Fri, Oct 16—Exploring the D-Wave Webinar Series—Gottlieb: D-Wave Systems
Tutorial on Introduction to Quantum Computing
Scott Pakin, Los Alamos National Laboratory (Lead)
Eleanor G. Rieffel, NASA Ames Research Center
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 onto the two dominant quantum-computing architectures. And we discuss the current hardware and algorithmic challenges that must be overcome before quantum computing becomes a component of every software developer’s repertoire.
Keywords: Introduction, an overview of the field, quantum computing, quantum information science, computational models, quantum computing architectures, special-purpose quantum annealers, general-purpose gate-model processors, algorithmic challenges
Streams: QINTRO, QEDU, QIS, QAPP, QALGO, QHW, QSW
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 of the tutorial.
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 this 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.
Date: Mon, Oct 12, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Quantum Programming: An Introduction
Abe Asfaw, IBM Quantum (Lead)
Abstract: The field of quantum computing has progressed rapidly in the past two decades. Today, anyone with an internet connection can access and program quantum computers via the cloud. In order to uncover the full potential of quantum computers, there is a need to engage people from various backgrounds in a combined effort. This includes electrical engineers, computer scientists, hobbyists, and other “non-quantum natives”. In this tutorial, we will explore the gate model for quantum computing, and make that model’s concepts concrete through the use of an easy-to-learn, Python-based, open-source software development framework called Qiskit. We will use various examples to introduce and reinforce core ideas of quantum computing such as superposition, entanglement and interference, thereby providing a starting point for further inquiry. Finally, we will provide and demonstrate access to real hardware through our cloud-based platform. At the end of this tutorial, attendees will be equipped with various learning resources, and will be ready to explore the applications of quantum computing in their fields.
Keywords: Quantum programming, accessing and program quantum computers via the cloud, gate model, Python-based, open-source Qiskit Quantum Development Kit (QDK), superposition, entanglement and interference concepts, learning resources
Streams: QINTRO, QEDU, QPROG, QIS, QDK, QAPP, QSW
Contents Level: This tutorial is designed for a quantum computing novice (100% beginner), though we assume attendees have had exposure to programming in Python.
Target Audience: This tutorial is appropriate for three kinds of attendees: engineers and classical developers with science, technology, engineering and mathematics (STEM) backgrounds who are interested in leveraging quantum computing for their industries, quantum computing researchers and practitioners who are interested in learning how to execute quantum algorithms using the gate model on both quantum hardware and simulators, and computer scientists who are interested in finding algorithms which take advantage of quantum superposition and entanglement.
Date: Mon, Oct 12, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Hands-on Simulation of a Quantum Network
Rodney Van Meter, Keio University, Fujisawa, Japan
Ryosuke Satoh, Keio University, Fujisawa, Japan
Please read Opening Remarks and to get ready for the tutorial below.
Abstract: The Quantum Internet Simulation Package (QuISP) is an open-source simulator for quantum repeater networks. Quantum repeater networks are expected to improve communication security, increase the accuracy of sensors such as interferometers and applications that use high-precision clock synchronization, and enable distributed quantum computation. Our rule-based network protocol operates on a condition-action principle akin to the match-action approach of software-defined networking. This advanced tutorial will take learners deep into the engineering of network protocols for quantum repeaters. Researchers and engineers will exit this tutorial with hands-on experience in simulating quantum networks, useful for designing quantum networks whether or not they adopt the specific technology presented in this tutorial.
Keywords: Designing quantum networks, quantum internet, simulation, Quantum Internet Simulation Package (QuISP), communication security, sensor accuracy, distributed quantum computation, engineering of network protocols
Streams: QCSC, QENG
Contents Level: Learners are assumed to have a modest background in programming. Experience with either classical networking or quantum computing and communication is helpful but not required; both are not expected.
Target Audience: The primary audience for this tutorial is those who are beginning work on quantum repeater networks, whether theory, software and protocol development, or physical experiments. Even those with responsibilities for functions relatively “low” in the protocol stack will benefit from a more complete understanding of the complete network being designed and built. Attendees are not required to be literate in C++ in order to participate or to use QuISP, but a working C++ compiler is required to build QuISP. If you wish to contribute to the public development of QuISP, or to extend QuISP for your own purposes, you will need to work in C++ and with the
git source code management system.
Date: Mon, Oct 12, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Opening Remarks and to get ready for the tutorial
We are looking forward to leading the advanced tutorial on “Hands-on Simulation of a Quantum Network,” coming up next Monday, Oct 12 U.S. time — in just three days!
To help us in our final preparations, it would be useful if you would take just one minute to complete this Google Form (really just one minute with three multiple choice questions):
https://forms.gle/6CYxmGmZe8imAZpt7
The form will also ask you for an email address. We will use this address *ONLY* to invite you to join the AQUA-QuISP Slack workspace, where much of the work will take place. Feel free to use a throwaway
address if you have privacy concerns. Likewise, the form will ask you for a handle we can call you by. This can be your real name, or a nickname, or again something throwaway, as you choose.
This tutorial will operate at the boundary between quantum communication and network engineering, so expect some challenges regardless of which side you are approaching from. The software system that is the focus of the tutorial, the Quantum Internet Simulation Package (QuISP), focuses on the engineering of realistic network protocols with complex, heterogeneous network topologies. See the description of QuISP, including our research goals at:
https://aqua.sfc.wide.ad.jp/quisp_website/
If you can make some time to prepare for the tutorial itself, there are a few things you can do that will enhance your learning experience:
1. First, if you aren’t familiar with the two basic concepts of entanglement swapping (closely related to teleportation) and entanglement purification (or distillation), they are critical. A little time studying them will help orient you.
https://en.wikipedia.org/wiki/Quantum_teleportation#Entanglement_swapping
https://en.wikipedia.org/wiki/Entanglement_distillation
2. QuISP depends on the (classical) network simulator OMNeT++. The achilles heel of installing QuISP is that OMNeT++ itself is very hard to install. We recommend that you download OMNeT++ and try
installing it beforehand.
https://omnetpp.org/download/
https://github.com/sfc-aqua/quisp/blob/master/doc/INSTALL.md
If you have trouble getting it to install, don’t worry, you’re not alone! We will work with you to debug your installation, within the time constraints of the tutorial.
In addition, you may find the following two videos useful:
1. Rodney Van Meter and Tracy Northup, IETF tutorial on quantum networks (for complete beginners in quantum networking)
https://www.youtube.com/watch?v=9nfaYAU92tY
2. Rodney Van Meter, RuleSet-based Operation of the Quantum Internet (for a description of our technical approach)
https://virtualmarchmeeting.com/presentations/ruleset-based-operation-of-the-quantum-internet
Regardless of your background, we hope that you will find Monday to be a stimulating, and that you walk away with a sense of the engineering challenges in moving a technology as complex as quantum communication
from the laboratory to a robust, long-lived system ready for production use. Let’s design and build the Quantum Internet!
If you have any questions beforehand, email us or, better yet, catch on the AQUA-QuISP Slack, if you’re already there.
See you on Monday.
–Rod and cocori
Rodney Van Meter
rdv@sfc.wide.ad.jp
Professor, Faculty of Environment and Information Studies, Keio University, Japan
Tutorial on Introduction to the Microsoft Quantum Development Kit and Azure Quantum
Frances Tibble, Microsoft Quantum (Lead)
Chris Granade, Microsoft Quantum
Guen Prawiroatmodjo, Microsoft Quantum
Mathias Soeken, Microsoft Quantum
Ryan Shaffer, Microsoft Quantum
Abstract: The Microsoft Quantum Development Kit (QDK) is a set of tools for developing quantum applications, including Q#, a modern quantum focused programming language for targeting quantum hardware. The QDK also includes capabilities to develop quantum-inspired applications targeted for classical devices. These tools will enable you to create quantum programs to run locally or on Azure Quantum services. Participants will learn how to develop quantum applications using Q#, general and domain-specific libraries, and resource estimators.
This tutorial is structured in three sections. Section 1 includes an introduction to the QDK, where basic Q# language concepts will be covered, as well as tools such as debugging and visualization, simulators and resource estimators. Section 2 will go deeper, exploring the QDK libraries, which span general-purpose libraries as well as specific quantum chemistry and quantum machine learning use cases. Section 3 will then provide participants an overview of quantum-inspired optimization and demonstrate how to use Azure Quantum.
Keywords: Quantum programming, Azure Quantum, Microsoft QDK, quantum stack, quantum chemistry, quantum machine learning, resource estimation, quantum-inspired optimization
Streams: QINTRO, QEDU, QIS, QDK, QAPP, QCHEM, QML, QOPT, QSW
Contents Level: The content of this tutorial is 60% beginner and 40% intermediate. Attendees don’t need to have any familiarity with Q#, as we’ll introduce all the relevant terminology and concepts. For the most benefit, attendees should have some experience of programming and be familiar with quantum computing fundamentals. We’ll be explaining applications for quantum machine learning, quantum chemistry, and optimization, of which no prior knowledge is required.
Target Audience: This tutorial is aimed at software engineers and researchers who want to deepen their understanding of the software tools available to them to write applications for quantum computers. We’ll be showing attendees how they can leverage these tools to write better quality code, and understand what resources are required to run their programs on simulators or quantum hardware. This content will be of most interest to software engineers and researchers who are interested in developing near-term applications for quantum computers. You’ll see how to get value out of the QDK and Azure Quantum even before the hardware you require is available.
Date: Tue, Oct 13, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Quantum Machine Learning for Data Scientists
Bryce Fuller, IBM Quantum (Lead)
Christa Zoufal, IBM Quantum & ETH Zürich
Abstract: Quantum machine learning is a popular topic these days, but its near-term applications for practical data science problems are unclear. At the same time, one of the fundamental problems of data science is developing new models, especially for data whose structure is nontrivial. Parameterized quantum circuits can provide a way to enhance models. For example, they can be used to define a similarity measure between two pieces of classical data, yielding a kernel matrix that can be plugged into a support vector machine or a kernel ridge regression algorithm. Another approach is to use parameterized quantum circuits as part of a neural network architecture. Both of these approaches let classical models work implicitly in quantum state space and enable data scientists to potentially gain some benefit from near-term quantum computers. What’s more, the integration of a parameterized quantum circuit into a data science workflow is straightforward, especially for kernel-based algorithms. In this tutorial, we will show how to use parameterized quantum circuits as part of both kernel algorithms and generative algorithms, code simple examples for doing so using an applications development framework (Machine Learning module of Qiskit) and discuss the implications for developing new models.
Keywords: Quantum machine learning (QML), data science (DS) problems, new DS models, parameterized quantum circuits (PQC), hybrid ML, integration of PQC into DS workflow, ML module of Qiskit
Streams: QIS, QPROG, QDK, QAPP, QML, QHYB, QSW, QBUSI
Contents Level: The content will be 20% beginner and 80% intermediate. We expect attendees will have some knowledge of data science and machine learning (such as support vector machines, or neural networks), but they do not need to be experts in either topic. Attendees will need to know how to program in Python. Familiarity with the machine learning packages scikit-learn and pyTorch is helpful, but not required. Attendees should have a passing familiarity with the circuit model of quantum computation, though the basics of that model will be reviewed in this tutorial.
Target Audience: This tutorial is appropriate for three kinds of attendees: computer scientists with an interest in machine learning or data science, data scientists themselves, and quantum computing hobbyists with an interest in near-term quantum machine learning. The first session of the tutorial will cover background material to ensure all attendees are on the same page. Additionally, we will discuss a first application of quantum circuits as part of neural network models; namely, quantum generative adversarial networks (qGANs), and show how qGANs can be trained to load probability distributions into quantum states. In the second session, attendees will learn about the quantum kernel estimator, which is a way of using quantum computers to define novel similarity measures (kernels) for classical data. This topic will be of most interest to data scientists, especially those who use kernel-based algorithms. The third session will cover a recent development in near-term quantum machine learning: quantum Boltzmann machines (QBMs), and how they are implemented and trained on a quantum computer. This topic will be of interest to all three kinds of attendees. This tutorial will feature hands-on coding (as noted above) to reinforce the ideas presented. All attendees will leave with code examples they can refer to later and use in their own workflows or projects.
Date: Tue, Oct 13, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Practical Quantum Programming
Joel Gottlieb, D-Wave Systems (Lead)
Abstract: After a short introduction to D-Wave’s quantum computers and the company itself, the first section of the course will introduce Quadratic Unconstrained Binary Optimization (QUBO) and Ising models, and how to visualize small problems for D-Wave’s quantum processing unit (QPU) using D-Wave’s newly-released Problem Inspector. The second section will delve into how to develop QUBOs for a large variety of problems, along with an Ising model example, and will conclude with a brief introduction to Python. In the final section of the tutorial, we introduce D-Wave’s Ocean software in Python, and then students will begin to write their own programs for the quantum computer. The conclusion will be an introduction to D-Wave’s QDK Hybrid Solver Service (HSS) and how to program it.
Keywords: D-Wave Ocean software in Python, hybrid quantum-classical computing, optimization, quadratic unconstrained binary optimization (QUBO) with Ising models, applying QUBO for various problems, D-Wave’s Hybrid Solver Service (HSS)
Streams: QIS, QPROG, QDK, QAPP, QOPT, QHYB, QHW, QSW
Contents Level: 40% beginner, 50% intermediate, 10% advanced
Target Audience: Quantum Computing researchers and practitioners. Expected background: basic linear algebra, willingness to learn technical topics and consider mathematical problems.
Date: Tue, Oct 13, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Quantum Hardware Control: A Hands-on Introduction
Thomas Alexander, IBM Quantum (Lead)
Nathan Earnest, IBM Quantum
Abstract: Quantum computers rely on classical hardware emitting stimulus signals to manipulate underlying quantum systems. Signal generators, control logic, and higher-level programming constructs, all play an important role in orchestrating a quantum computation. Consequently, an opportunity exists for engineers with a background in classical hardware to participate in the growing quantum computing industry. We will engage this audience and introduce quantum computing from the perspective of the classical hardware controlling quantum computers. Using clear explanations for how quantum hardware is controlled and explaining the hardware and software stack(s) necessary for doing so, we will show engineers and other technicians how their skills “plug in” to quantum computing. We have developed open-source software tools for programming quantum computers at the low-level of pulses (Qiskit Pulse) and made available hardware which can be controlled at that level, and will show how to use both. In this tutorial, we will explain the basics of how superconducting chips are used for quantum computation, emphasizing how to use low-level pulse control to program them. We will also discuss compilation of higher-level programs to pulse-level programs. Further, we will demonstrate how to run pulse-level programs on both a simulator and real quantum hardware.
Keywords: Quantum hardware control, superconducting chips, low-level pulse control, stimulus signals, signal generators, control logic, and higher-level programming constructs, pulse-level programs, Qiskit Pulse
Streams: QENG, QCTRL, QPROG, QDK, QALGO, QPERF, NISQ, QHW
Contents Level: The content will be 80% beginner and 20% intermediate. We expect the typical attendee to be a beginner in quantum computing, be familiar with Python, and have some basic knowledge of microwave engineering or signal processing
Target Audience: This tutorial is appropriate for four kinds of attendees: electrical and microwave engineers with a background in signals (AWGs, FPGAs), computer engineers with an interest in microarchitectures for quantum computing, software engineers with an interest in low-level programming models and compilers for quantum computers, and physicists with a background in superconducting circuits who are interested in quantum computing. The first session of the tutorial will provide a common language and conceptual understanding for quantum hardware and control (tailored specifically to the fixed-frequency superconducting modality IBM Quantum uses). This session is of most relevance to the non-physicists, so they understand the physics of quantum control. For the physicists, the topics in this session will provide a review of material they may know, and also introduce the idea of pulse-level control which they may not be familiar with. The second and third sessions focus on actually controlling a qubit, and the software necessary to do so. In the second session, attendees will learn how to take an uncalibrated qubit and do the requisite calibrations to estimate various properties (such as frequency and T1 time). This topic, plus the software tools to do so, will be of interest to all four kinds of attendees. The third session builds on the first, and calibrates single and two-qubit gates. We anticipate that, while non-physicists may struggle with the canonical conceptual framework used to describe quantum gates and quantum circuits, by explaining gates from the perspective of pulses, they will more easily grasp what is going on, and understand from a practical perspective how to build a quantum computer.
Date: Tue, Oct 13, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Quantum Algorithms for Optimization
Stefan Woerner, IBM Quantum (Lead)
Travis Scholten, IBM Quantum
Abstract: From portfolio optimization, over protein folding, to route planning, optimization problems pervade our society. While great strides have been made to develop classical algorithms to generate better solutions, there is interest in knowing if quantum computers could help to further improve them. Recent work has shown fault-tolerant quantum computers could offer speedups for, among other problems, linear and semidefinite programming. For near-term, non-fault-tolerant quantum computers, whether there is any advantage (and what problems advantage might exist for) in using them is unclear. For computer scientists and other developers seeking to improve solutions for optimization problems, having clarity on this topic is essential for understanding the limitations of near-term quantum backends. Separating out what is feasible in the long-term from the near-term helps give a nuanced perspective on when (and if!) quantum computers could be useful for such problems. In this tutorial, we will discuss the feasibility of using quantum computers for near-term, combinatorial optimization problems. We will teach attendees how optimization problems can be mapped to quantum computers, discuss several kinds of problems that can be tackled using near-term optimization algorithms—QUBO (quadratic unconstrained binary optimization) and MIP (Mixed-Integer Programming). We will discuss an applications framework for tackling these problems (Optimization module of Qiskit), and tackle simple instances of several problems using real hardware.
Keywords: Optimization problems, combinatorial optimization, linear and semidefinite programming, portfolio optimization, protein folding, route planning, quantum advantage, NISQ algorithms, Optimization module of Qiskit, QUBO, MIP
Streams: QAPP, QALGO, QOPT, QHAM, QHYB, NISQ, QSW, QBUSI
Contents Level: The content will be 20% beginner, 50% intermediate, and 30% advanced. We expect the typical attendee will have some background in optimization theory, as well as be conversant in programming in Python. As attendees may not have studied the particular optimization problems we consider here, sufficient background will be presented for them to understand the structure of these problems. We do not expect attendees to have a deep background in either quantum mechanics or quantum computing. Passing familiarity with the circuit model of quantum computing is helpful for understanding the algorithms and applications we discuss.
Target Audience: This tutorial is appropriate for two kinds of attendees: computer scientists and mathematicians who do research in optimization theory, and industrial staff who do operations research or management science. Both kinds of attendees will have an interest in how quantum computers can help with optimization. The first session helps set the scene for what quantum optimization is, and its limits. As discussed above, the minimal thing we want attendees to leave with is “Quantum computers can solve optimization problems using superpositions of possible outcomes, but this doesn’t provide a constant-time algorithm.”. Further, this session will show attendees how an optimization problem can be mapped to a quantum-mechanical Hamiltonian, a foundational building block for leveraging quantum optimization algorithms. The second session will show attendees two common near-term, variational algorithms: VQE and QAOA. We will explain how these algorithms work, and also provide 2 simple examples of using these algorithms in practice (portfolio optimization and MAX-CUT). Both of these problems are defined by QUBOs (quadratic unconstrained binary optimization problems), so they are fairly easy for attendees to understand. The final session looks at novel optimization algorithms beyond VQE and QAOA, and helps attendees understand the broader scope of optimization problems where quantum computing could be applicable. We will introduce two new approaches: Grover Adaptive Search for Constrained Polynomial Binary Optimization, and ADMM for Mixed Integer Programming. We illustrate the two approaches on portfolio optimization and transaction settlement, respectively. Both of these problems have recently been studied in the literature.
Date: Wed, Oct 14, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Quantum Machine Learning with PennyLane
Nathan Killoran, Xanadu Quantum Computing Toronto (Lead)
Joshua Izaac, Xanadu Quantum ComputingToronto
Abstract: Quantum machine learning is one of the most exciting applications of quantum computers, and many algorithms are compatible with currently available quantum computing hardware. In this tutorial, we will provide an accessible introduction and overview of the present-day methods for quantum machine learning. We will introduce the key idea of variational quantum algorithms (quantum circuits with free parameters) which underlies near-term quantum machine learning, and which also appears in quantum chemistry and quantum optimization algorithms. We will illustrate how quantum computations are differentiable, and can thus be trained using the exact same ideas and tools already developed for classical deep learning. We also show how quantum circuits can be easily composed and combined with classical computations, allowing for hybrid quantum-classical machine learning models which can be trained jointly. A major component of this tutorial will include hands-on programming, using the quantum software framework PennyLane. We will work through a series of fully coded quantum machine learning examples and demonstrations, covering major ideas and important recent results from the field. Participants will be shown how their quantum machine learning models can easily be executed on a variety of backends, including publicly available quantum computing hardware.
Keywords: Quantum machine learning (QML), variational quantum algorithms, quantum circuits with free parameters, NISQ QML, quantum chemistry, quantum optimization, quantum and classical deep learning, hybrid quantum-classical machine learning models, hands-on programming using PennyLane, fully coded quantum machine learning examples and demonstrations
Streams: QIS, QPROG, QDK, QAPP, QML, QHYB, NISQ, QSW
Contents Level: This tutorial is aimed at beginner (40%) and intermediate (60%) level attendees, but materials should be interesting and useful even for advanced level attendees.
Target Audience: The target audience of this tutorial will be similar to the main demographics of Quantum Week. Specifically, this tutorial is targeted at scientific and technical professionals from diverse backgrounds and fields who have an interest in quantum computing and machine learning. The tutorial does not require deep expertise with either quantum computing or machine learning, but exposure to the basics of qubit-based quantum computation (circuit model, gates, measurements, etc.) will be valuable. Understanding of basic ideas from optimization, such as cost functions, optimization landscapes, and gradient descent, is recommended. Though no extensive coding knowledge is needed, some basic familiarity with Python programming would be beneficial for the hands-on sessions. Attendees who have prior experience using standard classical machine learning tools such as PyTorch or TensorFlow will find PennyLane to be a natural extension of these methods to the quantum domain. On the whole, all attendees will learn general theoretical concepts and practical hands-on software and prototyping skills which they will be able leverage in their own diverse fields of research.
Date: Wed, Oct 14, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Preparing the Future Quantum Workforce
Araceli Venegas-Gomez, QURECA Ltd., Glasgow (Lead)
Abstract: Fresh graduates feel overwhelmed when the time comes for them to decide which direction to take in their professional careers. Frequently, this is due to the lack of time available during studies and research to think about the future, or to find information about options outside academia. It could be that there were not enough opportunities to gain an understanding of the related business opportunities to their field. The goal of this tutorial is to provide the research community with a summary of available opportunities in the field of quantum technologies. The idea is to start with an introductory overview of quantum technologies around the world. A few examples include the different national programs, the sectors involved, and the global distribution of start-ups. Next, there will be a panel discussion where professionals within and beyond academia will present and promote a variety of career paths and opportunities for physicists, offering the attendees the chance to engage with different speakers through a Q&A session. The final segment of the workshop will consist of hands on sessions for the participants to understand their skill set and how it can help their careers. The aim of this tutorial is to highlight the importance of the awareness of one’s own technical and soft skills, and to help them recognise and evaluate the best career opportunities. A solid and unified introduction, followed by the opportunity to discuss with a diverse panel, will help the participants in shaping their professional paths within the field of quantum technologies.
Speakers invited for Panel
- Dr. Aggie Branczyk, just joined IBM Canada, previously PSI Fellow at the Perimeter Institute for Theoretical Physics and Adjunct Associate Professor in Physics at the University of Waterloo, Canada
- Dr. Charles Clark, NIST Fellow at the National Institute of Standards and Technology, Gaithersburg, Maryland, USA
- Dr. Mark Jackson, Scientific Lead at Cambridge Quantum Computing, San Francisco, California, USA
- Dr. Joaquín Keller, Head of quantum machine learning and cofounder of Entropica Labs, Singapore
- Dr. Gregory Quarles, CEO and Board of Directors at Applied Energetics, Inc., Tucson, Arizona, USA
Keywords: Quantum workforce, quantum technologies, job opportunities, career advice, future, skill sets, start-ups, business
Streams: QEDU, QBUSI
Contents Level: 100% beginner
Target Audience: Researchers and practitioners interested in quantum workforce development at universities and in industry.
Date: Wed, Oct 14, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Assessing the Quality of Qubits and Quantum Computers
Antonio D. Córcoles, IBM Quantum (Lead)
Travis Scholten, IBM Quantum
Abstract: Quantum computers are built out of noisy qubits. In the near term, without the availability of quantum error correction, noise in qubits affects the practical performance of algorithms run with them. Understanding how noise in a quantum processor affects the performance of an algorithm is vital for assessing why the observed performance deviates from the ideal. Many of the metrics used to quantify performance are commonly understood by physicists, but not necessarily by the broader user base of quantum computers. Therefore, education about metrics is vital. Furthermore, users need to know what metrics make sense for system-level comparison across different platforms. Without this knowledge, a user may not know which device may be best suited for their particular algorithm. In this tutorial, we will introduce some commonly used metrics for qubit performance and show how they may be estimated. We will measure them for real devices using Qiskit Ignis and will also discuss recently developed holistic metrics for evaluating systemwide performance.
Keywords: Quantum computers, qubit quality, assessing qubit quality, quantum processor noise, quantum error correction, NISQ algorithms, quantify algorithm performance, holistic metrics, quantum volume, Qiskit Ignis, measuring qubit performance, device suitability for a particular algorithm, measuring qubit performance
Streams: QENG, QCTRL, QPROG, QDK, QALGO, QPERF, NISQ, QHW
Contents level: The content will be 60% beginner, 20% intermediate, and 20% advanced. The typical attendee should be familiar with the quantum circuit model (though detailed knowledge won’t be necessary). The bulk of the tutorial will focus on properties of qubits, which are much easier to understand. More sophisticated metrics (such as quantum volume) can be explained to a beginner, but intermediate/advanced students will better appreciate some of the nuances in estimating it.
Target Audience: This tutorial is targeted for two kinds of attendees, general users of quantum computers, and researchers in quantum characterization, validation, and verification (QCVV). For general users, we will introduce them to fundamental concepts related to metrics for quantum computers through the talks. Some preliminary knowledge of the basics of quantum mechanics may be helpful but not necessary. Though this material is somewhat elementary for researchers, it will provide all of us with a common language for describing what the metrics are, what they measure, and how to measure them. For researchers, this tutorial will show them software for doing some simple QCVV tasks, including generating circuits to measure various metrics, fitting data from a quantum processor to extract those metrics, and doing post-processing on additional data in order to mitigate errors (readout error mitigation). For both kinds of attendees, they will leave with a better understanding of how they can estimate performance metrics. In addition, they will learn how to query IBM Quantum’s backends to get calibration information and performance metrics directly, which is useful when developing new noise models, or for comparing the results of their own tests.
Date: Thu, Oct 15, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Quantum Algorithms for Chemical Simulation
Panagiotis Barkoutsos, IBM Quantum
Gavin Jones, IBM Quantum
Pauline Ollitrault, IBM Quantum
Nathan Earnest, IBM Quantum (Lead)
Abstract: One of the most promising application areas for quantum computers is that of chemical and molecular simulation. Chemical systems (proteins, molecules, materials, etc.) are best simulated by quantum mechanics, and their simulation on classical hardware by classical methods can be computationally costly and slow. In contrast, quantum computers are devices that utilize quantum mechanical principles for computation and are therefore naturally suited for simulation of these systems. Given the explosion of interest in this topic in recent years, especially with the development of the variational quantum eigensolver (VQE) algorithm, there’s a need to educate the public and interested chemists about how quantum computers could impact chemistry in the near-term. For attendees with a background in materials science or chemistry, there is an opportunity to show them how their skills and knowledge can be leveraged in the context of quantum computing. In this tutorial, we will discuss practical quantum chemistry simulations with current quantum devices (with the help of the Chemistry module of Qiskit). We will introduce the main components of the VQE algorithm and some challenges that must be overcome to achieve quantum advantage. Furthermore, we will discuss the estimation of molecular energies using a quantum computer, introduce techniques to determine the number of qubits required to perform quantum computation on real systems, teach strategies for qubit reduction, explore different methods for encoding molecular structure into qubits, investigate the practical effects of noise in near-term quantum computers on the performance of the VQE, and show techniques for mitigating those effects.
Keywords: Chemical simulation, molecular simulation, encoding molecular structure, quantum algorithms, NISQ algorithms, variational quantum eigensolver, VQE, estimation of molecular energies, hybrid techniques, qubit reduction strategies, Chemistry module of Qiskit
Streams: QAPP, QALGO, QCHEM, QHAM, QHYB, NISQ, QSW, QBUSI
Contents Level: The content will be 30% beginner, 40% intermediate, and 30% advanced. We expect the typical attendee to not be familiar with quantum chemistry, and will introduce the requisite terminology as we go. We expect attendees to know programming in Python. The advanced material (pulse-level error mitigation) will be of interest to all attendees; those who know something about microwave pulse control of qubits will maximally benefit from it
Target Audience: This tutorial is geared towards two kinds of attendees: general users of quantum computers interested in quantum chemistry, and scientists researching physical/quantum/material chemistry. The first session will review quantum chemistry for general users, and also teach them and the scientists about nearterm quantum algorithms for chemical simulation. The second session gives a deep dive on the nuts and bolts of doing quantum chemistry on quantum computers, 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. An finally, the third session ties the first two sessions together, and shows attendees how a common chemistry problem – plotting a dissociation profile – can be done on a quantum computer. The tutorial will conclude with some practical considerations for running the algorithm on real quantum hardware; namely, error mitigation (for both gates and readout). (Again, because this topic will likely be new for attendees, we use both talks and coding examples to make the ideas concrete.) We will also have a talk on future research directions for VQE in particular (and quantum chemistry in general). By the end of the third session, attendees will be able to deploy error mitigation techniques for their own problems – thereby improving the accuracy of the estimates they obtain from quantum hardware – and understand what the future of quantum chemistry on quantum computers may hold.
Date: Thu, Oct 15, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Combinatorial Optimization on Quantum Computers
Ruslan Shaydulin, Clemson University (Lead)
Ilya Safro, Clemson University
Yuri Alexeev, Argonne National Laboratory
Abstract: Recent advances in both hardware and algorithm development have made it possible to solve small problems on modern quantum computers. Combinatorial optimization problems (especially NP-hard problems) are of particular interest since for many of these problems efficient classical algorithms are not known. One such problem is MaxCut on graphs. In this tutorial, we will provide a general introduction to combinatorial optimization problems, introduce the MaxCut problem, and explain how it can be solved on IBM quantum computers available on the cloud today using the Qiskit framework. Moreover, we will provide examples of how more complicated problems can be solved using the QAOA (Quantum Approximate Optimization Algorithm), as well as discuss how decomposition schemes can be used to solve larger problem instances. The tutorial will be interactive and will use Jupyter notebooks to explain step by step how to reformulate problems for QAOA and how to make QAOA work in practice. We will walk attendees through the boilerplate code required for quantum optimization, constructed from the ground up with as little hidden complexity as possible. These easily customizable code snippets will allow attendees to skip straight to adapting QAOA to their problems as well as to applying their own research to improving QAOA performance.
Keywords: Quantum optimization, combinatorial optimization, MaxCut problem, Qiskit, Quantum Approximate Optimization Algorithm (QAOA), Ising Hamiltonian form
Streams: QAPP, QALGO, QOPT, QHAM, QHYB, NISQ, QSW
Contents Level: 60% intermediate, 40% advanced. We will provide a ground-up introduction to constructing Hamiltonians for optimization problems and solving them using QAOA, assuming no prior background beyond linear algebra and some familiarity with the circuit model of quantum computing. Then we will delve deeper into the nuts and bolts of getting QAOA to produce high-quality solutions, with the focus on understanding the mechanics of QAOA and the near-term challenges.
Target Audience: The target audience is people interested in solving combinatorial optimization problems using quantum computers (both researchers and industry practitioners). This tutorial will provide a sufficiently deep and mathematically rigorous introduction to enable attendees to jump-start their efforts to develop quantum optimization solutions for their problems.
Date: Thu, Oct 15, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Cirq for NISQ: Research and Education
Ryan LaRose, Google AI Quantum & University of Michigan
Markus Hoffman, Google AI Quantum
Abstract: Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators. Cirq is a low-level framework: it allows physicists and computer scientists to control how their computation will be executed, and to specifically adapt it to the capabilities and limitations of each architecture. Cirq is also the SDK used to program the Google Quantum Computer. The tutorial is focused on constructing a full-stack quantum software prototype that takes a high-level quantum algorithm (e.g. Grover’s algorithm) and compiles and optimizes the resulting circuit according to the constraints imposed by a specific NISQ device. Cirq supports all these steps, and at the end of the day, the participants will be able to understand and extend a quantum software framework. Structure of the tutorial: (1) Cirq Basics, (2) Elements of a Full-Stack Architecture, and (3) Near-Term Applications. Topics include Capabilities and features of Cirq: Designing and optimizing circuits & noisy and perfect simulations; NISQ architectures and devices: Devices and gate sets & constraints and validations; Hybrid quantum-classical systems: Parameterized circuits & QAOA; and Applications in academia and industry.
Streams: QINTRO, QEDU, QPROG, QDK, QALGO, QOPT, QHYB, NISQ, QAPP, QSW
Keywords: Google Cirq, QDK, quantum circuits, full-stack architecture, execution control
Contents Level: 70% beginner, 20% intermediate, 10% advanced
Target Audience: graduate students, postdocs, researchers interested in compiling and executing quantum computations on NISQ devices
Date: Fri, Oct 16, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Serious Games for Quantum Computing
Jan-Rainer Lahmann, IBM Karlsruhe (Lead)
Isabell Heider, IBM Mannheim
Abstract: As indicated by the famous remarks from Albert Einstein (“spooky action at a distance”, “God does not play dice”), Quantum Mechanics is sometimes counter-intuitive and might seem to contradict our assumptions about “reality”. As Quantum Computing is based on Quantum Mechanics, it is important for the development of the future workforce to provide effective materials and tutorials from beginner to advanced and expert level to understand the fundamentals of quantum mechanics and quantum computing. In this tutorial, we will give an overview of serious games for quantum computing and use several Quantum Games (a quantum coin game, a game based on the GHZ experiment, Hardy’s paradox, and others) that make the fundamental concepts of Superposition, Interference and Entanglement tangible and understandable for beginners. The focus is on hands-on, which will be based on free online services and the quantum programming framework Qiskit.
Keywords: Quantum computing games, quantum programming, Qiskit, superposition, entanglement, interference, Greenberger-Horne-Zellinger (GHZ) experiments, Hardy’s paradox
Streams: QINTRO, QIS, QEDU, QPROG, QSW
Contents Level: 80% beginner, 20% intermediate, 0% advanced
Target Audience: Target audience is beginners who like to understand the fundamentals of quantum computing and quantum mechanics; and educators who like to get fresh ideas for education of entry level classes, e.g. using serious games.
Date: Fri, Oct 16, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6
Tutorial on Exploring the D-Wave Webinar Series
Joel Gottlieb, D-Wave Systems (Lead)
Abstract: D-Wave has produced a series of online webinars that consist of tutorial-style presentations on many aspects of D-Wave quantum processing systems. This tutorial session will consist of presentations of selected webinars, with selections partly based on the preferences of conference participants. Some webinars contain a “try it yourself” component, where participants are invited to, for example: write a simple program, access the quantum processor online, run the program, and get results back in real time. Participants at QCE20 will have real-time online access to a D-Wave quantum processor and active participation in webinars will be encouraged. Sample webinar titles, presenters, and topics include the following.
- Quantum Programming with the Ocean Tool Suite with Victoria Goliber. Learn how to program a D-Wave quantum computer with the Ocean tool suite.
- A Machine of a Different Kind with Denny Dahl. An overview of quantum computing explaining the quantum annealing approach and its applications.
- Hybrid quantum computing with Murray Thom and Radomir Stevanovic. How to write hybrid quantum-classical programs using the D-Wave Hybrid tool, part of the Ocean SDK inside the Leap2 quantum cloud portal.
- Embedding your Problem onto the D-Wave QPU with Joel Gottlieb. Solving a problem on a D-Wave QPU requires formulating as QUBO and minor-embedding it onto the processor topology. This webinar explains the minor embedding step.
- Introducing Leap2: The Quantum Cloud Service Built for Business with Murray Thom. A tour of features and capabilities of the Leap2 quantum application development environment.
- What’s In Your Knapsack? Using D-Wave’s Hybrid Solver Service (HSS), Joel Gottlieb. Several examples of application problems that have been implemented to run on quantum annealing processors.
Keywords: Quantum annealing, D-Wave Ocean, hybrid quantum-classical computing, optimization, quadratic unconstrained binary optimization (QUBO), applying QUBO for various problems, D-Wave’s Hybrid Solver Service (HSS)
Streams: QIS, QPROG, QDK, QAPP, QOPT, QHYB, QHW, QSW
Contents Level: 30% beginner, 50% intermediate, 20% advanced
Target Audience: Tutorial attendees are expected to have general understanding and some expertise in classical computing: how to write a program, what an operating system is for, how to log on an access a remote server. No advanced understanding of quantum mechanics or quantum computing is required.
Date: Fri, Oct 16, 2020
Time: 10:45-16:45 Mountain Time (MDT) — UTC-6