QuantumCircuitOpt.jl QuantumCircuitOpt.jl

Documentation

Overview

QuantumCircuitOpt is a Julia package that implements discrete optimization methods for provably optimal quantum circuit synthesis. Quantum processors expose restricted, architecture-dependent native gate sets, so a desired unitary operation must be compiled into a sequence of elementary gates that is both functionally correct and economical in scarce quantum resources.

Given a target unitary matrix and a set of available elementary gates, QuantumCircuitOpt formulates the synthesis problem as a mathematical optimization model. It can compute provably optimal exact decompositions (up to machine precision), optimal decompositions up to a global phase, or approximate decompositions. Supported objectives include minimizing circuit depth, CNOT count, and T-gate count.

The elementary gate library supports one- and two-qubit gates as well as multi-qubit operations such as the global rotation gate, which is native to trapped-ion architectures. QuantumCircuitOpt currently supports circuit decompositions involving up to ten qubits. By providing optimality certificates, it is useful for benchmarking heuristic quantum compilers, studying hardware-aware gate sets, and identifying minimum-resource implementations of small but important quantum operations.

Installation

QuantumCircuitOpt requires Julia 1.10 or later. Install the latest registered release from the Julia REPL:

import Pkg
Pkg.add("QuantumCircuitOpt")

At least one JuMP-compatible mixed-integer programming solver is also required. Gurobi is recommended for difficult circuit-synthesis instances; IBM CPLEX is also supported. The open-source HiGHS solver is compatible with QuantumCircuitOpt, although commercial solvers may be faster on large instances. Install Gurobi from the Julia package manager with:

import Pkg
Pkg.add("Gurobi")

Unit Tests

Run the registered package's tests with:

import Pkg
Pkg.test("QuantumCircuitOpt")

Acknowledgement

This work was supported by Los Alamos National Laboratory's LDRD Early Career Research award. The primary developer is Harsha Nagarajan (@harshangrjn).

Citing QuantumCircuitOpt

If you find QuantumCircuitOpt useful in your work, please cite the publication(s) most relevant to your use of the package. The Research & Publications page presents the original software paper, subsequent nonlinear-programming research, and the detailed mixed-integer programming framework in chronological order, with paper links, and copyable BibTeX citations.