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

Bernstein-Vazirani tutorial for ProjectQ v0.4.2 #338

Closed
wants to merge 9 commits into from

Conversation

cmleecm
Copy link

@cmleecm cmleecm commented Oct 18, 2019

I have created a Bernstein-Vazirani tutorial jupyter notebook and would like to contribute to the examples.

damiansteiger and others added 8 commits January 31, 2019 07:39
* First testing version of Phase Estimation with a lot of hardcoding

* Adapt to All(Measure)

* Adding operators for more than 1 quibit, first version

* Adding operators for more than 1 quibit, first versioni: testing

* Work in progress: create a PhaseX gate to tests via class

* Work in progress: create a PhaseX gate to tests via class. Clean garbaje files

* Work in progress: create a PhaseX gate to tests via class. Some enhanement

* Work in progress: create a PhaseX gate to tests via class. PhaseX testing

* Work in progress: Debugging algorithm

* Work in progress: Debugging algorithm

* Adding 2qubit example

* adding 2 qubit Gate

* Initial version

* Create Phase Estimation as a new Gate in operations

* Solving travis checks

* python 2 compatibility + error in StatePreparation normalization

* test coverage includes now the string

* Improve the check test for no eigenvector test

* Start modifying to decomposition

* QPE as decomposition and gate

* QPE as decomposition and gate: correct a detail in the test

* try to get the travis-ci freeze solved

* Solve a name not defined error in the phaseestimation tests

* Solve coverage in tests

* Address comments in review + change how to assert the tests

* Enhance statistis in the tests bi more executions

* Correct bad calculation in tests

* Refine test

* Address Andi comments: add detail in the examples and atributes and removing code in the test that is never executed
* Amplitude Amplification algorithm as a Gate in ops

* Amplitude Amplification algorithm as a Gate in ops, correct test_string_functions

* Amplitude Amplification algorithm as a Gate in ops, correct coverage for _qaagate_test

* Amplitude Amplification algorithm as a Gate in ops, correct test estimation statistics in phaseestimation_test

* Try to triger Travis test because an apt get failure in the travis test

* resend docs/projectq.ops.rst file

* resend file versions previous to AA

* Try to triger Travis test because it never ran

* Try to triger Travis test again to try to get the tests ran
…k#327)

* Amplitude Amplification algorithm as a Gate in ops

* Amplitude Amplification algorithm as a Gate in ops, correct test_string_functions

* Amplitude Amplification algorithm as a Gate in ops, correct coverage for _qaagate_test

* Amplitude Amplification algorithm as a Gate in ops, correct test estimation statistics in phaseestimation_test

* Try to triger Travis test because an apt get failure in the travis test

* Address changes proposed by Damien

* Address changes proposed by Damien, missed one

* Address comments by Damien including eliminate the usage of algorith_inverse and eliminate QPE files form the PR

* Address comments by Damien including eliminate the usage of algorith_inverse and eliminate QPE files form the PR, second try

* Address comments by Damien forgot _qaagate_test

* Update amplitudeamplification_test.py

Wrap lines to 80 characters

* Update amplitudeamplification.py

Wrap lines to 80 characters

* Update _qaagate.py

Minor style correction

* Update amplitudeamplification_test.py

Cleanup imports
* Modified _gates.py: Documentation, 2-qubit rotations, 1qubit-rotation string attributes.

* Strings of rotation gates fixed.

* Added two-qubit rotation gate tests.

* Resource Counter import Rzz added.

* Added Rzz test and fixed expected outcome.

* removed wrongfully pushed dev gates.

* Update _gates.py

Remove unneeded import

* Removed hardcoded "Phase" name for Ph(angle) gate
* C++ simulator performance: make the swap-gate run in native C++

It was defined as a BasicMathGate before which made it run as python
code through the emulate_math_wrapper. The new variant just uses its
matrix representation to run it in native code.

* C++ simulator performance: add dedicated C++ code for common math gates

The BasicMathGate uses a C++ python wrapper (emulate_math_wrapper) to allow generic
calculations which makes it very slow. This detects some math gates and
provides a native C++ implementation for it.

* C++ simulator performance: use larger memory alignment

* C++ simulator performance: recycle large StateVector memory buffers

This avoids costly std::vector copying/reallocations by using some
static std::vector to reuse the allocated buffer (just by std::swap'ing
a vector into a buffer for later use when it would be deallocated
otherwise).

* C++ simulator performance: improve compiler flags

* Add test coverage for constant math emulation

* Revert "Add test coverage for constant math emulation"

This reverts commit 3bb8a2c.

* Add test coverage for constant math emulation
@Takishima
Copy link
Collaborator

Feel free to do so by either pushing it to your master branch (in which case the changes will appear in this PR) or push those changes into a new branch and open a new PR.

@cmleecm
Copy link
Author

cmleecm commented Oct 24, 2019

Feel free to do so by either pushing it to your master branch (in which case the changes will appear in this PR) or push those changes into a new branch and open a new PR.

It seems I have already push it to my master branch. Is there anything else I need to do?

@Takishima
Copy link
Collaborator

Are you sure you are pushing to the master branch and not develop?
Because if you were, GitHub should show the commits in this PR, which it is not.

@cmleecm cmleecm changed the base branch from develop to master October 25, 2019 12:41
@cmleecm
Copy link
Author

cmleecm commented Oct 25, 2019

Help needed here. I have changed the base branch to the master branch. Is this pushing to the master branch?

@Takishima
Copy link
Collaborator

Takishima commented Oct 28, 2019

You are now indeed pushing to the master branch, but because you were probably working off of the develop branch previously, a bunch of unwanted commits have made their way into this PR.

Could you please apply your changes on top of the develop branch and then do a new PR between the current develop and your fork?

@cmleecm
Copy link
Author

cmleecm commented Oct 28, 2019

Got it. I have created a new pull request #342 to merge the newly added berstein-vazirani_tutorial.ipynb from cmleecm:develop to ProjectQ-Framework:develop

@cmleecm cmleecm closed this Oct 28, 2019
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.

6 participants