Releases: cda-tum/mqt-ddsim
Releases · cda-tum/mqt-ddsim
Release 1.8.0: New Qiskit Backends
- new
hybrid_qasm_simulator
andhybrid_statevector_simulator
backends for Qiskit that expose the hybrid Schrödinger-Feynman decision diagram-based simulator proposed in https://arxiv.org/abs/2105.07045 - new
unitary_simulator
backend for Qiskit that exposes the efficient decision diagram-based methods for constructing functional representations of quantum algorithms proposed in https://arxiv.org/abs/2103.08281
Release v1.7.0: Use assembled QuantumCircuits in Backend
- Import assembled QasmQobjExperiment instead of QuantumCircuit (via QFR, thanks @burgholzer )
- Add unit tests to test python code
- Add jkq/* folder to clang-format checks
- Updated README.md
- Unified workflow for bindings (one workflow with conditional job to publish to PyPI)
- StatevectorSimulator now inherits from QasmSimulator and only sets some class variables (inpired by Qiskit's BasicAer)
- Properly handle barriers in CircuitSimulator (i.e., ignore them)
Update submodules
Update submodules to use the new sorted buckets feature in the DD_Package which increases the performance, especially for more complex circuits.
Hybrid Schrödinger-Feynman Simulation
This release adds capabilities for hybrid Schrödinger-Feynman simulation using decision diagrams based on the ideas outlined in:
[1] L. Burgholzer, H. Bauer, and R. Wille. "Hybrid Schrödinger-Feynman Simulation of Quantum Circuits With Decision Diagrams". arXiv:2105.07045, 2021
In order to use the new simulator, call the ddsim_simple
executable as follows
ddsim_simple --simulate_file_hybrid <FILE> --hybrid_mode amplitude --nthreads 4 --ps
where
<FILE>
specifies the circuit file to be simulated (the format is derived from the extension)--hybrid_mode
specifies the mode to use, eitheramplitude
(default) ordd
--nthreads
specifies the number of threads to use for the parallel simulation
v1.5.0: Python bindings for DDSIM (#21)
Python bindings for DDSIM and Provider/Backends for Qiskit
- Python bindings for standalone usage
- Provider and Backends for Qiskit
- QasmSimulator for sampling
- Statevectorsimulator to get the state vector
- and more to follow :)
Noisy and Approximating Simulation
- Noisy+Approximating Simulation with new Package
- Refactor Noisy Simulation code
- Noise for multi target gates
- Use exceptions instead of std::exit
- Nicer JSON output with nlohmann lib
- More informatative exceptions
- Format fixes
- Ignore parts of file for format
- Added tests
- Updated README
- Updated LICENSE
Boost now optional
The dependency on Boost (program_options) is now optional and only required if you want to build the standalone simulation executable.