Auspex
Auspex copied to clipboard
WIP: Parametric Sweeps and DataContainer improvements
This has ballooned into a larger PR:
- Remove adaptive refinement from the sweeper internals — this can be done using external loops with much less agitation.
- Add some general metadata to the AuspexDataContainer format, including a file format version, datestamp, and the possibility of adding arbitrary metadata to the writer. This still needs to be wired up to the experiment class in some useful way.
- Improve the way parametric sweep information is stored in the metadata, and improve the API for performing parametric sweeps.
- Allow general metafile sweeps for QGL recompilation. Example below:
def mf(sigma):
q1.pulse_params["sigma"] = sigma
mf = RabiAmp(q1, np.linspace(-1,1,21))
return mf
exp = QubitExperiment(mf(5e-9), averages=5)
exp.set_fake_data(x6_1, np.linspace(-1, 1, 21), random_mag=0.0)
exp.add_sweep("q1_sigma", np.linspace(1e-9, 10e-9, 10), metafile_func=mf)
exp.run_sweeps()
Unlike before this "q1_sigma" sweep automatically creates a dummy parameter whose value gets passed to the specified metafile_func
.