Skip to content

General-purpose SDKs

QI

Maintained by rogercolbeck

This is a Mathematica package containing commands for implementing functionalities commonly needed in quantum information processing.

MathematicaApache-2.0
QI illustration

Resource snapshot

Category

General-purpose SDKs

Stars

48

Last pushed

Sep 25, 2025Updated 11mo ago

Open issues

0

What it is

QI is maintained by rogercolbeck and sits in the Compilers and languages lane of the open-source quantum map.

This is a Mathematica package containing commands for implementing functionalities commonly needed in quantum information processing.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers who want to understand the representations and compilers that sit between high-level code and runnable circuits.

What you can build or learn

  • Compare IRs, DSLs, transpilers, and compiler assumptions across ecosystems.
  • Understand how high-level code becomes something a backend can execute.
  • Spot tools that matter when interoperability and compilation quality are important.

License

Apache-2.0

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.

~201 words · about 1 min readOpen on GitHub

QI

Quantum information Mathematica package.

This is a Mathematica package containing commands for implementing functionalities commonly needed in quantum information processing. These are useful for doing theoretical computations on quantum information protocols. For instance, one could easily use it to work through the teleportation protocol with a perfect Bell state, and then to see what happens to the fidelity of the output state when a noisy Bell state is shared instead. The ability to choose random states etc. can be useful for finding counterexamples to particular statements, or for gaining confidence in a statement prior to proving it. The package may form a useful starting point for constructing others, e.g., it has been used for a quantum compiler (see https://github.com/Q-Compiler/UniversalQCompiler).

As examples, it includes functionality for

  • taking tensor products
  • computing partial traces
  • reordering systems within a tensor product
  • Schmidt decomposition
  • computing von Neumann entropies or mutual informations
  • generating random states, unitaries, measurements or channels.

There is also a command for Fourier Motzkin elimination.

To use the package, open the file QI.m in Mathematica and press "Run All Code".

A short manual, examples notebook and useful palette for entering symbols can be found at https://colbeck.sites.er.kcl.ac.uk/QI_package.html.

Activity

Latest release

—

Watchers

4

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.

quantumlib

Cirq

Python framework for creating, editing, and running Noisy Intermediate-Scale Quantum (NISQ) circuits.

PythonApache-2.0Flagship

4,971 stars · Updated 3mo ago

XanaduAI

pennylane

PennyLane is an open-source quantum software platform for quantum computing, quantum machine learning, and quantum chemistry.

PythonApache-2.0FlagshipQtangl relevant

3,229 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

Qiskit

qiskit-terra

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

PythonApache-2.0

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

QuantumBFS

Yao.jl

Extensible, Efficient Quantum Algorithm Design for Humans.

JuliaApache-2.0Flagship

1,032 stars · Updated 3mo ago