-
Notifications
You must be signed in to change notification settings - Fork 210
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
Tutorial: Deuteron binding energy #580
Tutorial: Deuteron binding energy #580
Conversation
…ron binding energy
In regards of the the present CI failures here.
One final note is that all the tutorials should carry a version and copyright at the end produced from a cell like this (you can see this in the existing tutorials).
|
About the problems
I'm uploading the updated files, hope this time everything works. |
…int file with some new techinal words.
…d words pointed out by the spell check in the pydictlint file.
For the Dirac notation isn't it usually |
Yeah, that is true! There is a hyphen in there, I just added the word without thinking about the typo, sorry about that. I'll fix this in a new commit. |
…' of the pydictlint file.
Pull Request Test Coverage Report for Build 2845100980
💛 - Coveralls |
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.
I don't have time to go through the entire tutorial but at least I got started
with this. I left some more or less detailed comments below. Some of them can be
extended towards sections which I did not yet review in detail. Particular the
explanations should be proof-read.
I am wondering whether we can find a better way to actually compute the energy.
Here, you are constructing a function which creates and runs the VQE but there
you are not really making any use of Qiskit Nature.
The GroundStateEigensolver would come to mind here but I am aware that it has
the "limitation" of taking a Problem
instance as its input to solve()
. But
maybe constructing a DummyProblem
would be a shorter and more Nature-oriented
way of doing things, than the current implementation of the
compute_binding_energy
method.
Just wanted to put this out there for you to consider.
@mrossinek Thanks for your comments and suggestions, I'll work to make these changes as soon as possible. |
…com/jvscursulim/qiskit-nature into tutorial-11-deuteron-binding-energy
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 long delay on reviewing your PRs!
We just merged #746 which majorly restructured the layout of our code base.
Effectively, all parts of the code which you are using in this tutorial are now residing under qiskit_nature/second_q
. Please update your tutorial accordingly.
I will soon get around to doing a more in-depth review of this tutorial! 👍
No problem and thanks for letting me know about the changes due #746, I will update the code according to these changes. I'll wait for more comments and suggestions. |
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.
Okay I finally managed to do a full review.
There are quite a lot of comments here, so please let me know if I need to clarify anything further.
Overall, I think this is a nice tutorial. There are some aspects which need to be changed but you can see the comments below for more details.
At first, I was wondering about the first person perspective of the writing style. Maybe an impersonal perspective would be better suited to guide a user through this, but you can also leave it as it is now.
If you disagree with my comments (especially the one about the Qiskit Terra aspects), maybe the Qiskit Community Tutorials (https://github.com/qiskit-community/qiskit-community-tutorials) are a better place for this. But let's see how this progresses 👍
…com/jvscursulim/qiskit-nature into tutorial-11-deuteron-binding-energy
I think the new changes look very good 👍 And one final comment w.r.t. writing: |
I changed the plots, now I'm using subplots with |
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 for the great work on this! I think this tutorial is now in very good shape! Maybe some phrasing could be improved here and there, but I think this will always be the case to some degree.
So I will tentatively approve this and will give @woodsp-ibm a chance to review this before merging anything 👍
Again, thank you @jvscursulim, for the great and patient work here!
Thanks @mrossinek for the comments and coding advice, they definitely contribute to improving my coding skills and my writing in english, once it is not my native language. |
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.
Hi Victor, looks great. Thanks for continuing with this. I have one minor comment to the text. Can we change the intro a little - talking about noisy quantum computers is fine but we prefer to refrain from using NISQ to describe things. So maybe the following - and feel free to do something different if it does not work for you. I tried to preserve what I took from the meaning of what you had. The first part below is changed text, the part after continues with your original text as the latter part of the paragraph (i.e. the text starting with However, there are some problems...
. I kept it all here so it can be seen/read at once but still distinguish what I changed
At the current stage of quantum computing the quantum processors we have available do not yet have error correcting codes implemented and thus still have noise that must be contended with. This noise can adversely impact the results and hence can limit the sort of problems we can currently tackle when, due to the noise, a high level of confidence and precision cannot
be expected from the results.
However, there are some problems which demand only few qubits to be solved, like the computation of the binding energy between the proton and neutron in the Deuteron nucleus [1]. This problem is an example of a scenario where we can achieve good results despite the challenges mentioned earlier.
Hi Steve, thanks for the comment. I read your suggestion and I agree with the changes. I'll update the tutorial text. |
…com/jvscursulim/qiskit-nature into tutorial-11-deuteron-binding-energy
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.
Victor, thanks for your perseverance and work in contributing this notebook to Nature. I am very happy to be able to approve it - congrats on your contribution to Qiskit!
Thanks Steve, I'm happy with the acceptance of this work as a contribution to Qiskit. I hope that I can make more contributions to Qiskit in the future. |
* Uploading the jupyter notebook that contains the tutorial about deuteron binding energy * Uploading the jupyter notebook reformatted with black and the pydictlint file with some new techinal words. * I fixed some typos in the jupyter notebook and added the 18 misspelled words pointed out by the spell check in the pydictlint file. * Fixing the 'braket' typo in the jupyter notebook and deleting 'braket' of the pydictlint file. * Fixing the problems in the .pylintdict * Uploading an updated version of the tutorial with the changes requested by @mrossinek * lint * Adding acknowledgement in the .pylintdict * Updating imports to the new modules location (second_q) * Removing hardware and information exceptions * Making the changes requested by @mrossinek * lint * Changing plots * Including ansatze and performant * Making some changes in the introduction Co-authored-by: Max Rossmannek <[email protected]>
Summary
A tutorial about how to use Qiskit Nature tools to tackle the specific problem of deuteron binding energy.
Details and comments
This PR is linked with the Issue #559. In this Issue, was proposed the idea of add a new tutorial in Qiskit Nature to explain how to use FermionicOp and others tools to determine the value of the binding energy between a proton and a neutron in the Deuteron nucleus, as was described in https://arxiv.org/pdf/1801.03897.pdf.