Skip to Content
DocsUnitaryLab Simulator User ManualOverview

UnitaryLab Simulator User Manual

UnitaryLab provides Python interfaces for quantum-circuit construction, simulation, circuit analysis, format conversion, compilation, and algorithms. This manual is for developers using these public interfaces.

Scope

TaskMain entry pointsDocumentation
Create circuits, registers, and gatesCircuit, Register, ClassicalRegisterCircuit Basics
Execute pure-state circuits and read resultsCircuit.execute(), ExecutionResultCircuit Execution
Simulate density matrices and gate-after noiseCircuit.execute_density()Density Matrices and Noise Models
Draw, analyze, and exchange circuitsdraw(), analyze(), to_qasm*(), to_python(), to_cudaq()Circuit Tools
Optimize, transpile, and map circuitsoptimize(), transpile(), compile()Circuit Optimization and Compilation
Submit jobs to real quantum hardwaresubmit(), QCompiler.submit()Submitting Hardware Jobs
Use algorithms and application utilitiesunitarylab.library and submodulesAlgorithm Library Overview
Run molecular electronic-structure and DMRG workflowsunitarylab_chemistryChemistry Extension

Installation

Supported Python versions are 3.10–3.12. The main simulator supports Windows, Linux, and macOS:

pip install unitarylab
import unitarylab print(unitarylab.__version__)

Optional components:

# CUDA 12 C++ backend pip install "unitarylab[cuda]" # Chemistry extension pip install "unitarylab[chemistry]"

The CUDA extra installs the unitarylab-cu12 wheel matching the current Python and platform and requires a compatible NVIDIA driver at runtime. The Chemistry extension supports Linux and macOS, not Windows; this limitation does not affect the main simulator.

Core entry points

from unitarylab import Circuit, Register, ClassicalRegister
  • Circuit: stores gates, measurement mappings, and registers, and provides execution, drawing, export, and compilation methods.
  • Register: defines a quantum register.
  • ClassicalRegister: defines a classical register used by circuit measurements.
  • QCompiler: provides optimization, transpilation, mapping, and hardware-submission pipelines.
  • unitarylab.library: provides core algorithms and application utilities.

See API Usage Overview for import paths and return forms.

Terms

TermMeaning
backendImplementation of state representation and gate operations, such as torch, numpy, cpp, or tensornet
shotsNumber of circuit-measurement samples; circuits with mid-circuit measurement execute independently for each shot
classicalA branch using classical numerical methods that does not construct a quantum execution result
block encodingA method of embedding a non-unitary matrix, up to a scale factor, in a larger unitary matrix

Reading path

  1. Quick Start: create and execute a Bell-state circuit.
  2. API Usage Overview: select public entry points by task.
  3. Circuit Basics: learn registers, gates, and circuit transformations.
  4. Circuit Execution: read states, probabilities, samples, and measurement results.
  5. Algorithm Library Overview: select algorithms and application modules.
Last updated on