Skip to content

Releases: munich-quantum-toolkit/ddsim

Release v1.9.1: Fix RZ Gate Definition

06 Nov 17:28
22e7aec
Compare
Choose a tag to compare
  • Pull in fix for cda-tum/dd_package#25
  • Additional wheels for Python 3.10 and musllinux
  • Source install of via pip or setup.py uses available cores and native optimizations

Release v1.9.0: Update Dependencies

02 Sep 10:46
c8786c1
Compare
Choose a tag to compare
  • Bump version to 1.9.0
  • Update QFR submodule to version 1.7.0
  • Exclude files in test/ from counting towards line coverage
  • Update cibuildwheel action to version 2.1.1 (builds CPython 3.10)
  • Fixed a race condition in HybridSchrodingerFeynmanSimulator and elaborated the tests
  • Relaxed the bounds in StochNoiseSimTest
  • Fixed compiler warnings across multiple simulators

Release 1.8.0: New Qiskit Backends

17 Jun 12:02
60f675b
Compare
Choose a tag to compare
  • new hybrid_qasm_simulator and hybrid_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

04 Jun 15:06
0a3a7b7
Compare
Choose a tag to compare
  • 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

26 May 09:59
Compare
Choose a tag to compare

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

18 May 10:14
30d65f3
Compare
Choose a tag to compare

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, either amplitude (default) or dd
  • --nthreads specifies the number of threads to use for the parallel simulation

v1.5.0: Python bindings for DDSIM (#21)

17 May 17:40
528268e
Compare
Choose a tag to compare

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

06 May 14:19
6f9585e
Compare
Choose a tag to compare
  • 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

23 Jun 11:36
Compare
Choose a tag to compare

The dependency on Boost (program_options) is now optional and only required if you want to build the standalone simulation executable.