Skip to content

v2.1.0

Compare
Choose a tag to compare
@aniabrown aniabrown released this 15 May 16:42
· 496 commits to master since this release
9d575cb

New features

  • applyOneQubitDampingError function added: Mixes a density matrix to induce single-qubit damping (decay to 0 state, or zero temperature qubit damping)
  • New build system
  • New testing framework

API breaking changes

  • seedQuESTDefault is now seeded only by PID and time in milliseconds, not also using the hostname of the node on which the process is running. This makes it significantly more likely that QuEST will compile successfully on new OS. hostname should not have been contributing significantly to the effectiveness of the seeding -- it would only matter when multiple instances of QuEST were spawned on different nodes at the same millisecond.

Build system changes

  • QuEST can now be built using cmake as described in the QuEST tutorial. This should improve the cross-platform support of QuEST. In case of problems with the new system, a makefile in the old style is provided in examples.

Testing framework changes

  • Test suite rewritten with Python3, for test framework interfacing with main QuEST library and integrated into new Cmake build system (make test).
  • Test suite allows more extensible and unified testing structure for ease of maintainability as QuEST expands.

Bug fixes

  • Issue #118: Fixed compilation issues related to gethostname in some Windows environments by removing seeding by hostname from seedQuESTDefault
  • Issue #122: Fixed bug in calcFidelity when performed on a density matrix, when running on CPU(s) (i.e. GPU code unaffected)
  • Issue #126: Fixed bug in multiControlledPhaseShift when performed on a density matrix
  • Issue #140: Fixed bug in controlledPauliY when running in distributed mode
  • Also see one bug fix in Milestone v2.0.1

Related issues and pull requests

Milestone v2.1.0