-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Synthesis of a stabilizer state for LNN connectivity #9734
Conversation
Thank you for opening a new pull request. Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone. One or more of the the following people are requested to review this:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. This looks good and clean. My only suggestion was to implement stabilizer synthesis more directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay on this. The main comment is that we can avoid doing the full Clifford synthesis (and in particular avoid calling _decompose_hadamard_free
), which would make the implementation both faster and more robust.
releasenotes/notes/stabilizer_state_synthesis-c48c0389941715a6.yaml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for doing all these changes.
* minor * add synthesis of a stabilizer state into layers * add a test of StabilizerState decomposition * add stabilizer state synthesis for LNN connectivity and tests * updates following review comments * add documentation * minor update * add release notes * minor update * add a test for a reduced inverse Clifford * improved stabilizer synthesis. Co-authored-by: [email protected] * minor updates following review * combining tests
* minor * add synthesis of a stabilizer state into layers * add a test of StabilizerState decomposition * add stabilizer state synthesis for LNN connectivity and tests * updates following review comments * add documentation * minor update * add release notes * minor update * add a test for a reduced inverse Clifford * improved stabilizer synthesis. Co-authored-by: [email protected] * minor updates following review * combining tests
Summary
#9036
Synthesis of a stabilizer state preparation.
Based on the Clifford layered synthesis, it requires only the layers H2 - S1 - CZ1 - H1,
so for linear nearest neighbor (LNN) connectivity it has 2q depth 2n+2.
Details and comments
synth_stabilizer_layers
- a general synthesis of a StabilizerState into layerssynth_stabilizer_depth_lnn
- synthesis of a StabilizerState for LNN connectivity in depth 2n+2Co-authored by: @alexanderivrii