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
- Learning
- MOOCs
- Development Tools
- Blogs
- Books
- Videos
- Community
- Podcasts
- Content in Non-English Languages
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.
- Black Opal - An interactive platform for learning the fundamentals of quantum computing.
- CNOT - Easy to understand, step by step introduction to quantum computing concepts.
- Chris Ferrie - Univeristy Professor in Sydney, Australia, author of Quantum Computing for babies (and many more) as well as excellent Quantum Computing lectures on Medium.
- 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.
- Introduction to Quantum Computing - Online introductory lectures on quantum computing by CERN (European Organization for Nuclear Research).
- 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 Implementations for Beginners - A brif survey of 20 different quantum algorithms using qiskit.
- Quantum Algorithm Zoo - Comprehensive catalog of quantum algorithms.
- Quantum Algorithms - Open-source set of lectures notes on quantum algorithms, with a focus on machine learning and data analysis.
- Quantum Computer Programming - Hands on Stanford course teaching quantum computing to those without a quantum mechanical background.
- Quantum Computing Foundations - Microsoft Learn learning path covering Azure Quantum and elements of quantum computing.
- Quantum Computing Playground - 3D quantum state visualisation tool able to simulate up to 22 qubits.
- Quantum Computing UK - Free Qiskit tutorials and code repository.
- Quantum Computing for the Very Curious - Essay introducing quantum computing by Michael Nielsen and Andy Matuschak.
- Quantum Computing with Amazon Braket SDK - Manning liveProject series that introduces Braket API and guides the learner through implementation of several simple algorithms.
- Quantum Computing with Microsoft QDK - Manning liveProject series that guides the learner through implementation of a variety of protocols and algorithms using Microsoft QDK.
- Quantum Inspire Knowledge Base - Easy to read knowledge base, rich of basic Quantum Computing concepts.
- 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.
- QWorld's Bronze-Qiskit - Very accessible computation/programming oriented tutorials. It begins from basics of matrices up to grover's algorithm. There are also accompanying videos which explain the tutorials.
- 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.
- Introduction to Quantum Information Science - “Introduction to Quantum Information” by Professor Artur Ekert at the University of Oxford.
- MIT Quantum Information Sciences - Series of lecture notes on the MIT quantum information sciences course.
- Programming a Quantum Computer with Qiskit - 2-hour guided course focusing on learning how to code for a Quantum Computer leveraging Qiskit.
- 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 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.
- Quantum Computing. Less Formulas - More Understanding - Same professor of the previous course, this time more focused on quantum concepts rather than math.
- 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.
- Boulder Opal - Python toolset for automating and optimizing quantum hardware performance.
- Cirq - Python library for writing, manipulating, and optimizing NISQ circuits to run on quantum computers.
- Covalent - Framework for distributed computing on heterogeneous infrastructure from CPUs to GPUs to quantum computers.
- Fire Opal - Python package for improving the quality of quantum algorithm results.
- 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 Inspire - Platform to run quantum algorithms on simulators or quantum hardware - by QuTech.
- 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 and quantum infographics.
- 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 Aviary - Blog without the hype talking about developments in quantum hardware.
- The Quantum Daily - Outlet for the latest news in quantum computing, presenting articles for both research scientists and the curious Sunday newspaper reader.
- xa0 - New research and deep dives into quantum computing optimization.
Books
- An Introduction to Quantum Computing - Strikes an excellent balance between accessiblity and mathematical rigour. It is suitable for undergraduate students.
- 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.
- Introduction to Classical and Quantum Computing - Introductory quantum computing textbook. The only prerequisite is trigonometry, and it teaches the math along the way.
- 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