MQT YAQS — Scalable simulation for open systems, noisy circuits, and realistic hardware

PyPI CI Documentation License: MIT

YAQS (pronounced “yaks” like the animals) is a Python library designed for scalable, computationally efficient simulation of open quantum dynamics, noisy quantum circuits, and hardware-realistic device models. YAQS applies state-of-the-art techniques in these areas—parallelized trajectories, tensor-network compression, and backends matched to problem size—wherever possible (see References). It is developed as part of the Munich Quantum Toolkit (MQT) by the Chair for Design Automation at the Technical University of Munich.

This documentation provides a comprehensive guide to the MQT YAQS library, including installation instructions, notebook-like examples, and detailed API documentation. The source code of MQT YAQS is publicly available on GitHub at munich-quantum-toolkit/yaqs, while pre-built binaries are available via PyPI for all major operating systems and all modern Python versions.

User guide

YAQS targets workloads that need scale and efficiency: large noisy circuits, long analog time evolution, and hardware models with many degrees of freedom. For smaller systems, MCWF (vector) and Lindblad (density_matrix) analog backends are available as well; see Representation Comparison.

The pages below are executable notebooks: code cells run during the documentation build, so examples stay in sync with the library. New users should start with Installation, then Quickstart.

Learning paths

I want to…

Read

Run my first simulation in under a minute

Quickstart

Configure truncation, presets, and trajectories

Configuring Simulation Parameters

Simulate open-system (analog) dynamics with noise

Noisy Analog Simulation

Model realistic noise (Gaussian and other distributions)

Realistic Noise Models

Compare scalable MPS, MCWF, and Lindblad analog paths

Representation Comparison

Simulate a noisy circuit and read observables

Noisy Circuit Simulation

Get hardware-like shot histograms

Weak Circuit Simulation

Verify two circuits are equivalent

Equivalence Checking

Two-time correlations and typicality ensembles

Ensemble Evolution

Scheduled jumps at fixed times

Scheduled Jumps

Fermi–Hubbard MPO and analog evolution

1D Fermi-Hubbard Hamiltonian

Transmon–resonator SWAP (noiseless vs noisy)

Transmon-Resonator Chain Emulation

Process tensor tomography

Process Tensor Tomography

Custom gate translation from Qiskit

Custom and Qiskit Gates in YAQS

Contributors and Supporters

The Munich Quantum Toolkit (MQT) is developed by the Chair for Design Automation at the Technical University of Munich and supported by the Munich Quantum Software Company (MQSC). Among others, it is part of the Munich Quantum Software Stack (MQSS) ecosystem, which is being developed as part of the Munich Quantum Valley (MQV) initiative.

MQT Banner
MQT Banner

Thank you to all the contributors who have helped make MQT YAQS a reality!

The MQT will remain free, open-source, and permissively licensed—now and in the future. We are firmly committed to keeping it open and actively maintained for the quantum computing community.

To support this endeavor, please consider: