A guide covering Quantum Computing including the applications, libraries and tools that will make you a better and more efficient developer in Quantum Computing.
Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF.
A look inside of the IBM Q System One machine. Source: IBM Research Quantum Experience
IBM Q System One machine Overview. Source: IBM Research Quantum Experience
Quantum computing is the use of principles in quantum mechanics such as superposition and entanglement to process information. Quantum computing will play a big role in the innovation of artificial intelligence and machine learning.
Qubits (quantum bits) are the fundamental object of information in quantum computing.
Introduction to Quantum computing
The Q# User Guide for Microsoft Quantum
Quantum computing research from Microsoft
Amazon Quantum Solutions Lab for Cloud Computing Services
Getting Started with Quantum Computing on Amazon Braket
Quantum Computing research from Google
TensorFlow Quantum: A Software Framework for Quantum Machine Learning
Hybrid quantum-classical Neural Networks with PyTorch and Qiskit
Supercomputing Solutions for AI and Research from NVIDIA
Quantum Computing research from Intel
Quantum Computing research from D-Wave Systems
Quantum Computing research from IonQ
Quantum Computing Training and Courses on IBM Skills
Virtual Distillation for Quantum Error Mitigation
Power of data in quantum machine learning
More Efficient Quantum Computations of Chemistry through Tensor Hyper-Contraction
Demonstrating a Continuous Set of Two-qubit Gates for Near-term Quantum Algorithms
Decoding Quantum Errors Using Subspace Expansions
Quantum Computing Fundamentals online program from MIT
Online introductory lectures on quantum computing from CERN
QubitxQubit: quantum education program for K-12 students and beyond
Quantum Computing Courses on Coursera
Learn Quantum Computing with Online Courses from edX
Introduction to Quantum Computing on Udemy
Quantum Computing & Quantum Physics for Beginners on Udemy
Quantum development kit is an open-source development kit from Microsoft to develop quantum applications and solve optimization problems. It includes the high-level quantum programming language Q#, a set of libraries, simulators, support for Q# in environments like Visual Studio Code and Jupyter Notebooks, and interoperability with Python or .NET languages.
Quantum Katas are a collection of self-paced tutorials and programming exercises from Microsoft to help you learn quantum computing and Q# programming.
Visual Studio is an integrated development environment (IDE) from Microsoft; which is a feature-rich application that can be used for many aspects of software development. Visual Studio makes it easy to edit, debug, build, and publish your app. By using Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, and Windows Store.
Amazon Braket is a fully managed quantum computing service that helps researchers and developers explore potential applications and evaluate current quantum computing technologies. It provides a development environment to design quantum algorithms, test them on simulated quantum computers, and run them on different types of quantum computing hardware.
TensorFlow Quantum (TFQ) is a quantum machine learning library for rapid prototyping of hybrid quantum-classical ML models.
Mellanox Quantum™ is the world’s smartest network switch silicon, designed to enable in-network computing through the Co-Design Scalable Hierarchical Aggregation and Reduction Protocol (SHARP) technology.
Qiskit is an open-source SDK for working with quantum computers at the level of circuits, algorithms, and application modules.
Terra is the foundation that the Qiskit SDK is built on. It allows the user to write quantum circuits easily, and takes care of the constraints of real hardware.
Cirq is a Python library for writing, manipulating, and optimizing Noisy Intermediate Scale Quantum (NISQ) circuits and running them against quantum computers and simulators.
PyQuil is a Python library for quantum programming using Quil, the quantum instruction language developed at Rigetti Computing.
OpenFermion is an open source library for compiling and analyzing quantum algorithms to simulate fermionic systems, including quantum chemistry.
QuTiP is open-source software for simulating the dynamics of closed and open quantum systems. The QuTiP library uses the excellent Numpy, Scipy, and Cython packages as the numerical backend, and graphical output is provided by Matplotlib.
ProjectQ is an open source software framework for quantum computing.
Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
PennyLane is a cross-platform Python library for differentiable programming of quantum computers. By training a quantum computer the same way as a neural network.
PySyft is a Python library for secure and private Deep Learning. PySyft decouples private data from model training, using Federated Learning, Differential Privacy, and Encrypted Computation (like Multi-Party Computation (MPC) and Homomorphic Encryption (HE) within the main Deep Learning frameworks like PyTorch and TensorFlow.
BoTorch is a library for Bayesian Optimization built on PyTorch.
PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch.
Skorch is a scikit-learn compatible neural network library that wraps PyTorch.
- If would you like to contribute to this guide simply make a Pull Request.
Distributed under the Creative Commons Attribution 4.0 International (CC BY 4.0) Public License.