Skip to content

Compilers and languages

qubiter

Maintained by artiste-qb-net

The following Jupyter notebook is a good introduction to Qubiter's basic features.

HTMLBSD-3-Clause
qubiter illustration

Resource snapshot

Category

Compilers and languages

Stars

121

Last pushed

Dec 25, 2023Updated 2y ago

Open issues

41

What it is

qubiter is maintained by artiste-qb-net and sits in the General-purpose SDKs lane of the open-source quantum map.

The following Jupyter notebook is a good introduction to Qubiter's basic features. It commonly appears alongside quantumlib-openfermion, quantumlib-cirq, qiskit-qiskit in example workflows.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers who want a broad entry point for building circuits, experimenting with algorithms, and integrating quantum workflows into larger applications.

What you can build or learn

  • Prototype end-to-end circuit workflows without committing to a niche backend too early.
  • Learn how the project represents circuits, gates, jobs, and results.
  • Compare how a major ecosystem frames practical quantum development.

License

BSD-3-Clause

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~604 words · about 3 min readOpen on GitHub

Qubiter at GitHub

Tutorial

The following Jupyter notebook is a good introduction to Qubiter's basic features. Other notebooks in Qubiter's jupyter_notebook folder discuss more advanced features:

The following automatically generated notebook summarizes all other notebooks:

See also, at the readthedocs.org website, the beautiful documentation generated automatically by the Sphinx software based on Qubiter's docstrings and code:

Installation

The simplest thing that avoids many of the installation hassles is to get an account on our Amazon cloud service www.bayesforge.com. It's free for one year. Bayesforge already has all of Python and Qubiter installed (although you may need to update Qubiter using Git). Bayesforge is also available on the Tencent cloud.

Of course, you can also clone the latest version or update an older version of Qubiter on your computer from this repo by using Git commands.

Alternatively, you can install an older but more stable version of Qubiter from the Python package manager pip using:

pip install qubiter --user

If you are using a Jupyter notebook, use:

!pip install qubiter --user

and restart the kernel.

What is Qubiter?

The Qubiter project aims to provide eventually a full suite of tools, written mostly in Python, for designing and simulating quantum circuits on classical computers. (So it will address only the needs of gate model, not annealer, quantum computer engineers). We or others could start a similar project for annealers.

An earlier C++ computer program also called Qubiter (see http://www.ar-tiste.com/qubiter.html), written by Robert R. Tucci, did only quantum compiling. This newer project includes a quantum CSD compiler similar to the earlier Qubiter, based on the (Cosine-Sine) CS Decompostion of Linear Algebra, but written in Python. But this new project also includes much more than that.

We've included classes for reading and writing quantum circuit files. Also for expanding circuits with gates that have multiple controls into circuits with only CNOTs and single qubit rotation gates. Also for embedding a circuit inside a larger one. And, last but not least, we've included a simulator.

The simulator hasn't been bench-marked but should be pretty fast, because it relies on Numpy, which is a Python wrapper for C code.

Besides being amply documented with docstrings, each class has a main method at the end giving examples of its usage (and testing it). Plus we've included a large and ever increasing collection of Jupyter notebooks that teach some physics and how to use Qubiter at the same time.

The quantum circuits are saved as text files, which allows easy exchange between QC engineers.

The quantum circuits are draw in ASCII (not in postscript or in a proprietary format). We hope we can convince you that ASCII drawings of quantum circuits are surprisingly clear, expressive, and convenient, really all you need, plus, unlike other formats, they are super easy to edit. Using other formats might require you to master difficult subjects like postscript in order to write/edit circuit files. This is totally unnecessary!

Quantum Fog at GitHub (see https://github.com/artiste-qb-net/quantum-fog) is a twin project started by the same people. We hope that eventually Quantum Fog will call Qubiter to perform some tasks, like quantum compiling and simulating.

All of Qubiter at GitHub except for the contents of the quantum_CSD_compiler folder is licensed under the BSD license (3 clause version) with an added clause at the end, taken almost verbatim from the Apache 2.0 license, granting additional Patent rights. See LICENSE.md.

The contents of Qubiter's quantum_CSD_compiler folder are licensed under the GPLv2 (Linux) license.

Contributors

(Alphabetical Order)

  • Dekant, Henning
  • Tregillus, Henry
  • Tucci, Robert
  • Yin, Tao
Read on GitHub

Activity

Latest release

—

Watchers

11

Python support

—

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

NVIDIA

cuda-quantum

C++ and Python support for the CUDA Quantum programming model for heterogeneous quantum-classical workflows

C++Apache-2.0Flagship

1,048 stars · Updated 3mo ago

QISKit

openqasm

Quantum assembly language for extended quantum circuits

PythonApache-2.0

1,468 stars · Updated 3mo ago

Quantomatic

pyzx

Python library for quantum circuit rewriting and optimisation using the ZX-calculus

OpenQASMApache-2.0Flagship

524 stars · Updated 3mo ago

QISKit

qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0FlagshipQtangl relevant

7,412 stars · Updated 3mo ago

Microsoft

QuantumKatas

Tutorials and programming exercises for learning Q# and quantum computing

Jupyter NotebookMITFlagshipArchive

4,862 stars · Updated 2y ago

CQCL

tket

Source code for the TKET quantum compiler, Python bindings and utilities

C++Apache-2.0FlagshipQtangl relevant

308 stars · Updated 3mo ago