At last, I finished my project, “VQE optimization with dynamic shot scheduling”, in the Qiskit Mentorship Program 2022!
Here, some conclusions and tips for those who want to learn a lot in the raising field of Quantum Computing.
What is Qiskit and what is the Advocate Program?
Qiskit is the IBM programming language for Quantum Computing.
The Qiskit Mentorship Program is an initiative of IBM, to match Qiskit Advocates enthusiasts and IBM Quantum specialists, to increase contributions / participation in this small community of aficionados.
It is a great chance to learn a bit more about Quantum Computing, also to do a small contribution to the community.
About the prerequisites:
A prerequisite is to be a Qiskit Advocate. To be an advocate, the first step is to pass a test on Qiskit language, the IBM Certified Associate Developer. It also requires contributions in this field (a paper, or articles).
After that, you can apply to the Qiskit Advocate program. There is a yearly process to that. Once approved, you will be part of an exclusive group, and eligible to the Mentorship Program.
About the mentorship program and timeline of the project
There are two mentorship programs per year.
My application began in February 2022, with a list of projects suggested by mentors and necessary skills.
There are several themes, including tutorials, optimization, quantum machine learning and so on. The advocates can candidate to work in the projects, and, if they are accepted, the match is made. It is possible to have groups of advocates working together in the project.
A list of projects for QAMP can be consulted at .
From official kickoff to final showcase, we have three months to deliver the project, with the help of the mentor. In my case, my mentor was Julien Gacon, from Germany, currently working at IBM Swiss.
There are two intermediary checkpoints, first a kick meeting to show the status of the works, and the second, a written report.
I did a weekly meeting with the mentor, using Zoom. Besides, chat and exchange of information via Slack platform. In today’s world, we have several tools that makes it very easy to work with anyone around the world.
About the project: “VQE optimization with dynamic shot scheduling”
Despite the confusing name, the idea is not so strange for those who know a bit of optimization.
Let’s go bit by bit (or qubit by qubit).
In current near term quantum era, variational algorithms (like VQE — Variational Quantum Eigensolver) can be very useful. Those are hybrid classical-quantum: one part of the circuit is quantum (the encoded problem), and another part is classical (the parameters that minimize the output of the circuit).
There are applications of VQE in the simulation of chemical molecules, for example.
In current quantum era, those are problems in VQE like circuits:
– Shots (evaluations of the circuit) are expensive in a real quantum computer
– Noise is a problem
There are several possible approaches to maximize performance:
– Choosing better Ansatz (circuits that represent the problem)
– Changing how to choose the cost function
– Use and tuning of several gradient and non-gradient methods
In the case of my project, we used a strategy that adapts the number of shots. In general terms, more noise, more shots are necessary.
The method is based on the paper of Kubler at al. , where he cites adaptive shots is the most efficient optimizer, looking at the total number of shots. The algorithm has the name ICANS (individual Coupled Adaptive Number of Shots).
How to measure the noise? A proxy for noise is the variance of results of shots. The bigger the variance, the bigger the noise, and then, more shots are necessary, in next round of optimization.
This method estimates the number of shots per round, also per partial derivative of the gradient.
I hope now the title of the work is clearer: VQE optimization (the hybrid quantum classical circuit) with dynamic shot scheduling (different shots per round per partial derivative, more noise more shots).
The tests we made, based on benchmarks against Gradient Descent and SPSA, confirmed results of reference papers.
As a deliverable, I wrote a code in Qiskit, with iCANS as new subclass of VQE. I opened a pull request on Github, to incorporate this code in Qiskit. It was my first contribution in an open source project.
In the end of the program, IBM kindly offers a certified badge for those who completed all the steps of the program:
I hope this little description of the program could clarify some questions and inspire more people to join us in this beautiful journey.
Quantum computing is a promising field. According to McKinsey: “Big pharma could apply quantum computing to protein structure and interactions, an opportunity worth $200 billion. Telecoms could use it to optimize their capital spending, worth a potential $50 billion to $70 billion.” 
Thanks, IBM, for the opportunity and my mentor Julien Gacon for the patience and dedication.
By Arnaldo Gunzi, Project Manager on Advanced Analytics, AI and Quantum Computing, in a big paper & pulp industry in Brazil.
Follow me on LinkedIn: https://www.linkedin.com/in/arnaldogunzi/
 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.