Open rachelwaldon opened 6 months ago
Fixed in commit 9aa8cc663067b. The default gate rotation in the python interface is now set to the rotational frame frequencies (same as in the C++ version). I also removed the warning of missing option, because it reported the wrong default. The default can be overwritten with the option "gate_rot_freq" (list, one float per oscillator), but it is not recommended to do so. Optimization model and target gate should typically be rotated with the same frequencies, so it is advised to stick to the default.
Thanks for finding this bug!
@srkohn
I'm currently using this config file with quandary v4.0 on Ubuntu
when I run with the C++ executable it says it is using the default
gate_rot_freq=1e+20
in the warning.With the default value gate_rot_freq=1e+20 the optimization converges as expected and matches optimization results from quandary v3.0
If I reproduce this configuration with the python interface, I would assume it chooses the same default value for gate_rot_freq but it uses 0.0 and the result is completely different.
The fidelities are different and the optimizer doesn't converge.
It seems from experimentation that gate_rot_freq is an important parameter for the optimization and is affecting whether the optimizer converges. I would like the python interface to expose this to be configurable by the user so I can have more control over the optimization and match the C++ results if I need to for backward compatibility reasons. It is currently hardcoded in the quandary.py file and I am not able to change it or configure it.
Let me know if this is possible thanks!