Quantum Computing for Classical Programmers
© Elephant Scale
October 01, 2022
Overview

As quantum computers become available to the general public, the need has arisen to train a cohort of quantum programmers, many of whom have been developing classical computer programs for most of their careers.

The course introduces computer scientists, physicists, and engineers to quantum algorithms and provides a blueprint for their implementations.
Benefits

After taking the course, participants will be able to
 Explain the principles of quantum computing and quantum algorithms.
 Apply quantum algorithms to solve problems in chemistry, finance, and machine learning.
 Be ready for the quantum computing revolution and estimate its feasibility for their applications.
Duration:
 Two days
Audience:
 computer scientists, physicists, and engineers.
Prerequisites
 Background in software engineering
 Familiarity with a programming language
Lab environment
 A working environment will be provided for students.
Course Outline:
Introduction
 The quantum computing programming model
 The qubit
 System of qubits
 Superposition and entanglement
 Inner and outer products
 Measurements
 Unitary transformations and gates
 Observables and expectation values
 Quantum circuits
 Quantum algorithms
 Implementations on a real quantum computer
 The IBM quantum computer
 Programming the IBM quantum computer: Qiskit library
 Classes of quantum algorithms
Grover’s Algorithm
 Problem definition and background
 Algorithm description
 Algorithm implemented on IBM’s 5qubit computer
BernsteinVazirani Algorithm
 Problem definition and background
 Algorithm description
 Algorithm implemented on IBM’s 5qubit and 16qubit computers
Linear Systems
 Problem definition and background
 Algorithm description
 Phase estimation
 Algorithm implemented on IBM’s 5 qubit computer
Shor’s Algorithm for Integer Factorization
 Problem definition and background
 Algorithm description
 Algorithm implemented on IBM’s 5qubit computer
Matrix Elements of Group Representations
 Problem definition and background
 Algorithm description
 Algorithm implemented on IBM’s 5qubit computer
Quantum Verification of Matrix Products
 Problem definition and background
 Algorithm description
 Group Isomorphism
 Problem definition and background
 Algorithm description
 Algorithm implemented using Qiskit
Quantum Random Walks
 Problem definition and background
 Example of a quantum random walk
 Algorithm implementation using Qiskit on IBM Q
Conclusion
 Summary
 What’s next?