qiskit-advocate / qamp-spring-22

Qiskit advocate mentorship program (QAMP) spring 22 cohort (Mar - Jun 2022)
13 stars 1 forks source link

VQE optimization with dynamic shot scheduling #2

Closed Cryoris closed 1 year ago

Cryoris commented 2 years ago

Description

The variational quantum eigensolver (VQE) is a near-term suitable algorithm to minimize the expectation value of a quantum mechanical system -- and it has a huge range of applications! In a VQE we select an ansatz circuit, which we can execute well on today's devices, and then tune it's parameters so that the ansatz approaches the ground state of the system as good as possible. This parameter optimization however can be challenging!

In this project, we implement an optimization scheme that promises to use quantum resources more efficiently than our current optimizers. The idea is to adaptive select with how many shots we measure the expectation values and is described in this paper: https://arxiv.org/abs/1909.09083.

Depending on how quickly we finish this first task, we can then decide together in which direction we want to move. Do we want to benchmark this new optimizer and compare it to others? Are there other optimizers we'd like to include? Maybe you even came up with your own idea to improve the VQE!

This project can be worked on by 1-2 persons with some Python knowledge 🙂

Deliverables

A new optimizer or VQE class that is contributed to Qiskit Terra by the end of the project.

Mentors details

Number of mentees

1-2

Type of mentees

asgunzi commented 2 years ago

#2 VQE optimization with dynamic shot scheduling CheckPoint 1 - April 2022 - Arnaldo Gunzi - Julien Gacon.pdf File for checkpoint 1.

asgunzi commented 2 years ago

Checkpoint 2 - VQE optimization with dynamic shot scheduling - May 2022

In this project, the goal is to implement a new optimization method for Qiskit’s VQE algorithm. The algorithm, called ICANS [1], adaptively selects the number of shots in each iteration to reach the target accuracy with minimal number of quantum computational resources.

There are two main deliverables: • iCANS as new subclass of VQE in Qiskit • Tutorial on the new optimizer

Main idea of the algorithm In the current near-term quantum era we face a trade-off: • Accurate estimations require many shots due to noisy evaluations, but • shots are expensive in a real quantum computer!

The idea of Küber et al. [1] is to implement a strategy that adapt the number of shots with respect to the currently measured noise. If the noise is high, we increase the number of shots but if it is small we can save resources and perform less shots to estimate an expectation value. Since measuring the noise is difficult, we instead use the variance of the expectation value as a proxy.

checkpoint01

According to Ref. [1] this method is the most efficient optimization technique to calculate ground states with the VQE.

Current Work

The project follows broadly the timeline below.

The initial stage, of understanding and revision of papers, is done.

checkpoint02

I also did a preliminary implementation of iCans, modelling a VQE problem, in Qiskit. A comparison of results against a pure gradient method, as one example below.

checkpoint03

• Currently, I’m studying how to write this dynamic shots optimization method as a VQE subclass in Qiskit.

Next steps

Team Mentee: Arnaldo Gunzi, @asgunzi, Brazil Mentor: Julien Gacon, @Cryoris, Germany / Swiss

References [1] An Adaptive Optimizer for Measurement-Frugal Variational Algorithms. Jonas M. Kübler, Andrew Arrasmith, Lukasz Cincio, Patrick J. Coles https://arxiv.org/abs/1909.09083.

asgunzi commented 2 years ago

#2 VQE Optimization with dynamic shots Jun 2022 - Arnaldo Gunzi - Julien Gacon.pdf Final showcase pdf file.