Skip to content
/ Quirk Public

A drag-and-drop quantum circuit simulator that runs in your browser. A toy for exploring and understanding small quantum circuits.

License

Notifications You must be signed in to change notification settings

Strilanc/Quirk

Folders and files

NameName
Last commit message
Last commit date
Sep 26, 2016
Oct 4, 2016
Sep 25, 2016
Oct 4, 2016
May 5, 2016
May 3, 2016
Apr 8, 2016
Sep 18, 2016
Mar 18, 2016
Sep 26, 2016
Apr 20, 2016
Sep 26, 2016

Repository files navigation

Build Status Code Climate

Quirk is a toy quantum circuit simulator, intended to help people learn about quantum computing.

If you want to quickly explore the behavior of a small quantum circuit, Quirk is the tool for you. There's no installing or configuring or scripting: just go to algorithmicassertions.com/quirk, drag gates onto the circuit, and the output displays will update in real time.

(If you're still trying to understand what a quantum circuit even is, then I recommend the video series Quantum Computing for the Determined. Quirk assumes you already know background facts like "each wire represents a qubit".)

Defining features:

  • Runs in web browsers.
  • Drag-and-drop circuit editing.
  • Reacts, simulates, and animates in real time.
  • Inline state displays.
  • Bookmarkable circuits.
  • Up to 16 qubits.

Notable limitations:

  • Can't apply operations that create superpositions to measured qubits.
  • Can't embed measurement in custom gates.
  • Can't simulate in mobile Safari or Firefox.

Try it out:

algorithmicassertions.com/quirk

Examples

Basic usage demo:

Demo

Grover search circuit with chance and sample displays (showing that the chance of success increases):

Grover search

Quantum teleportation circuit with Bloch sphere displays (showing that the qubit at the top has ended up at the bottom):

Quantum teleportation

Building the Code

If you want to make changes to Quirk's code, this is how you get the code and turn your changes into working html/javascript.

  1. Have git and Node.js installed.

    sudo add-apt-repository universe

    sudo apt-get update

    sudo apt-get install --yes git npm nodejs-legacy

  2. Clone the repository.

    git clone https://github.com/Strilanc/Quirk.git

  3. Install the dev dependencies.

    cd Quirk

    npm install

  4. (Optional) Run the tests.

    npm run test-firefox

  5. Build the output.

    npm run build

  6. Confirm the output works by opening out/quirk.html with a web browser.

    firefox out/quirk.html

  7. Copy out/quirk.html to wherever you want.

About

A drag-and-drop quantum circuit simulator that runs in your browser. A toy for exploring and understanding small quantum circuits.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published