Home

Gates
Circuits
Documentation

Getting started

Learning from this site

The primary purpose of this project is to make it easier for people of various skill and knowledge levels to be able to learn about and understand complex quantum circuits.

Exploring

Finding specific information

If you want to know more about a particular circuit or gate, and that object is documented by this project, you should see the name of that circuit/gate listed in the index on the left side of the page.

If you want to know how to use the interactive circuit pages, see the documentation page on interactive circuits.

Teaching with this site

By using the interactive features of this site, the information contained here can be conveyed through demonstration from a shared display, or by instructing students to click on gates and circuits and read about them.

Building upon this site

A variety of tooling has been created to allow this site to be expandible and flexible, including this meta-documentation.

Before you start

Before adding new elements to this project, whether that's a new circuit or an extension to functionality, you should check out the project structure documentation. That describes where everything is and what its purpose is. The docstrings in the code can give you more detail.

Adding a new circuit or gate

Circuit and gate information is stored in JSON format with well-defined rules.

The exact format specifications for circuit and gate JSON data are defined in the schema files located in this project's Git repository.

Circuit and gate definitions are found in quantum-computing-edu/quantum-computing-edu-next/app/circuit-data/circuits/ and quantum-computing-edu/quantum-computing-edu-next/app/circuit-data/gates/, respectively.

Running & building

To run the Next JS website for development purposes, execute the run-dev Bash script in the repository root.


To build the Next JS website, execute the build Bash script, which produces a static website as output in quantum-computing-edu-next/dist/production/.