QCEC 2.0.0
Long time in the making, but now it's finally here: QCEC 2.0.0 🥳
What's Changed
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.
✨ New Features
- Automated Equivalence Checking Flow (including parallelization 🧵) envisioned in
Lukas Burgholzer and Robert Wille. Advanced equivalence checking for quantum circuits. IEEE Transactions on CAD of Integrated Circuits and Systems, 2021. (arXiv:2004.08420)
- Automated generation of compilation flow profiles as good oracles for equivalence checking based on
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)
- ZX-Calculus Equivalence Checker based on
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)
- Equivalence Checking of Parameterized Quantum Circuits based on
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)
♿ Accessibility
- ⚙️ Push-button solution for equivalence checking of quantum circuits
- 🐧/🍎/🏁 pre-built Python wheels for Linux, macOS (incl. Apple Silicon), and Windows
- 🐍 Python 3.7 to 3.11 support
- ⚛️ Seamless integration with Qiskit
🎨 Code Quality
- 🗃️ follow the LLVM coding standards for C++
- 🐍 follows best practices for developing Python projects and packages from the popular Scikit-HEP project
- 🧪 extensive unit tests for C++ and Python
- 🪝 pre-commit checks
📝 Project documentation hosted at ReadTheDocs.
- 🚀 Quickstart and User Guide
- 🧑💻 Development Guide
- 👥 Contributing Guide
- 📄 API documentation
New Contributors
- @pehamTom made their first contribution in #73
- @pre-commit-ci made their first contribution in #107
Full Changelog: v1.10.5...v2.0.0