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

added QUBO tutorial #406

Merged
merged 12 commits into from
Dec 26, 2022
Merged

added QUBO tutorial #406

merged 12 commits into from
Dec 26, 2022

Conversation

cdalyac
Copy link
Member

@cdalyac cdalyac commented Oct 17, 2022

Added the QUBO tutorial

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@HGSilveri HGSilveri requested a review from CdeTerra November 7, 2022 08:43
Copy link
Collaborator

@CdeTerra CdeTerra left a comment

Choose a reason for hiding this comment

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

Looks good to me!

"cell_type": "markdown",
"metadata": {},
"source": [
"We can then plot the obtained cordinates in a Register using:"
Copy link
Collaborator

Choose a reason for hiding this comment

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

coordinates

"source": [
"This algorithm (see [Farhi, et al., 2014](https://arxiv.org/pdf/1411.4028.pdf)) has gained a lot of traction lately as a gate-based quantum algorithm. It has shown promising results in a number of applications and yields decent results for low-depth circuits.\n",
"\n",
"All atoms are initially in the groundstate $|00\\dots0\\rangle$ of the `ground-rydberg` basis. We then apply $p$ layers of alternating non-commutative Hamiltonians. The first one, called the mixing Hamiltonian $H_M$, is realized by taking $\\Omega = 1$ rad/µs, and $\\delta = 0$ rad/µs in the Hamiltonian equation. The second Hamiltonian $H_Q$ is realized with $\\Omega =0$ rad/µs and $\\delta = 1.$ rad/µs. $H_M$ and $H_Q$ are applied turn in turn with parameters $\\tau$ and $t$ respectively. A classical optimizer is then used to estimate the optimal parameters. \n",
Copy link
Collaborator

Choose a reason for hiding this comment

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

You may say a word about the impact of diagonal values all being equal to 10.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Don't forget to check this point too. ;)

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm not sure I want to add a word about diagonal values; otherwise I would also have to give an explanation for the origin of all values (non-diagonal ones too). I prefer leaving it as "given the following qubo". If you have a sentence in mind we can think about it.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Diagonal values all being identical is a special case I think, because it makes full sense to use a global pulse with the same Rabi frequency on all qubits, but that's up to you of course.

@HGSilveri HGSilveri added this to the v0.8 Release milestone Nov 28, 2022
@HGSilveri
Copy link
Collaborator

Hey @cdalyac , do you think you'll have time to address @CdeTerra 's comments soon?

@HGSilveri HGSilveri requested a review from CdeTerra December 13, 2022 14:32
"cell_type": "markdown",
"metadata": {},
"source": [
"We define `func` in order to do the minimization."
Copy link
Collaborator

Choose a reason for hiding this comment

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

Something a bit more comprehensive would most likely help the reader to understand the function and its arguments. For example:
‶To perform a minimization loop, we define the following function that will be called at each step by SciPy. *args enables to pass the QUBO value, and params contains the trial value to score, which changes at each step.″

Copy link
Member Author

Choose a reason for hiding this comment

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

Added the sentence

Copy link
Collaborator

Choose a reason for hiding this comment

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

Did you create a commit that you forgot to push? I cannot see any change on the PR. :)

"source": [
"This algorithm (see [Farhi, et al., 2014](https://arxiv.org/pdf/1411.4028.pdf)) has gained a lot of traction lately as a gate-based quantum algorithm. It has shown promising results in a number of applications and yields decent results for low-depth circuits.\n",
"\n",
"All atoms are initially in the groundstate $|00\\dots0\\rangle$ of the `ground-rydberg` basis. We then apply $p$ layers of alternating non-commutative Hamiltonians. The first one, called the mixing Hamiltonian $H_M$, is realized by taking $\\Omega = 1$ rad/µs, and $\\delta = 0$ rad/µs in the Hamiltonian equation. The second Hamiltonian $H_Q$ is realized with $\\Omega =0$ rad/µs and $\\delta = 1.$ rad/µs. $H_M$ and $H_Q$ are applied turn in turn with parameters $\\tau$ and $t$ respectively. A classical optimizer is then used to estimate the optimal parameters. \n",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Don't forget to check this point too. ;)

@CdeTerra CdeTerra merged commit 654a1d4 into pasqal-io:develop Dec 26, 2022
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.

5 participants