MQT QCEC - A tool for Quantum Circuit Equivalence Checking
MIT License
Bot releases are hidden (Show)
Published by burgholzer over 1 year ago
This small release improves/fixes the internal equivalence checking flow logic for inferring a final result from the results of all individual checkers (fixes #240).
It also features more useful logging messages in some corner cases and issues a warning if the compilation flow verification scheme is used, but the circuits under consideration contain no measurements.
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.2.0...v2.2.1
Published by burgholzer over 1 year ago
This release drops support for Python 3.7 (in accordance with its deprecation in Qiskit).
Furthermore, it contains some internal usability updates and resolves a couple of outstanding issues.
EquivalenceCheckingManager
by @burgholzer in https://github.com/cda-tum/qcec/pull/233
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.1.3...v2.2.0
Published by burgholzer almost 2 years ago
This release brings some quality of life improvements to the internals of the QCEC library.
First of all, it updates the core/intermediate-representation library (QFR) to its latest version, which is now much more independent from the underlying DD package thanks to cda-tum/qfr#244. The core library itself has seen quite some internal updates and code quality fixes.
Secondly, this PR adds better templating to the DD-related functions that allows for better IDE/autocompletion support.
Last but not least, it updates the CMake structure of the project based on cda-tum/dd_package/pull/125 as well as cda-tum/qfr/pull/246 to include more warnings, a simpler structure, unified compilation options and much more.
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.1.2...v2.1.3
Published by burgholzer almost 2 years ago
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.1.1...v2.1.2
Published by burgholzer almost 2 years ago
This tiny release fixes a bug in the ZX-checker that led to false positives (fix by @pehamTom in https://github.com/cda-tum/qcec/pull/201).
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.1.0...v2.1.1
Published by burgholzer almost 2 years ago
This release brings lots of CI/CD improvements to QCEC. Most importantly, with this release QCEC offers binary wheels for all platforms that Qiskit offers them. Furthermore, it drops the superfluous retworkx
requirement from QCEC.
s390x
and ppc64le
wheels by @burgholzer in https://github.com/cda-tum/qcec/pull/198
musllinux
wheels are no longer available as of this release since Qiskit does not provide them as wellFull Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0...v2.1.0
Published by burgholzer almost 2 years ago
Should be good now.
Published by burgholzer almost 2 years ago
Another try for publishing.
Published by burgholzer almost 2 years ago
As expected, this might take a few tries.
Published by burgholzer almost 2 years ago
This is a pre-release to test the new Cirrus CI infrastructure for publishing Apple Silicon and Linux ARM wheels.
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0...v2.1.0-rc1
Published by burgholzer almost 2 years ago
Long time in the making, but now it's finally here: QCEC 2.0.0 π₯³
This major release refactors and improves many aspects of QCEC in order to make it more scalable, efficient, and extendable.
At the same time, lots of effort has gone into ensuring proper code quality and providing informative documentation.
Lukas Burgholzer and Robert Wille. Advanced equivalence checking for quantum circuits. IEEE Transactions on CAD of Integrated Circuits and Systems, 2021. (arXiv:2004.08420)
Lukas Burgholzer, Rudy Raymond, and Robert Wille. Verifying results of the IBM Qiskit quantum circuit compilation flow. In International Conference on Quantum Computing and Engineering. 2020. (arXiv:2009.02376)
Tom Peham, Lukas Burgholzer, and Robert Wille. Equivalence checking of quantum circuits with the ZX-calculus. Journal of Emerging and Selected Topics in Circuits and Systems, 2022. (arXiv:2208.12820)
Tom Peham, Lukas Burgholzer, and Robert Wille. Equivalence checking of parameterized quantum circuits: Verifying the compilation of variational quantum algorithms. In Asia and South Pacific Design Automation Conference. 2023. (arXiv:2210.12166)
Full Changelog: https://github.com/cda-tum/qcec/compare/v1.10.5...v2.0.0
Published by burgholzer about 2 years ago
qiskit-terra
version by @burgholzer in https://github.com/cda-tum/qcec/pull/135
cpp-linter
silently failing by @burgholzer in https://github.com/cda-tum/qcec/pull/136
d550522
to ef83c0f
by @dependabot in https://github.com/cda-tum/qcec/pull/137
ef83c0f
to ae0b7c0
by @dependabot in https://github.com/cda-tum/qcec/pull/142
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc8...V2.0.0-rc9
Published by burgholzer about 2 years ago
flake8
config by @burgholzer in https://github.com/cda-tum/qcec/pull/122
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc7...v2.0.0-rc8
Published by burgholzer about 2 years ago
ZXChecker
is now capable of discriminating differences in global phase (by @pehamTom in https://github.com/cda-tum/qcec/pull/111)verify
functions (by @burgholzer in https://github.com/cda-tum/qcec/pull/117)Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc6...v2.0.0-rc7
Published by burgholzer about 2 years ago
This release mostly concerns the internal library and contains almost no user facing changes (besides some bugfixes π).
It significantly improves the code quality and its assurance. To this end,
All these changes ensure that future contributions to QCEC can follow predefined guidelines and rules, whether it's for developing the core C++ library or the Python package.
clang-tidy
Setup by @burgholzer in https://github.com/cda-tum/qcec/pull/99
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc5...v2.0.0-rc6
Published by burgholzer over 2 years ago
This release marks the addition of the first equivalence checker not based on decision diagrams to QCEC: the ZX checker.
It tries to use the rules of the ZX-Calculus to reduce the ZX-Diagram corresponding to the circuit $G^{\prime -1}\cdot G$ to the identity diagram.
Performance-wise, it represent a complementary alternative to all existing checkers and is employed per default when invoking QCEC.
Furthermore, this release makes qiskit-terra
a project dependency (in order to ease integration) and provides easy configuration files for CLion users.
qiskit-terra
to project dependencies by @burgholzer in https://github.com/cda-tum/qcec/pull/79
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc4...v2.0.0-rc5
Published by burgholzer over 2 years ago
This is a quick release to incorporate a fix from the QFR library (cda-tum/qfr#133).
Furthermore it brings some documentation updates for developers.
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc3...v2.0.0-rc4
Published by burgholzer over 2 years ago
verify
and verify_compilation
functionsFull Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc2...v2.0.0-rc3
Published by burgholzer over 2 years ago
cd15b3e
to 7abe363
by @dependabot in https://github.com/cda-tum/qcec/pull/41
Full Changelog: https://github.com/cda-tum/qcec/compare/v2.0.0-rc1...v2.0.0-rc2
Published by burgholzer over 2 years ago
This release refactors many aspects of QCEC in order to make it more scaleable, efficient, and extendable.
The resulting equivalence checking flow now more closely resembles a parallel version of the flow proposed in the "Advanced Equivalence Checking for Quantum Circuits" paper.
Furthermore, this release adds project documentation to the QCEC project which is hosted at ReadTheDocs.
With this release, the rewrite is 99% complete and quite well documented as well as tested. It will undergo some more testing until the final v2.0 will be released.