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 5-qubit computer

Bernstein-Vazirani Algorithm

  • Problem definition and background
  • Algorithm description
  • Algorithm implemented on IBM’s 5-qubit and 16-qubit 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 5-qubit computer

Matrix Elements of Group Representations

  • Problem definition and background
  • Algorithm description
  • Algorithm implemented on IBM’s 5-qubit 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?

Our references