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

RevKit interface #217

Closed
wants to merge 19 commits into from
Closed

RevKit interface #217

wants to merge 19 commits into from

Conversation

msoeken
Copy link
Contributor

@msoeken msoeken commented Mar 30, 2018

I propose to merge the RevKit feature into develop. The tests are running with 100% coverage, the code is documented, and there are two examples. I am happy to add more functionality in the future. I also thought of having some simple Python-based fallback algorithms for synthesis that can be called if RevKit is not installed but do not guarantee the same quality of results.

@thomashaener
Copy link
Contributor

Awesome, thanks! It looks great except for a few pep8 issues (which I could fix if you like) and I was wondering if there is a chance we could change the writing to a file and then exec_from_file to directly running the ProjectQ code in revkit. E.g., have a function revkit.run_projectq(qs) or some other way to directly get the gates to apply without exec_from_file. If this requires too much work, we can also do this later.

@msoeken
Copy link
Contributor Author

msoeken commented Mar 30, 2018

Thanks for the feedback. And both good ideas. I can fix the pep8 issues and will also modify the interface to avoid writing to files. I'll push the changes within a few days.

qubit2 = Qubit(main_engine, 2)
qubit3 = Qubit(main_engine, 3)

ControlFunctionOracle(maj) | ([qubit0, qubit1, qubit2], qubit3)
Copy link
Contributor

Choose a reason for hiding this comment

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

What does this test?

@damiansteiger
Copy link
Contributor

damiansteiger commented Jun 18, 2018

Would be great to incorporate this PR before the next release.

I fixed the pep8 issues.

A few things:

  • Is there a way to exclude revkit from coveralls for Python3.5 and Python3.6?
  • Unrelated to this code: Travis lately fails often with
The command "sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install gcc-4.9 g++-4.9" failed and exited with 100 during .

Rerunning was so far successful in fixing this. But maybe we should check if we find a more stable solution ;)

  • What else is missing besides a final code review? (Avoid writing to files as suggested above)

@msoeken
Copy link
Contributor Author

msoeken commented Jul 19, 2018

The reimplementation somehow diverged the branches too much such that it was cleaner to open a new PR #241 and close this one.

@msoeken msoeken closed this Jul 19, 2018
@damiansteiger damiansteiger deleted the feature/revkit-interface branch July 22, 2018 17:51
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.

None yet

3 participants