Closed Cryoris closed 1 year ago
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.
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.
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.
• 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.
#2 VQE Optimization with dynamic shots Jun 2022 - Arnaldo Gunzi - Julien Gacon.pdf Final showcase pdf file.
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