MQT YAQS — Scalable simulation for open systems, noisy circuits, and realistic hardware¶
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 |
|
Configure truncation, presets, and trajectories |
|
Simulate open-system (analog) dynamics with noise |
|
Model realistic noise (Gaussian and other distributions) |
|
Compare scalable MPS, MCWF, and Lindblad analog paths |
|
Simulate a noisy circuit and read observables |
|
Get hardware-like shot histograms |
|
Verify two circuits are equivalent |
|
Two-time correlations and typicality ensembles |
|
Scheduled jumps at fixed times |
|
Fermi–Hubbard MPO and analog evolution |
|
Transmon–resonator SWAP (noiseless vs noisy) |
|
Process tensor tomography |
|
Custom gate translation from Qiskit |
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.
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:
Starring and sharing our repositories: https://github.com/munich-quantum-toolkit
Contributing code, documentation, tests, or examples via issues and pull requests
Citing the MQT in your publications (see References)
Using the MQT in research and teaching, and sharing feedback and use cases
Sponsoring us on GitHub: https://github.com/sponsors/munich-quantum-toolkit