28 KiB
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
- [Coding Tutorials)(#code-tutorials)
- 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.
- 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.
Code-Tutorials
-
Learn Quantum Machine Learning with me - Worked out tutorials of all the quantum machine learning concepts and nice visualizations.
-
Introduction to Quantum Computing - A course taught by John Preskill contain my notes and solved exercises.
-
Quantum Noise and Error Correction - An introduction to Quantum Error Correction and some quantum error correcting codes.
-
Dwave projects - An introduction on how to use the Ocean SDK provided by DWAVE.
-
Quantum Machine Learning Projects - Some projects in QML using the real world data
-
Qiskit Projects- Projects done with the help fo Qiskit, including quantum game and quantum music.
-
Quantum Computing with Qiskit and IBMQ - Solved exercies from the book of the same name.
-
Quantum Simulations and Opflow - Learn how to do quantum simulations using qiskit.
-
Qiskit Summer Schoole and Challenges - All the solutions of various quantum hackathons I have participated in.
-
Quantum Integer Programming - A course for Buisness and Operation and Logistics major
-
Quantum Communication and Cryptography - Learn about quantum cryptography, post quantum cryptography and quantum communications
-
Nielsen and Chuang Solutions - Contains solutions to the Nielsen and Chuang book on quantum computing and quantum information.
-
Quantum Computing using Q# - Learn how to use microsoft's azure to do quantum computing.
-
QIP Tutorials - QIP seminar notes and codes
-
Numerical Linear Algebra - A course to get started with Linear algebra that is essential for quantum computing.
-
Quantum Natural Language Processing - A course on Natural language processing to get started with Quantum Natural Language processing.
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 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.
- 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.
- 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.
- 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 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 Everyone - Introduction into topics such as qubits, entanglement, and quantum teleportation for the general reader.
- Quantum Computing for the Quantum Curious - Freely available quantum computing textbook aimed at high school students, undergraduate students and the general public.
- Quantum Computing in Action - For Java developers at all levels who want an early start in quantum computing.
- Understanding Quantum Technologies - Excellent Book which provides a 360 degree approach of quantum technologies encompassing all dimensions.
Popular Science
- Quantum Computing Since Democritus - A cute introduction to quantum computing and computational complexity theory. It is intended for the widest possible target audience, and contains some topics of relevance to philosophy.
- Seth Lloyd. Programming the Universe_ A Quantum Computer Scientist Takes on the Cosmos - What if the universe is a giant quantum computer? It takes the reader throuogh a journey of computational model of the universe and its implications on physics.
- The Fabric of Reality: The Science of Parallel Universes and Its Implications - It is of philosophical spirit, about revealing a unified fabric of reality explanation.
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.
- Quantum Mechanics by PBS Space Time - YouTube playlist targeting a wide audience with generic concepts around Quantum Mechanics and Computing.
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.
- The Qubit Guy's Podcast - Podcast by Yuval Boger from Classiq Technologies featuring thought leaders from the quantum computing industry.
Content in Non-English Languages
- Quantum Computing in Portuguese - A repository with curated content on Quantum Computing in Portuguese.
- Quantum Computing in Hindi - Learn quantum computing in Hindi, an introductory course for the same.
License
To the extent possible under law, Desiree Vogt-Lee has waived all copyright and related or neighboring rights to this work.