Skip to content

Releases: QuTech-Delft/qx-simulator

Release 0.10.0

28 Aug 13:21
94ed74a

Choose a tag to compare

Added

  • Rn gate to instruction library.
  • Support for Python 3.13.
  • Integrate with libqasm 1.2.1 release.

Release 0.9.0

08 Apr 15:30
79027c3

Choose a tag to compare

Added

  • Integrate with libqasm 1.2.0 release.

Fixed

  • Pi-half rotation gates defined incorrectly.
  • Bug in SparseComplex::operator=, which was not always performing the assignment.

Release 0.8.0

26 Mar 10:52
37f5cd3

Choose a tag to compare

Added

  • Integrate with libqasm 1.1.0 release.
  • pow gate modifier now works with fractional exponents.

Release 0.7.5

17 Mar 17:23
a31f459

Choose a tag to compare

Added

  • Integrate with libqasm 1.0.0 release.
  • Documentation: GitHub Actions doc workflow.

Changed

  • Allow move constructing a DenseUnitaryMatrix.
  • Change SimulationIterationAccumulator to keep shots_done and receive shots_requested in get_simulation_result().
  • Update cpp-linux-x64 and cpp-linux-arm64 jobs to use ubuntu-latest and ubuntu-24.04-arm respectively.
  • Update to mkdocs-material/9.6.5 and mkdocstrings/0.28.2 versions in requirements.txt.

Removed

  • Support for 'reset all'.

Release 0.7.4

29 Jan 14:49
50c6090

Choose a tag to compare

Added

  • Integrate with libqasm 0.6.9 release:
    • Add SWAP gate instruction.
    • Add barrier, wait, and ìnit non-gate instructions.
  • The register manager now holds a 'dirty bitset' for virtual qubit and bit indices.

Release 0.7.3

27 Jan 12:30
3b1843c

Choose a tag to compare

Added

  • Documentation: GitHub pages.
  • Linters: .clang-format and .clang-tidy.
  • Integrate with libqasm 0.6.8 release:
    • Add gate modifiers. Notice though that pow only works with integer exponents.

Changed

  • Implement instructions as a hierarchy.
  • Implement GateConvertor as a CircuitBuilder.
  • Implement BasisVector as a boost::dynamic_bitset<uint32_t>.
  • Implement RegisterManager as a singleton.
  • Change QuantumState by taking the measurement register out of it.
  • Change Circuit::execute to return a SimulationIterationContext.
  • Change Matrix and DenseUnitaryMatrix to use std::vector instead of std::array.
  • Change file, functions, and variable names.

Removed

  • abseil library dependency.

Release 0.7.2

22 Nov 17:09
ca10380

Choose a tag to compare

Added

  • Integrate with libqasm 0.6.7 release.
  • Add reset instruction.
  • Make QX simulator aware of bit (register) variables.
  • Update test and assets workflows.

Changed

Removed

Release 0.7.1

27 May 14:24
a3c7613

Choose a tag to compare

Added

  • Integrate with libqasm 0.6.6 release.
  • Allow multiple qubit/bit (register) definitions and mid-circuit measurements.

Changed

  • Update conanfile.py to request libqasm/0.6.6 and use tools.build.skip_test.
  • Update GitHub workflows with some improvements taken from libqasm.

Removed

Release 0.7.0

17 Apr 11:34

Choose a tag to compare

Added

  • Integrate with libqasm 0.6.3 release.

Changed

  • Rename tests folder to test.
  • Update GitHub workflows.

Removed

  • cQasm 1.x support.
  • circuits folder.

Release 0.6.5: Conan, ARM on Linux

04 Dec 12:36

Choose a tag to compare

Added

  • Python 3.12 support

Changed

  • Uses Conan
  • New Github workflows
  • Working ARM runners in the CI