Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lynnlangit/learning-quantum
Study resources for learning quantum computing
https://github.com/lynnlangit/learning-quantum
amazon-braket cirq openqasm qiskit quantum-computing
Last synced: 23 days ago
JSON representation
Study resources for learning quantum computing
- Host: GitHub
- URL: https://github.com/lynnlangit/learning-quantum
- Owner: lynnlangit
- License: apache-2.0
- Created: 2021-02-09T14:24:34.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-04T13:14:27.000Z (3 months ago)
- Last Synced: 2024-09-05T15:58:56.097Z (3 months ago)
- Topics: amazon-braket, cirq, openqasm, qiskit, quantum-computing
- Language: Jupyter Notebook
- Homepage:
- Size: 49.1 MB
- Stars: 141
- Watchers: 10
- Forks: 49
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Learning Cloud Quantum Programming
This repo contains my study resources for learning **cloud quantum programming**.
Shown to the left is a conceptual rendering of a bit vs a qubit, which is a fundamental concept of work in quantum computing. The Repo is a companion to my LI_L course ["Cloud Quantum Computing Essentials"](https://www.linkedin.com/learning/cloud-quantum-computing-essentials)
A **qubit** is a two-state (or two-level) quantum-mechanical system, one of the simplest quantum systems displaying the peculiarity of quantum mechanics. A quantum computer performs quantum computations using the principles of quantum mechanics.
A **QPU** (quantum processing units) manipulates the quantum states of available qubits in a controlled way to perform computations, such as algorithms. A qubit is a quantum bit of information.
A **quantum computer** contains QPU processors, some number of qubits and the support mechanisms which allow these items to interact based on quantum instructions or programs.
----
## What's Here
This Repo is organized by folder as follows:
- [`concepts`](https://github.com/lynnlangit/learning-quantum/tree/main/1_concepts) - info about quantum languages, libraries, operations, reference programs (Shor's, Grover's, etc...) and notation
- [`cloud-vendors`](https://github.com/lynnlangit/learning-quantum/tree/main/2_cloud-vendors) - info about quantum runtime environments (and simulators) organized by cloud vendor (AWS, Azure, GCP and IBM)
- [`whitepapers`](https://github.com/lynnlangit/learning-quantum/tree/main/3_whitepapers) - academic research papers of interest including quantum programming algorithms and examples
- [`o-reilly-book`](https://github.com/lynnlangit/learning-quantum/tree/main/4_oreilly-book) - code examples, slides and link from a 15-week-long bookclub covering the referenced book on quantum programming---
## Quantum Computer Example
There are a number of quantum computer vendors. These vendors produce hardware (quantum computers) which contains a particular number of qubits and QPUs.
One example is the [D-Wave](https://www.dwavesys.com/) company. Shown to the right are photos from one of D-Wave's quantum computers. This computer contains QPU units, which is hardware with qubits (image taken from D-Wave whitepaper). To run quantum programs on quantum hardware, use quantum languages or libraries.
NOTE: Generally quantum programs are run on quantum simulators prior to being run on quantum hardware due to the cost and time run on live QPUs.
---
## Quantum Programs and IDEs
Shown below are screenshots from a couple of quantum programming development environments. This is just a small subset of the available options. Generally these IDEs are either cloud-based (IBM Composer) or downloadable via a SDK (D-Wave).
- The first example (shown below) shows running a quantum program in the IBM Quantum Composer IDE. This example runs the `Grover-example` quantum program. The visual environment includes the composer, which shows quantum operations written in the OPENQASM quantum programming language and a number of other visualization tools.
- The second example (shown below) is from from D-Wave Systems cloud at https://cloud.dwavesys.com/ and is being run using VSCode as an IDE. The sample shows a path optimization solver and is called `path` in the D-Wave examples. The program is written using the D-Wave Python-like quantum programming library. This IDE is a more traditional environment and doesn't include as many visualization tools for the state of the qubits used in computation.
## Resources for Learning
- Yet another example of a quantum program visualization tools is the browser-based `Quantum Playground` - http://www.quantumplayground.net/. Shown below is an example of animated output using the H gate example code. This is a particularly good tool for gaining an intuition into key quantum operations and program examples.
- The QuanTime website (partnership with National Q-12 Education Partnership group) aggregates resources and links to materials which are designed to be used by educators - https://q12education.org/quantime
---