Closed wjkaufman closed 3 years ago
After some debugging, it seems like the Hsys_ensemble and pulses_ensemble objects are being created identically, so I don't think that's the source of the problem. Could be in how propagators are being calculated? But I doubt it, because comparing fidelity calculations from get_reward
(using stored propagators) and get_mean_fidelity
(recalculating propagators from scratch using pulses_ensemble) gave the same results in debugging.
Doesn't resolve previous issues, but I could save the QuTiP objects from each process, so at least I can verify after the fact that it's somewhat accurate? Or even save CS/dipolar coupling matrix, then recreate from there.
Found the bug! For each PulseSequenceConfig
object, the rotation error was not sampled for each system in the ensemble. Instead, a single rotation error was applied to all systems in the ensemble. So the high-performing pulse sequences were normally from ensembles with very small rotation error. Will link the commit that fixes it shortly.
Fixed with 96b2349226762d63a91e9b1daeb2d853ee6ac370.
When running jobs on discovery, the candidate pulse sequences report higher fidelities than what I calculate on my laptop to re-check the sequences. Possible sources of error: