This repository was archived by the owner on Jan 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 180
New Hadamard and SWAP test operations. #196
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /// # See Also | ||
| /// - Microsoft.Quantum.Characterization.EstimateRealOverlapBetweenStates | ||
| /// - Microsoft.Quantum.Characterization.EstimateOverlapBetweenStates | ||
| operation EstimateImagOverlapBetweenStates( |
Contributor
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.
Imag or Imaginary? Do we have a precedent for this elsewhere in the API docs?
Contributor
Author
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.
Good point, thanks for the catch. I guess I was thinking of the usage in Microsoft.Quantum.Math.Complex, which has a Real and an Imag named item.
martinquantum
approved these changes
Jan 2, 2020
Contributor
martinquantum
left a comment
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.
looks good. Just one consistency question (Imag vs Imaginary). Otherwise, this looks good to me.
cgranade
pushed a commit
that referenced
this pull request
Jan 8, 2020
* Clarify the restriction on the number of bits for IntAsBoolArray (#171) * Clarify the restriction on the number of bits for IntAsBoolArray This should fix #166 by providing a more specific error message. * Update Standard/src/Convert/Convert.qs Co-Authored-By: Chris Granade <chgranad@microsoft.com> * Allow to have bits = 0 Looks like our tests assume that number = 0 with bits = 0 is a valid scenario; updating the change to account for that * Package updates (#188) * Quantum AND gates (a.k.a. CCNOT with constant target) (#186) * Two AND gate implementations. * Added test case. * Formatting. * Code formatting. * Update Standard/src/Canon/And.qs Co-Authored-By: Chris Granade <chgranad@microsoft.com> * Assertion for 0-target. * Added DOI to references. * Named application for CCNOTop. * Rename operations. * Add Test attribute. * Add links to arXiv. * Rename operations. * Better assertion for 0-target. * Fix bug in LowDepthAnd. * Docs. * Doc string convention. * Controlled variant for `ApplyAnd`. * Controlled AndLowDepth. * Adjoint Controlled LowDepthAnd. * References. * Simplify code. * Apply suggestions from code review Co-Authored-By: Chris Granade <chgranad@microsoft.com> * Integrate comment. * Removed comment ref to IncrementByIntegerPhaseLE (#189) There appears to be no function IncrementByIntegerPhaseLE, and I guess it is covered by ApplyLEOperationOnPhaseLE. Co-authored-by: Chris Granade <cgranade@gmail.com> * New Hadamard and SWAP test operations. (#196) * First work on Hadamard and SWAP test operations. * (c) header and typo fix. * Fixed typo with placement of phase shift. * Put public operations above private. * Added tests for new operations. * Added API documentation comments. * Newline at end of file. * Refactor AA namespace to use Q# style guide (#197) * Began simplifying AA interface. * Expose traditional AA as new public operation. * Removed rest of "AmpAmp" prefix. * Resolve deprecation warning. * Switching to using the new Sdk (#194) * Minor doc fixes (#190) * Minor doc fixes * Minor doc cleanup There are probably still some unstated assumptions on the algorithms. * Add "# Description" for MultiplyByModularInteger ...because there is inline math. Co-Authored-By: Chris Granade <cgranade@gmail.com> * "unitary operation" instead of "unitary operator" Co-Authored-By: Chris Granade <cgranade@gmail.com> * Add "# Description", remove refs in "# Summary" Co-authored-by: Chris Granade <cgranade@gmail.com> * Fix build by updating QML projects to use SDK. Co-authored-by: Mariia Mykhailova <michaylova@gmail.com> Co-authored-by: bettinaheim <34236215+bettinaheim@users.noreply.github.com> Co-authored-by: Mathias Soeken <mathias.soeken@gmail.com> Co-authored-by: numpde <21158052+numpde@users.noreply.github.com>
cgranade
pushed a commit
that referenced
this pull request
Jan 13, 2020
* Clarify the restriction on the number of bits for IntAsBoolArray (#171) * Clarify the restriction on the number of bits for IntAsBoolArray This should fix #166 by providing a more specific error message. * Update Standard/src/Convert/Convert.qs Co-Authored-By: Chris Granade <chgranad@microsoft.com> * Allow to have bits = 0 Looks like our tests assume that number = 0 with bits = 0 is a valid scenario; updating the change to account for that * Package updates (#188) * Quantum AND gates (a.k.a. CCNOT with constant target) (#186) * Two AND gate implementations. * Added test case. * Formatting. * Code formatting. * Update Standard/src/Canon/And.qs Co-Authored-By: Chris Granade <chgranad@microsoft.com> * Assertion for 0-target. * Added DOI to references. * Named application for CCNOTop. * Rename operations. * Add Test attribute. * Add links to arXiv. * Rename operations. * Better assertion for 0-target. * Fix bug in LowDepthAnd. * Docs. * Doc string convention. * Controlled variant for `ApplyAnd`. * Controlled AndLowDepth. * Adjoint Controlled LowDepthAnd. * References. * Simplify code. * Apply suggestions from code review Co-Authored-By: Chris Granade <chgranad@microsoft.com> * Integrate comment. * Removed comment ref to IncrementByIntegerPhaseLE (#189) There appears to be no function IncrementByIntegerPhaseLE, and I guess it is covered by ApplyLEOperationOnPhaseLE. Co-authored-by: Chris Granade <cgranade@gmail.com> * New Hadamard and SWAP test operations. (#196) * First work on Hadamard and SWAP test operations. * (c) header and typo fix. * Fixed typo with placement of phase shift. * Put public operations above private. * Added tests for new operations. * Added API documentation comments. * Newline at end of file. * Refactor AA namespace to use Q# style guide (#197) * Began simplifying AA interface. * Expose traditional AA as new public operation. * Removed rest of "AmpAmp" prefix. * Resolve deprecation warning. * Begin moving classifier structure creation to Q#. * Moving example datasets into new namespace. * Fix datasets used in layered structure demo. * Fixed bug with cyclic entangling layer. * Use new Hadamard test operation to simplify grad est. * Simplify input encoder logic. * Removed layer construction methods moved out to Q#. * Revised name of approximate input encoder. * Removed unused interop library. * Update pack script for new layout. * Addressing feedback. Co-authored-by: Mariia Mykhailova <michaylova@gmail.com> Co-authored-by: bettinaheim <34236215+bettinaheim@users.noreply.github.com> Co-authored-by: Mathias Soeken <mathias.soeken@gmail.com> Co-authored-by: numpde <21158052+numpde@users.noreply.github.com>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds new functionality to Microsoft.Quantum.Characterization for the Hadamard and SWAP tests. Each of these new operations is compatible with EstimateFrequencyA, and hence can be accelerated using emulation functionality where available.
Currently a work in progress, opening PR for initial feedback. Still to do: