# Quantum Computing Resources¶

*Last updated: May 4, 2022*

While we don’t currently host any quantum hardware, this page lists resources for common simulators, tutorials, and benchmarks that can be used with simulators or cloud-based quantum systems.

## What fundamentals do you need to get started with quantum computing research?¶

- You need a good base knowledge of linear
algebra
and some exposure to quantum
mechanics
to get started with quantum computing.
- University of Waterloo has a nice PDF by Martin Laforest called “The Mathematics of Quantum Mechanics” for their QCSYS summer school that can be used as a high-level introduction to what you need to know.

- Understanding Dirac notation (also called bra-ket) would also be helpful! Another resource
- Ideally you also need some initial experience with programming in a language like Python or C/C++. Most quantum computing APIs use Python as their primary language, but some tools like XACC/QCOR use C++ for most of their software infrastructure.

## What are the “best” resources to get started with?¶

Dr. Eugene Dumitrescu at ORNL has suggested the following resources, which include an accurate mathematical picture of quantum computing.

- Nielsen and Chuang’s Quantum Computation and Quantum Information - Sometimes referred to as Mike and Ike, this book is still very relevant even though it was first published in 2012! Most people consider this the most important book on the topic.
- Quantum Computing: A Gentle Introduction - recommended by Prof. Moin Qureshi in addition to Nielsen and Chuang and has some added info on quantum algorithms
- Griffith’s Quantum Mechanics book
- John Preskill’s notes for Physics 219
- Scott Aaronson’s notes for his Intro to Quantum Information Science course
- Video lectures from CMU
- MIT OpenCourseWare (OCW)

### Vendor-provided Tutorials¶

IBM’s Circuit Composer and Qiskit Notebooks

- Qiskit textbook
- Qiskit for Educators
- Hello World with Qiskit - not designed by IBM

Microsoft’s Quantum Katas using Q# - Uses Jupyter notebooks to introduce simple quantum concepts where each Kata investigates one technique or idea.

### University Tutorials¶

EPiQC Tutorial on Quantum Computing: Includes a Docker image to run all the simulation tools on your local machine. Based in part on Scaffold compiler tools and Qiskit.

### Quantum Algorithms and Survey Papers¶

Next Steps in Quantum Computing: Computer Science’s Role

QDB: From Quantum Algorithms Towards Correct Quantum Programs - this paper from Princeton describes some quantum algorithm/benchmark implementations using ScaffCC and Qiskit.

Overview and Comparison of Gate Level Quantum Software Platforms - July 2018 paper

### Software¶

## Qiskit¶

## XACC (ORNL)¶

### Quantum Hardware Testbeds and Resources¶

- IBM Q
- Microsoft Azure Quantum
- Rigetti Quantum Cloud Service and Forest SDK
- DWave Leap (quantum annealing)

While the above resources are considered primary resources, the following links are provided as additional resources.

### Introductory videos about quantum computing¶

These videos might provide a good high-level introduction to quantum computing and were put together from the IEEE Quantum Computing Education Effort (to be publicly announced).

- Talia Gershon of IBM Explains Quantum Computing in 5 Levels of Difficulty (20 min)
- Quantum Computing - Top 3 Microsoft Breakthroughs with Krysta Svore (25 min)
- Quantum Computers Explained; Limits of Human Technology by nova.org.au (7 min)
- John Preskill’s Keynote Lecture at Q2B on 5 Dec 2017 (50 min)
- Quantum Computing for Dummies : A Simple Explanation for Normal People by Sean Ong (6 min)
- Quantum Computer in a Nutshell produced by Pawel Dobosz (30 min)
- Quantum theory: It’s Unreal by Terry Rudolph (1 hr)
- Quantum Computers Animated by John Preskill & Spiros Michalakis (7 min)
- You Don’t Know How Quantum Computers Work! by Frame of Essence (15 min)
- The Mathematics of Quantum Computers | Infinite Series (12 min)

### Other books and Resources¶

Programming Quantum Computers (book) - available via O’Reilley digital library

Quantum Tutorial for Architects

Brilliant.org Quantum Computing Course

From Cbits to Qbits - David Mermin paper on teaching students without a background in quantum physics.

Dancing with Qubits (book) - Suggested for K-12 and undergrads as it includes intro material for linear algebra and computational complexity.

### Educational Resources¶

Qureca site - links to other online quantum computing educational resources

Qutools - German site focused on teaching quantum physics

FutureLearn MOOC - a five week MOOC focused at high-level quantum learning

### Other QC Software¶

## ScaffCC / Scaffold¶

## Quipper¶

- Quipper: A scalable quantum programming language - a functional language for quantum simulation

## CIRQ/Open Fermion (Google Research)¶

- CIRQ - Python library for simulating quantum circuits
- Open Fermion - Library for simulating fermionic systems