Closed cnktysz closed 3 years ago
Hi @cnktysz
I was looking first at your notebook. Calculation time is effectively reduced. However the solutions found don't seems to match the stop criterion and can be very different than with the original classifier. When looking at your code in ora.py, I see that your termination criterion is:
if flag==0 and error_rate < epsilon:
while for assuring error < epsilon for any studied state, I defined safe_rate as the max error rate across all states (see from line 55), with termination criterion:
if safe_rate <= epsilon: break
IMO, that's probably why the results are divergent
It would also be better to adapt the y scale of the graphic.
I updated the safe_rate constraints. Now it is very similar to yours. There are still discrepancies but that might be due to low statistics as well.
OK. I shall merge the pull request. I don't understand all the details of the modifications, but we can examine that later. Your notebook will then be renamed 2.2... because I deleted 1_2 (now in the GitHub blog in a revised form) and renamed the old 2.2... to 1.2...
This commit adds a new optimizer to
ora.py
and compares it with the old optimizer in a new notebook called2_3_qiskit-quantum-state-classifier-new-optimizer.ipynb
.