-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add a Variational Quantum Time Evolution Tutorial #1391
Comments
@MarcDrudis would you like to be assigned to this issue? |
@ElePT For time evolvers we also have the classical time ones and TrotterQRTE (as well as PVQD - a tutorial for this underway). Is there someway to include these algorithms too, something a bit more comprehensive? Maybe a general time evolvers tutorial/section that guides your selection towards one or more of the algorithms - which includes/links to examples then built with these? |
@woodsp-ibm you're right, we should add a TrotterQRTE tutorial and maybe we could combine it with classical time evolution, and maybe we could just have a generic time evolution tutorial that guides you through all of these. I like the idea. The reason why I did not open an issue yet is because I wanted to double check with @Cryoris first. He had some refactoring ideas for the current trotter class, and I though that it would probably be more time efficient to not start designing the tutorial until the class is refactored. But I am keeping it in mind. |
Variational Quantum Time Evolution: 1.Variational quantum time evolution leverages variational principles to approximate the time evolution of quantum systems. It aims to find the optimal parameters that minimize the discrepancy between the simulated time evolution and the desired target evolution.
By following these steps, you can leverage Qiskit's qiskit.algorithms.time_evolvers.variational package to perform variational quantum imaginary and real-time evolution based on McLachlan's variational principle. By specifying qgt=ReverseQGT() and gradient=ReverseEstimatorGradient() when creating the ImaginaryMcLachlanPrinciple object, you can benchmark the new classically efficient gradients introduced in the qiskit.algorithms.gradients.reverse_gradient package.
|
I'm interested, |
Hi, We are also interested in this issue. Wondering if we can also be considered as a potential assignee for this unitaryHACK? We are planning to submit our first PR next week (by 06/04). Thanks! |
Yeah you can |
Yes, you can. Kindly go ahead |
Please take into account that this is not considered a contribution towards the Unitary Hack bounty. The contribution must be made as a PR and follow the content standards and style guidelines specified above. |
@MihirsinhChauhan, @wenxh0718 (and others) please note that ptwnimbe1 is not a Qiskit maintainer and cannot assign you to this issue (or tell you to go ahead). You can both go ahead and open a PR making sure you follow the updated style guidelines. You must note that, for the Unitary Hack challenge, we will take into account the quality of the contribution to decide whether it wins the bounty or not, and in principle, there is only one winner. Once you open the PR, make sure to tag this issue or mention me so I can follow-up on the contribution. |
I am interested in this issue @ElePT |
I am interested in this issue. |
I did not understand why doing "evolve" command wrt VarQITE give me error :- TypeError: Unsupported type of param_values provided. |
I imagine this is the method that is checking it https://github.com/Qiskit/qiskit-terra/blob/332bd9fe0bea82c0fdf7329cea3da115d86e3fc2/qiskit/algorithms/time_evolvers/variational/var_qte.py#L234, maybe that's of help, where param_values seems to relate to initial_parameters passed. You can see the type checks its doing and the failing type should have been part of the error message. |
Hey! I have joined Unitary hack 2023 late. Can i contribute to this problem ? |
Hi @wenxh0718, thanks for your contribution. As this is the only open PR at the moment, I have left you as the only person assigned to the issue. As you have collaborated with @ichen17 and @huckstar, would you like us to distribute the potential bounty among you three (in that case, I need them to comment on the issue so that I can assign them)?? |
I have a question about the source code of Quantum Imaginary Evolution. I have tried QAOA with Qiskit QAOA module from the tutorial |
Hi @ElePT Yes, that works for us. @ichen17 @huckstar please feel free to comment here. thanks! |
Hi, @ElePT Plases assign me to the issue. Thanks. |
Hi @ElePT, please assign me to this issue. Thanks! |
<!--⚠️ If you do not respect this template, your pull request will be closed.⚠️ Your pull request title should be short detailed and understandable for all.⚠️ If your pull request fixes an open issue, please link to the issue. ✅ I have added the tests to cover my changes. ✅ I have updated the documentation accordingly. ✅ I have read the CONTRIBUTING document. --> ### Summary Unitary Hack submission. Fixes #1391. ### Details and comments In this tutorial, we * introduce the variational quantum imaginary and real time evolution based on McLachlan's variational principle. * show how this can be leveraged using Qiskit classes. * benchmark the default gradient/qgt methods with the new classically efficient gradients introduced in the qiskit.algorithms.gradients.reverse_gradient package. This works is done by I-Chi (@ichen17), Kaixin (@huckstar), Wenxiang (@wenxh0718) collaboratively. Special thanks to FinQ Tech (http://finq.tech/) for their support and mentorship, which were instrumental to the successful completion of this quantum computing hackathon project. --------- Co-authored-by: ichen17 <66759365+ichen17@users.noreply.github.com> Co-authored-by: Kaixin <kxhuang@umd.edu> Co-authored-by: Elena Peña Tapia <57907331+ElePT@users.noreply.github.com>
…t-tutorials#1391) (Qiskit/qiskit-tutorials#1470) <!--⚠️ If you do not respect this template, your pull request will be closed.⚠️ Your pull request title should be short detailed and understandable for all.⚠️ If your pull request fixes an open issue, please link to the issue. ✅ I have added the tests to cover my changes. ✅ I have updated the documentation accordingly. ✅ I have read the CONTRIBUTING document. --> ### Summary Unitary Hack submission. Fixes Qiskit/qiskit-tutorials#1391. ### Details and comments In this tutorial, we * introduce the variational quantum imaginary and real time evolution based on McLachlan's variational principle. * show how this can be leveraged using Qiskit classes. * benchmark the default gradient/qgt methods with the new classically efficient gradients introduced in the qiskit.algorithms.gradients.reverse_gradient package. This works is done by I-Chi (@ichen17), Kaixin (@huckstar), Wenxiang (@wenxh0718) collaboratively. Special thanks to FinQ Tech (http://finq.tech/) for their support and mentorship, which were instrumental to the successful completion of this quantum computing hackathon project. --------- Co-authored-by: ichen17 <66759365+ichen17@users.noreply.github.com> Co-authored-by: Kaixin <kxhuang@umd.edu> Co-authored-by: Elena Peña Tapia <57907331+ElePT@users.noreply.github.com>
Create a tutorial in
qiskit.algorithms
to show how to use the newtime_evolvers.variational
package.The tutorial should introduce variational quantum imaginary and real time evolution based on McLachlan's variational principle, and show how this can be leveraged using Qiskit classes.
References for VarQTE:
Reference code (extracted from the
VarQITE
documentation):As a follow-up, it would also be nice to benchmark the default gradient/qgt methods with the new classically efficient gradients introduced in the
qiskit.algorithms.gradients.reverse_gradient
package.These could be set by doing:
Style guidelines:
Here are some references of the style of tutorial we are looking for
Make sure to follow the Qiskit documentation tutorial guidelines: https://qiskit.github.io/qiskit_sphinx_theme/tutorials/tutorials_guidelines.html
More examples for further reference: https://qiskit.github.io/qiskit_sphinx_theme/tutorials/tutorials_examples.html
The text was updated successfully, but these errors were encountered: