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

Rebase refactor with simpler RebaseCustom, exposed CircPool and auto_rebase_pass #214

Merged
merged 6 commits into from
Feb 16, 2022

Conversation

ss2165
Copy link
Member

@ss2165 ss2165 commented Feb 10, 2022

  • RebaseCustom didn't need to have separate single qubit and multi qubit gatesets -> merged
  • expose CircPool so they can be reused in custom rebases
  • naive auto rebase function that checks for known decompositions for given gateset. This can be expanded in future with more decomposition functions as we defined them, a CZ lambda is included as an example.

@ss2165 ss2165 force-pushed the feature/simpler_rebase branch 14 times, most recently from f8fd82a to 8ca11df Compare February 14, 2022 16:31
@ss2165 ss2165 changed the title [feature] simply custom rebase with one gateset parameter Rebase refactor with simpler RebaseCustom, exposed CircPool and auto_rebase_pass Feb 14, 2022
@ss2165 ss2165 force-pushed the feature/simpler_rebase branch from 8ca11df to ddabf5e Compare February 14, 2022 16:37
@ss2165 ss2165 requested review from cqc-alec and lmondada February 14, 2022 17:18
@ss2165 ss2165 marked this pull request as ready for review February 14, 2022 17:19
@ss2165 ss2165 force-pushed the feature/simpler_rebase branch from ddabf5e to fcdf7ed Compare February 15, 2022 12:12
pytket/docs/changelog.rst Outdated Show resolved Hide resolved
pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/binders/circuit/pool.cpp Outdated Show resolved Hide resolved
pytket/binders/circuit/pool.cpp Outdated Show resolved Hide resolved
schemas/compiler_pass_v1.json Outdated Show resolved Hide resolved
Copy link
Contributor

@lmondada lmondada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ss2165, you can't imagine how happy this is making me! I have really missed this feature. My comments are mostly on the API choices, feel free to overrule them.

pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/binders/circuit/pool.cpp Outdated Show resolved Hide resolved
pytket/binders/circuit/pool.cpp Outdated Show resolved Hide resolved
pytket/binders/passes.cpp Show resolved Hide resolved
pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/pytket/passes/auto_rebase.py Outdated Show resolved Hide resolved
pytket/CMakeLists.txt Outdated Show resolved Hide resolved
@ss2165 ss2165 force-pushed the feature/simpler_rebase branch from fcdf7ed to 0f0991f Compare February 16, 2022 12:30
@ss2165 ss2165 requested review from cqc-alec and lmondada February 16, 2022 12:31
pytket/docs/changelog.rst Outdated Show resolved Hide resolved
@ss2165 ss2165 force-pushed the feature/simpler_rebase branch from 0f0991f to ed6ce04 Compare February 16, 2022 13:04
@ss2165 ss2165 requested a review from cqc-alec February 16, 2022 13:05
Copy link
Collaborator

@cqc-alec cqc-alec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ss2165 ss2165 merged commit 8191f27 into develop Feb 16, 2022
@ss2165 ss2165 deleted the feature/simpler_rebase branch February 16, 2022 14:54
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 17, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 17, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 17, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 17, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 17, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 17, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 18, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 18, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
ss2165 added a commit to CQCL/pytket-extensions that referenced this pull request Feb 18, 2022
* use auto_squash and auto_rebase
* provide full gateset as one argument to RebaseCustom
* remove use of Rebase<Target> passes

requires changes from
CQCL/tket#234

and
CQCL/tket#214
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.

3 participants