qiskit-advocate/qamp-fall-21

Add implementations of variational quantum algorithms for excited states to Qiskit

e-eight opened this issue ยท 17 comments

Description

VQE is probably the most well known variational quantum algorithm, and it is used to find the ground state energy of quantum systems. There is a growing interest in using quantum algorithms to find the energies of excited states of quantum systems. Several extensions of VQE have been developed for that purpose. Some of them can be found here. Having such algorithms efficiently implemented in Qiskit, like VQE is, will greatly help in doing research in quantum physics or quantum chemistry with Qiskit.

Mentor/s

@woodsp-ibm and @paulineollitrault

Type of participant

  • Experience with Qiskit and Python, including NumPy and SciPy.
  • Able to understand algorithms from research papers and implement them.

Number of participants

2 - 3

Deliverable

PRs to Qiskit Terra or Qiskit Nature that adds these new algorithms.

This is a great idea. Are you looking for mentor? @woodsp-ibm would you like to mentor this project?

Yes, I am looking for a mentor for this.

This looks like a great idea. Some other variational algorithms that I think would be worth considering for implementation are:

@woodsp-ibm @paulineollitrault @abhishekjay @charmerDark Can you please comment in the issue so that I can assign you?

@woodsp-ibm @paulineollitrault @abhishekjay @charmerDark Can you please comment in the issue so that I can assign you?

๐Ÿ‘

@woodsp-ibm @paulineollitrault @abhishekjay @charmerDark Can you please comment in the issue so that I can assign you?

๐Ÿ‘

@woodsp-ibm @paulineollitrault @abhishekjay @charmerDark Can you please comment in the issue so that I can assign you?

๐Ÿ‘

@woodsp-ibm @paulineollitrault @abhishekjay @charmerDark Can you please comment in the issue so that I can assign you?

๐Ÿ‘

@HuangJunye I am remaining to be assigned :)

@abhishekjay Sorry for missing it. You should be assigned now.

@charmerDark @abhishekjay Can you please upload your presentation here by the end of today? Thank you!

While the first phase of the project was more focused on selecting the method to implement and their pros and cons, this phase deals more with implementation. The variational quantum deflation algorithm was chosen to be implemented from among the options. We first looked at the code in Qiskit Terra for VQE, Qiskit tutorials and some of the existing unit tests to become familiar with the methods. We found that a more in depth understanding of Qiskit abstractions like Opflow were required. So we spend some time understanding OpFlow, Expectation values, Converters and Circuit Samplers. Code draft can be found on https://github.com/charmerDark/qiskit-terra/tree/kstatevqe
Progress Flowchart

@charmerDark @abhishekjay Are either of you working on the SSVQE algorithm? I have implemented that, but since you are working on this project I figured that I would coordinate with you.

@charmerDark @abhishekjay Can you please upload the final presentation slides and link your pull requests if any here? Thank you!