-
Notifications
You must be signed in to change notification settings - Fork 207
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
Operator_Pools in adapt_vqe #412
Comments
Our implementation of the What this means in simple words is that:
I hope this answers your question. |
Thanks for your answer @blakejohnson. Also, may I remain this issue longer that in case I would have some questions after test adapt-vqe. |
I'm not quite sure what you mean, but yes, we can leave this issue open. |
Hi @mrossinek , I looked the code of adapt-vqe, and it seems your way of computing gradient for operators in pool is a little different from the means referred in An adaptive variational algorithm for exact molecular simulations on a quantum computer. You choose to generate the gradient by measuring E(theta+delta) and E(theta-delta) using original vqe, and eventually gives dy/dx, which is quite classical and takes two measurements. However, the paper suggests measuring the expectation value of the commutator of the Hamiltonian with ansatz generator by one individual operator, which consumes one measurement for each operator (ignoring the sub-term of Hamiltonian and treat it as a unity) Regardless of there can exist theoretical differences between two methods, which can be covered by variational optimization and therefore be considered as trivial, the classical means apparently costs one more measurement than the one in paper. So I want to ask why you chose this way, are there advantages of it? |
It's been a while since I had a look at that paper. And in fact the implementation of our Right now there is actually an ongoing project which is refactoring the gradient computation to leverage Qiskit Terra's gradient framework. I do not currently have the time to check whether this is more inline with what you are describing above. |
I'm closing this in the assumption that the above discussion is resolved. We can reopen if necessary. |
Hi,
Previously, I tested the ground state energy for several molecules using VQE, and the performance was pretty well compared to classical FCI energy.
And lately, I tried to implement adapt_vqe and see how it goes, yet there is one section I don't really understand. That is, the
operator_pool
which is written in moduleoperatorBase
. I read the related paper An adaptive variational algorithm for exact molecular simulations on a quantum computer and roughly know how this pool works. However, I am curious about how you exactly compose this pool?It seems to me that the available composition for the pool is merely the single and double excitation terms (including excitation from rs to pq and the inverse case). What are the other recommended terms?
The text was updated successfully, but these errors were encountered: