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

Allow constant ZZPhase fidelity in DecomposeTK2 #1558

Merged
merged 22 commits into from
Sep 4, 2024

Conversation

johnchildren
Copy link
Contributor

@johnchildren johnchildren commented Sep 3, 2024

Description

Currently it is not possible to serialize the Decompose TK2 pass as it can include an arbitrary function. This PR proposes allowing a constant float value in addition, which would allow serialization of the default compilation pass for pytket-quantinuum.

Related issues

Please mention any github issues addressed by this PR.

Checklist

  • I have performed a self-review of my code.
  • I have commented hard-to-understand parts of my code.
  • I have made corresponding changes to the public API documentation.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have updated the changelog with any user-facing changes.

@johnchildren johnchildren force-pushed the allow-constant-zzphase-in-decompose-tk2 branch from 43b2458 to 0a50fb2 Compare September 4, 2024 09:18
@johnchildren
Copy link
Contributor Author

Add transform tests

@johnchildren johnchildren force-pushed the allow-constant-zzphase-in-decompose-tk2 branch from e34c352 to d9be84c Compare September 4, 2024 10:09
@johnchildren johnchildren marked this pull request as ready for review September 4, 2024 11:13
@johnchildren johnchildren changed the title WIP: Allow constant ZZPhase in DecomposeTK2 Allow constant ZZPhase in DecomposeTK2 Sep 4, 2024
@johnchildren johnchildren changed the title Allow constant ZZPhase in DecomposeTK2 Allow constant ZZPhase fidelity in DecomposeTK2 Sep 4, 2024
@johnchildren johnchildren force-pushed the allow-constant-zzphase-in-decompose-tk2 branch from 4f95a14 to 3209427 Compare September 4, 2024 12:27
pytket/binders/passes.cpp Show resolved Hide resolved
pytket/binders/transform.cpp Show resolved Hide resolved
pytket/docs/changelog.rst Outdated Show resolved Hide resolved
pytket/tests/passes_serialisation_test.py Outdated Show resolved Hide resolved
tket/include/tket/Utils/Expression.hpp Show resolved Hide resolved
cqc-alec
cqc-alec previously approved these changes Sep 4, 2024
@johnchildren johnchildren merged commit 5a0c161 into main Sep 4, 2024
32 checks passed
@johnchildren johnchildren deleted the allow-constant-zzphase-in-decompose-tk2 branch September 4, 2024 15:12
CalMacCQ added a commit that referenced this pull request Sep 6, 2024
* add docs check (#1516)

* add docs check

* add poetry.lock

* circuit-display: update css file to v0.9 (#1521)

* docs: update navbar config and theming submodule (#1523)

* update navbar config

* use latest quantinuum-sphinx

* fix some local build warnings

* bump quantinuum-sphinx (#1525)

* release 1.31.1 (#1522)

* update version and changelog

* Update pytket/docs/changelog.rst

* correct navbar links (#1527)

* Updated flake.lock to bring symengine-0.12.0 into nix (#1423)

* Update to pybind11 2.13.3 (#1531)

* Fix symbol substitution for classical operations (#1538)

* Update pybind11 and catch2 versions (#1539)

* docs: Add pytket-azure to list of extensions (#1540)

* feat: Refactor WASM module (#1503)

* feat: Refactor WASM module

- Add a new WasmModuleHandler class that takes raw wasm_module bytes on construction, but has the same interface as WasmFileHandler.
- WasmFileHandler now inherits from WasmModuleHandler.
- Split checking of the WASM module into a new function so it can be called after initialisation if required.
- Adds new cached properties, bytecode, bytecode_base64 and module_uid which allow lazy loading of the module in encoded form, or computation of a unique identifier for the module.
- Add deprecated properties _check_file, wasm_file_encoded and _wasmfileuid to maintain compatibility with existing versions of pytket-qir and pytket-quantinuum.
- Remove some exceptions that are no longer possible.

* Bugfix/incorrect multi line conditionals (#1510)

* Add failing tests

* Delay declaring registers

* Handle conditional blocks

* Raise error for conditional `RangePredicate`

* Refactor `mark_as_written`

* Refactor `self.range_preds`

* Replacing conditions with predicates

* Add changelog entry

* Format code

* Fix typing issue

* Add testcase for multi-bit condition

* Remove unnecessary 0 assignment

* reposition comment in test

* Fix order of `lower` and `upper` in constructing `RangePredicateOp` (#1549)

* fix: Add copy implementations for Unit IDs (#1550)

* Bump slackapi/slack-github-action from 1.26.0 to 1.27.0 (#1555)

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update version and changelog. (#1557)

* Update to pybind11 2.13.5 (#1559)

* Update libs to boost 1.86.0. (#1560)

* Install pytket requirements before version consistency checks. (#1562)

* Run valgrind on ubuntu-24.04 (#1563)

* Allow constant ZZPhase fidelity in DecomposeTK2 (#1558)

feat: Allow constant ZZPhase fidelity in DecomposeTK2

Currently it is not possible to serialize the Decompose TK2 pass as it can include an arbitrary function. This commit
allows a constant float value in addition, which will allow serialization of the default compilation pass for pytket-quantinuum.

---------

Co-authored-by: Alec Edgington <alec.edgington@quantinuum.com>

* Use correct conan profile for valgrind build. (#1564)

* Update to boost 1.86.0, tktokenswap 0.3.9 and tkwsm 0.3.9 (#1561)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: cqc-melf <70640934+cqc-melf@users.noreply.github.com>
Co-authored-by: Tiffany Duneau <37022011+DNA386@users.noreply.github.com>
Co-authored-by: Jake Arkinstall <65358059+jake-arkinstall@users.noreply.github.com>
Co-authored-by: Alec Edgington <54802828+cqc-alec@users.noreply.github.com>
Co-authored-by: John Children <32305209+johnchildren@users.noreply.github.com>
Co-authored-by: yao-cqc <75305462+yao-cqc@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alec Edgington <alec.edgington@quantinuum.com>
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.

2 participants