# desireevl/awesome-quantum-computing

A curated list of awesome quantum computing learning and developing resources.

repo name | desireevl/awesome-quantum-computing |

repo link | https://github.com/desireevl/awesome-quantum-computing |

homepage | |

language | |

size (curr.) | 217 kB |

stars (curr.) | 1170 |

created | 2018-01-23 |

license | Other |

# Awesome Quantum Computing

Quantum computing utilises quantum mechanical phenomenon such as entanglement and superposition to manipulate qubits to perform computation on a quantum computer. Currently available are tools to create and run programs on publicly usable quantum computers as well as resources to learn about them.

This is a curated list of up-to-date resources on learning about and developing on quantum computers. The goal is to build a categorised community-driven collection of up to date, high quality resources.

Sharing, suggestions and contributions are always welcome! Please take a look at the contribution guidelines and quality standard first. Thanks to all contributors, you’re awesome and it wouldn’t be possible without you!

## Contents

For further resources related to Open Source Quantum Software Projects, please check out qosf’s repo.

## Learning

- An Interactive Introduction to Quantum Computing - Interactive learning for quantum gate computing by David Kemp.
- CNOT - Easy to understand, step by step introduction to quantum computing concepts.
- Documentation for Forest and pyQuil - Tutorials for Rigetti Computing’s SDK.
- Documentation for Strawberry Fields - Background information on the photonic continuous-variable approach to quantum computation, as well as tutorials for Xanadu’s SDK.
- D-Wave Leap - Demos and educational resources as well as access to D-Wave’s quantum computer.
- IBM Q Full User Guide - Short tutorials providing a gentle introduction to quantum computing and IBM Q.
- John Preskill’s Notes on Quantum Computation - Notes of Caltech’s Quantum Computation Course Physics 219/Computer Science 219 by John Preskill.
- Nielsen and Chuang - Worked examples on quantum algorithm problems.
- Qiskit Tutorials - Jupyter notebooks simply demonstrating how to use Qiskit.
- Quantum Algorithm Zoo - Comprehensive catalog of quantum algorithms.
- Quantum Computer Programming - Hands on Stanford course teaching quantum computing to those without a quantum mechanical background.
- Quantum Computing Playground - 3D quantum state visualisation tool able to simulate up to 22 qubits.
- Quantum computing for the very curious - Essay introducing quantum computing by Michael Nielsen and Andy Matuschak.
- Quantum in the Cloud - Four qubit photonic quantum simulator and computer.
- Quantum Katas - Programming exercises for learning quantum computing and Q#.
- Quantum Machine Learning for Data Scientists - Explanation of quantum machine learning algorithms.
- Quirk - Browser-based drag-and-drop quantum circuit simulator that reacts, simulates, and animates in real-time.
- The Quantum Quest - Introductory web class on quantum computing principles designed for high school students.

## MOOCs

- Brilliant.org Quantum Computing - Explanations through problems. Curated along with Microsoft and Alphabet X.
- MIT Quantum Information Sciences - Series of lecture notes on the MIT quantum information sciences course.
- QC101 Quantum Computing & Quantum Physics for Beginners - Introductory course on quantum cryptography and how to run quantum programs.
- Quantum Computing: Theory to Simulation and Programming - Understanding the D-Wave Quantum Annealer architecture along with a few practical tasks.
- Quantum Cryptography - Learn how quantum communication provides security that is guaranteed by the laws of nature.
- Quantum Information Science I, Part I - Foundational course on quantum information and computation.
- Quantum Machine Learning - Learn about the benefits quantum technologies can provide to machine learning.
- Quantum Mechanics and Quantum Computation - Conceptual introduction to the fundamental principles of quantum mechanics.
- The Introduction To Quantum Computing - A subtle introduction to computation, the math behind it and its quantum counterparts followed by in-depth discussion of a few quantum algorithms.
- The Quantum Internet and Quantum Computers: How Will They Change the World? - Learn the principles and promises behind developments in quantum computers and quantum internet and how they will impact our future.
- Understanding Quantum Computers - Introduction to the key concepts of quantum computing with minimal mathematics.

## Development Tools

- Amazon Braket - Fully managed service providing a development environment to run quantum circuits on quantum simulators and computers.
- Blueqat - Software development kit in Python for quantum gate computing.
- Cirq - Python library for writing, manipulating, and optimizing NISQ circuits to run on quantum computers.
- IBM Quantum Experience - Online quantum composer to run experiments on real quantum computing hardware.
- Mitiq - Python toolkit for implementing error mitigation techniques on quantum computers.
- NISQAI - Library for performing quantum artificial intelligence on near-term quantum computers.
- Ocean - D-Wave’s SDK for developing on their quantum computers using Python.
- Orquestra - Zapata Computing’s unified quantum operating environment, allowing for quantum-enabled workflows.
- Paddle Quantum - Baidu’s python toolkit for quantum machine learning.
- PennyLane - Open source framework for quantum computing and quantum machine learning that integrates various other platforms.
- Project Q - Framework for implementing quantum computing in Python.
- pyQuil - Python library for quantum programming using Quil by Rigetti.
- pytket - Python module for interfacing with Cambridge Quantum Computing’s t|ket>; a tool for circuit optimising and qubit allocation.
- QCL - Older, C like language for quantum computers. Only has a simulator and debugger.
- Qiskit SDK - Software development kit by IBM for writing and running quantum algorithms on simulators and real hardware.
- Qiskit.js - Qiskit for JavaScript made by IBM.
- Qrack - High performance LGPL-licensed C++ quantum simulator library, documentation, and test code.
- Quantum++ - High performance modern C++11 quantum computing library.
- Quantum Programming Studio - Web based quantum programming IDE and simulator.
- Quipper - Embedded, scalable, functional programming language for quantum computing.
- Qurry - Quantum probabilistic programming language based on functional and probabilistic paradigms.
- QuTiP - Quantum toolbox in Python for simulating dynamics of open quantum systems.
- Q# - Microsoft quantum development kit and Q# programming language.
- Strangeworks Platform - A hardware agnostic platform and interface allowing for focus on development rather than specific hardware solution building.
- TensorFlow Quantum - A quantum machine learning library that integrates Cirq with TensorFlow for prototyping of hybrid quantum-classical models for classical or quantum data.
- Tequila - An Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik group (University of Toronto).

## Blogs

- Algorithmic Assertions - About quantum computing and computing in general by Craig Gidney - a member of Google Quantum Computing Team.
- Bits of Quantum - By the QuTech institution, sharing their research and daily life.
- Dawid Kopczyk - Quantum algorithms explained to data scientists with visualisations.
- Decodoku - Interesting posts on quantum computation, by James Wootton.
- Microsoft Quantum blog - Microsoft Quantum program-wide updates.
- Musty Thoughts - Personal blog of Michał Stęchły, includes many articles for people starting to learn about quantum computing.
- Qiskit blog - All about quantum computation from the Qiskit community team.
- Quantumfy - Snippets on the latest quantum computing news.
- Quantum Frontiers - By the Quantum Institute for Quantum Information and Matter, sharing behind the scenes research insights.
- Quantum Weekly - A weekly correlation of all things quantum - computing, cryptography, entanglement.
- Quantum Zeitgeist - Covers the latest news in quantum computing as well as QC companies and careers.
- Q# Blog - Microsoft Quantum development updates.
- Shtetl-Optimized - Scott Aaronson’s thoughts on quantum computing matters.
- The Quantum Daily - Outlet for the latest news in quantum computing, presenting articles for both research scientists and the curious Sunday newspaper reader.

## Books

- Classical and Quantum Computation - Introduction to fundamentals of classical and quantum computing.
- Dancing with Qubits - How quantum computing works and how it can change the world.
- Learn Quantum Computation using Qiskit - An open-source textbook covering quantum algorithms and showing how to run them on real hardware using Qiskit. Also covers prerequisites.
- Learn Quantum Computing with Python and Q# - Introduces quantum computing using Python and Q#, Microsoft’s new language for quantum programming.
- Problems and Solutions in Quantum Computing - Easy to advanced quantum computing and information problems with detailed solutions.
- Programming Quantum Computers: Essential Algorithms and Code Samples - Hands-on introduction to quantum computing that focuses on concepts and programming examples (in multiple languages).
- Quantum Computation and Quantum Information - Comprehensive textbook for those with some prior knowledge in mathematics, computer science and physics.
- Quantum Computing: An Applied Approach - A hands on introduction into quantum computing that explains the foundations of quantum computing to the mathematics behind quantum systems.
- Quantum Computing: A Gentle Introduction - Explains quantum computing with only basic college maths knowledge needed.
- Quantum Computing Explained - Conversational approach to explaining quantum computing with worked solutions.
- Quantum Computing for Computer Scientists - Quantum computing explained using an approach accessible to undergraduate computer science students.
- Quantum Computing for Java Developers - Explains quantum computing through the lens of its practical implementation.

## Videos

- Anastasia Marchenkova - Youtube channel focusing on quantum computing topics and general technology.
- Circuit Sessions - Qiskit series exploring the value and use of quantum circuits through a lecture series by academics and industry researchers.
- Coding with Qiskit video series - YouTube video series showing how to write quantum algorithms.
- Introduction to Quantum Programming - The why and how of quantum programming with a focus on the Python Forest SDK from Rigetti.
- Quantum Computing for Computer Scientists - Microsoft Research Talk on introductory quantum computing for computer scientists. Duration: 1 hour, 28 minutes.
- Quantum Computing for the Determined - A series of lectures on quantum computing basics by Michael Nielsen.
- Quantum Computation and Information at CMU - A series of lectures on quantum computing by Professor O’Donnell at CMU.
- Quantum Impact - Understand how quantum computing can help scientists solve some of the world’s most challenging problems such as land optimisation.
- Quantum Computing Seminar Series - Qiskit series discussing recent research.

## Community

- D-Wave Leap Community - D-Wave System’s Leap Community Forum.
- IBM Q Community - IBM Q Community page with list of upcoming events and latest programs.
- IBM Q Qiskit Community - Slack Channel for Qiskit and quantum computing discussions.
- Mike & Ike Subreddit - Discussion about the book Quantum Computation and Quantum Information.
- Pennylane Discussion Forum - Discussion forum for quantum machine learning, both using simulations and on near term hardware.
- Quantum Computing Slack Community - Slack channels for discussion of quantum computing.
- Quantum Computing StackExchange - Question and answer site for quantum computing.
- Quantum Computing Subreddit - Community for discussion of many quantum computing topics.
- Quantum Inferiority - Quantum Programming Chat on matrix, language agnostic, expertise not required.
- Quantum Information and Quantum Computer Scientists of the World Unite - Facebook group for quantum research discussion.
- Q# Community - Community contributed libraries, projects, and demos for the Q# language.
- Rigetti Community - Slack Channel for Rigetti and quantum computing discussions.
- Strawberry Fields Community - Slack channel for Xanadu and Strawberry Fields photonic/CV quantum computing discussions.

## Podcasts

- Meet the meQuanics Interviews with key quantum computing figures, aimed at the lay person.
- Quantum Computing Now - Podcast by Ethan Hansen covering three main topics: the basics of quantum computing, interviews and the latest news.

## License

To the extent possible under law, Desiree Vogt-Lee has waived all copyright and related or neighboring rights to this work.