MQT QCEC - A tool for Quantum Circuit Equivalence Checking
MIT License
Bot releases are visible (Hide)
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.
Published by burgholzer over 2 years ago
This release marks the transition from the JKQ
framework to the Munich Quantum Toolkit (MQT).
49f5923
to 2ab280b
by @dependabot in https://github.com/cda-tum/qcec/pull/21
2ab280b
to e961baf
by @dependabot in https://github.com/cda-tum/qcec/pull/23
e961baf
to 166177c
by @dependabot in https://github.com/cda-tum/qcec/pull/24
166177c
to 34b5811
by @dependabot in https://github.com/cda-tum/qcec/pull/25
34b5811
to dca7f1f
by @dependabot in https://github.com/cda-tum/qcec/pull/26
dca7f1f
to 69ccc42
by @dependabot in https://github.com/cda-tum/qcec/pull/27
69ccc42
to 2c7ceb3
by @dependabot in https://github.com/cda-tum/qcec/pull/28
2c7ceb3
to 6bb07d6
by @dependabot in https://github.com/cda-tum/qcec/pull/29
Full Changelog: https://github.com/cda-tum/qcec/compare/v1.10.4...v1.10.5
Published by burgholzer almost 3 years ago
06da5bc
to 49f5923
by @dependabot in https://github.com/iic-jku/qcec/pull/17
Full Changelog: https://github.com/iic-jku/qcec/compare/v1.10.3...v1.10.4
Published by burgholzer almost 3 years ago
This release adds the improvements from #12, #13, and #14:
pyproject.toml
x86_64
and arm64
architectures). This allows to effectively build universal2
wheels for Python 3.8 onwards and eventually makes the wheels work on M1-based MacsPublished by burgholzer almost 3 years ago
This small bugfix release adds:
Published by burgholzer almost 3 years ago
This release adds a couple of minor new features and fixes. In particular:
QuantumCircuit
objects-march=native -mtune=native
is actually enabled for source builds via pipPublished by burgholzer about 3 years ago
A lot of (mostly minor) updates have happened since the last QCEC release. This minor release brings QCEC up-to-date. For a detailed list of changes, see (#8).
With this release, we additionally provide Python wheels for Apple Silicon.
Published by burgholzer over 3 years ago
This minor release enables the new sorted buckets feature of the DDPackage submodule which should increase performance across the board.
Published by burgholzer over 3 years ago
This release adapts the QCEC library to work with the new JKQ DD Package version released recently.
Performance of all decision diagram-based routines is expected to improve (especially those based on simulation).
β¨ dynamic DD package size
β¨ separate VectorDD and MatrixDD classes
β‘ improved garbage collection
β‘ improved memory allocation
β‘ improved hashing
π₯ removed line
π₯ validInstance removed as such errors are now captured at the QFR level