GithubHelp home page GithubHelp logo

jullyanolino / my_learning-quantum Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lynnlangit/learning-quantum

0.0 0.0 0.0 50.2 MB

Study resources for learning quantum computing

License: Apache License 2.0

JavaScript 2.37% Python 5.43% Jupyter Notebook 90.75% OpenQASM 0.07% Q# 1.38%

my_learning-quantum's Introduction

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"

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 - info about quantum languages, libraries, operations, reference programs (Shor's, Grover's, etc...) and notation
  • cloud-vendors - info about quantum runtime environments (and simulators) organized by cloud vendor (AWS, Azure, GCP and IBM)
  • whitepapers - academic research papers of interest including quantum programming algorithms and examples
  • o-reilly-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 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

my_learning-quantum's People

Contributors

lynnlangit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.