Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add equivalence checking mechanism to transforms and tests #24

Conversation

glassnotes
Copy link
Contributor

Context: Release v0.3 (new feature)

Description of the Change: Adds option for users to run background equivalence checking (up to global phase) for all transforms.

Benefits: Higher confidence that the transpiler is actually behaving correctly.

Possible Drawbacks: Equivalence is currently only verified up to global phase.

Related GitHub Issues: #9

@glassnotes glassnotes linked an issue Aug 24, 2024 that may be closed by this pull request
@glassnotes glassnotes merged commit 02a7921 into rc-0.3 Aug 24, 2024
3 checks passed
glassnotes added a commit that referenced this pull request Aug 24, 2024
* Update tests to conform with new qml.matrix argument requirements.

* Create python-package.yml

* Update python-package.yml

* Update python-package.yml

* Update python-package.yml

* Update python-package.yml

* Auto-format with black

* Update python-package.yml

* Start linting

* Add pylintrc file

* Continue linting files. Reorganize identity hunter.

* Add linting to workflow

* Update linting workflow

* Add new linted files

* Finish linting

* Disable pylint on import order

* Disable pylint wrong import order

* Fix error

* Update docstring

* Update black to only check.

* Try caching

* Fix spacing

* Pin PennyLane version

* Break formatting to test CI

* Fix formatting

* Added pyproject.toml so that black lines 100 is set as default.

* Pin pylint versions and fix issues in identity hunter

* Add missing version

* Track dependencies with Poetry

* Try running CI with poetry build

* Update lock file and pyproject.toml

* Fix yaml file

* convert tabs to spaces :(

* add pre-commit to dependencies

* remove unnecessary requirements files

* Add pre-commit hooks. Convert CI to use ruff instead of pylint and black

* Delete unused config files

* Update preconfig

* Update PennyLane version and Poetry lock file

* Add documentation with readthedocs (#23)

* Add readthedocs yaml file

* Add rst files for sphinx documentation. Adjust some docstrings to conform.

* Restructuring documentation files so web-based docs can be built.

* Rename docs directory

* Fix path in conf.py file

* Update readthedocs yaml to use poetry

* Update poetry lock file

* Revert change to python version.

* Add MS gate matrix example. Convert all docstrings to raw strings.

* Restructure docs files. Add instructions and basic usage.

* Update lock file

* Fix math rendering in many docs

* Clarify docs for identity hunter.

* Fix formatting in docs

* Fix formatting in docs

* Formatting fix

* Example for commute_through_ms_gates

* Examples for virtualize_rz_gates and single_qubit_fusion_gpi

* Update convert_to_gpi and add example

* Add inverse cancellation pass

* Example for ionize transform

* Hide more contents of identity hunter module. Small text tweaks.

* Example for lookup gate identity

* Finish documenting utils. Update a JSON parameter based on new API.

* Fix typo

* Remove transform utils from docs. Fix tests for new API

* Restructure identity hunter module

* Run precommit hooks

* Try enabling source linking

* Remove attempted source link

---------

Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>

* Add equivalence checking mechanism to transforms and tests (#24)

* Add equivalence checking mechanism to transforms and tests

* Relocate equivalence checker. Add a test suite for it.

* Add description of equivalence checking to docs.

* Push changes to basic usage section.

* Remove print statements from tests

* Glassnotes/21 update readme for release 03 (#25)

* Example for flag_non_equivalence utility function

* Update README to reflect new instructions

* Fix formatting of links in README

* Add docs badge to README

* Remove broken badge.

---------

Co-authored-by: glassnotes <glassnotes@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>
Co-authored-by: Gabriel Bottrill <bottrill@student.ubc.ca>
Co-authored-by: Gabriel Bottrill <78718539+Gabriel-Bottrill@users.noreply.github.com>
@glassnotes glassnotes deleted the glassnotes/9-add-mechanism-for-certifying-equivalence-of-compiled-circuits branch August 24, 2024 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add mechanism for certifying equivalence of compiled circuits
1 participant