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

Migrate AdaptVQE from Qiskit Nature to Terra #3

Open
mrossinek opened this issue Feb 4, 2022 · 8 comments
Open

Migrate AdaptVQE from Qiskit Nature to Terra #3

mrossinek opened this issue Feb 4, 2022 · 8 comments

Comments

@mrossinek
Copy link

Description

The AdaptVQE algorithm, originally implemented in Qiskit Aqua as the outcome of the Qiskit Hackathon Europe 2019, link. Since then, it has been refactored multiple times, most recently during the QAMP Fall 2021 to leverage Qiskit Terra's gradient framework link.

This time around, we would like to take the algorithm one step further by decoupling it from Qiskit Nature and migrate it to Qiskit Terra, making it more widely available. More details will be provided soon.

Deliverables

Migrate the AdaptVQE algorithm from Qiskit Nature to Terra.

Mentors details

  • Mentor 1
    • Name: Max Rossmannek
    • GitHub ID: @mrossinek
    • What they do: Qiskit Nature Developer
  • Mentor 2
    • Name: Dariusz Lasecki
    • GitHub ID: @dlasecki
    • What they do: Qiskit Applications + Algorithms Developer

Number of mentees

1

Type of mentees

  • Mentee 1
    • Required:
      • Python knowledge
      • Knowledge of AdaptVQE
    • Nice to have:
      • knowledge of design aspects of Qiskit Terra's VariationalAlgorithm interface
      • knowledge of design aspects of Qiskit Nature's GroundStateEigensolver interface

This project will be continued from qiskit-advocate/qamp-fall-21#5 by @fs1132429

@HuangJunye HuangJunye added area: qiskit-nature from: mentor status: matched The project is matched and will not take any more mentees type: code labels Feb 8, 2022
@HuangJunye
Copy link
Contributor

It's great to the continuation of mentorship project. @fs1132429 @dlasecki can you please comment here so that I can assign you to the issue? Thank you.

@HuangJunye
Copy link
Contributor

Note to other advocates: this project is a continuation from QAMP Fall 21 and therefore is not open for application.

@dlasecki
Copy link

dlasecki commented Feb 8, 2022

Sure.

@fs1132429
Copy link

yes!

@fs1132429
Copy link

qamp-spring22.pptx
Here is the ppt slides.

@fs1132429
Copy link

Checkpoint 2:
AdaptVQE is an algorithm that creates a compact ansatz by gradually building up the ansatz circuit by appending the excitation with the largest energy gradient to the circuit. This results in a wavefunction ansatz that is uniquely formed by the algorithm. Traditional VQE has a fixed or ad hoc ansatz. This affects the simulation as variational flexibility depends on the ansatz. But AdaptVQE builds up the ansatz rather than having a fixed one. AdaptVQE is currently in Qiskit Nature but we are migrating it to Qiskit Terra.
Since the first checkpoint, we’ve been focusing on removing all Qiskit Nature specific code from AdaptVQE . We also changed the parent class from GroundStateEigensolver to VQE. We have been trying to integrate all the available VQE functions into AdaptVQE code. This involves removing the function parameters like qubit_convertor,solver ,delta and adding new parameters like excitation pool and ansatz(which is optional). The excitation pool was previously constructed by UCC in Qiskit Nature but now the user will have to input it. The solve method of AdaptVQE is refactored to compute_minimum_eigensolver to be analogous to VQE and users will have to input the main operator in this function. AdaptVQE test has also been added to check out if the refactored code works or not. There are still some discrepancies mainly with regards to gradient and construction of operator but we are still trying to figure it out. A draft PR has also been created to comply with the suggested changes.

@fs1132429
Copy link

Screenshot 2022-05-04 at 10 55 06 PM

@fs1132429
Copy link

Final presentation :
final_spring.pptx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants