def MBI_fidelity(name): m = BSM.ElectronRabiMsmt(name) # BSM.ElectronRabiMsmt(name) BSM.prepare(m) leftline = m.params['AWG_MBI_MW_pulse_mod_frq'] HF = 2.19290e6 m.params['AWG_MBI_MW_pulse_mod_frq'] = leftline pts = 4 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params['MW_pulse_delays'] = np.ones(pts) * 100e-9 # MW pulses m.params['MW_pulse_durations'] = np.ones(pts) * 2800e-9 m.params['MW_pulse_amps'] = np.array([0.0213, 0.0218, 0.0218, 0.0218]) * 0 m.params['MW_pulse_mod_frqs'] = np.array([leftline, leftline + HF, leftline + 2*HF, leftline + 3*HF]) # for the autoanalysis m.params['sweep_name'] = 'MW mod frq (MHz)' m.params['sweep_pts'] = m.params['MW_pulse_mod_frqs'] BSM.finish(m, debug=False)
def MBI_fidelity(name): m = BSM.ElectronRabiMsmt(name) # BSM.ElectronRabiMsmt(name) BSM.prepare(m) leftline = m.params['AWG_MBI_MW_pulse_mod_frq'] HF = 2.19290e6 m.params['AWG_MBI_MW_pulse_mod_frq'] = leftline pts = 4 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params['MW_pulse_delays'] = np.ones(pts) * 100e-9 # MW pulses m.params['MW_pulse_durations'] = np.ones(pts) * 2800e-9 m.params['MW_pulse_amps'] = np.array([0.0213, 0.0218, 0.0218, 0.0218]) * 0 m.params['MW_pulse_mod_frqs'] = np.array( [leftline, leftline + HF, leftline + 2 * HF, leftline + 3 * HF]) # for the autoanalysis m.params['sweep_name'] = 'MW mod frq (MHz)' m.params['sweep_pts'] = m.params['MW_pulse_mod_frqs'] BSM.finish(m, debug=False)
def tomo_debug(): m = TomoDebug('debug') BSM.prepare(m) m.params['reps_per_ROsequence'] = 1000 m.params['pts'] = 3 # must be 3 for any N-tomography msmt BSM.finish(m, debug=False)
def hadamard_tomo(name): m = HadamardTomo(name) BSM.prepare(m) m.params['reps_per_ROsequence'] = 1000 m.params['pts'] = 3 # must be 3 for any N-tomography msmt BSM.finish(m, debug=False, upload=True)
def phase_check(name): m = NPhaseCheck(name) BSM.prepare(m) m.params['reps_per_ROsequence'] = 1000 m.params['phases'] = np.array([0, 180, 90]) m.params['pts'] = len(m.params['phases']) # for the autoanalysis m.params['sweep_name'] = 'second pi2 phase (deg)' m.params['sweep_pts'] = m.params['phases'] BSM.finish(m, debug=False)
def phase_check(name): m = NPhaseCheck(name) BSM.prepare(m) m.params['reps_per_ROsequence'] = 1000 m.params['phases'] = np.array([0,180,90]) m.params['pts'] = len(m.params['phases']) # for the autoanalysis m.params['sweep_name'] = 'second pi2 phase (deg)' m.params['sweep_pts'] = m.params['phases'] BSM.finish(m, debug=False)
def H_phase_sweep(name): m = HadamardPhaseSweep(name) BSM.prepare(m) m.params['reps_per_ROsequence'] = 1000 m.params['phases'] = np.linspace(0, 360, 9) m.params['pts'] = len(m.params['phases']) m.params['N_rabi_frequency'] = 5.532e3 # for the autoanalysis m.params['sweep_name'] = 'second pi2 phase (deg)' m.params['sweep_pts'] = m.params['phases'] BSM.finish(m, debug=False, upload=False)
def run_CORPSE_echo_phase_sweep(name): m = CORPSEEchoPhaseSweep(name) BSM.prepare(m) phases = np.linspace(0,360,25) pts = len(phases) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['delay'] = 50.9e-6 m.params['phases'] = phases # for the autoanalysis m.params['sweep_name'] = 'CORPSE relative phase shift (deg)' m.params['sweep_pts'] = phases BSM.finish(m, debug=False)
def run_CORPSE_echo_phase_sweep(name): m = CORPSEEchoPhaseSweep(name) BSM.prepare(m) phases = np.linspace(0, 360, 25) pts = len(phases) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['delay'] = 50.9e-6 m.params['phases'] = phases # for the autoanalysis m.params['sweep_name'] = 'CORPSE relative phase shift (deg)' m.params['sweep_pts'] = phases BSM.finish(m, debug=False)
def echo_phase_sweep(name): m = Echo('_PhaseSweep_{}'.format(name)) BSM.prepare(m) phases = np.linspace(0,360,25) # reps = np.arange(1, 12, 2) pts = len(phases) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['delay_repetitions'] = np.ones(pts) * 51 m.params['second_pi2_phases'] = phases # for the autoanalysis m.params['sweep_name'] = 'Phase of second pi-pulse (deg)' m.params['sweep_pts'] = m.params['second_pi2_phases'] BSM.finish(m, debug=False)
def pi_position_sweep(name): m = EchoSweepPiPosition(name) BSM.prepare(m) m.params['2tau'] = 3000e-9 shifts = np.linspace(-500e-9, 500e-9, 21) pts = len(shifts) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 2500 # m.params['CORPSE_pi_phase_shift'] = 65.2 m.params['pi_position_shifts'] = shifts # for the autoanalysis m.params['sweep_name'] = 'position shift of the pi-pulse (ns)' m.params['sweep_pts'] = shifts * 1e9 BSM.finish(m, debug=False, upload=True)
def echo_phase_sweep(name): m = Echo('_PhaseSweep_{}'.format(name)) BSM.prepare(m) phases = np.linspace(0, 360, 25) # reps = np.arange(1, 12, 2) pts = len(phases) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['delay_repetitions'] = np.ones(pts) * 51 m.params['second_pi2_phases'] = phases # for the autoanalysis m.params['sweep_name'] = 'Phase of second pi-pulse (deg)' m.params['sweep_pts'] = m.params['second_pi2_phases'] BSM.finish(m, debug=False)
def echo_delay_sweep(name): m = Echo('_DelaySweep_{}'.format(name)) BSM.prepare(m) reps = np.arange(30,72,2) # reps = np.arange(1, 12, 2) pts = len(reps) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['delay_repetitions'] = reps m.params['second_pi2_phases'] = zeros(pts) # for the autoanalysis m.params['sweep_name'] = 'Interpulse delay (us)' m.params['sweep_pts'] = m.params['delay_repetitions'] BSM.finish(m, debug=False)
def echo_delay_sweep(name): m = Echo('_DelaySweep_{}'.format(name)) BSM.prepare(m) reps = np.arange(30, 72, 2) # reps = np.arange(1, 12, 2) pts = len(reps) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['delay_repetitions'] = reps m.params['second_pi2_phases'] = zeros(pts) # for the autoanalysis m.params['sweep_name'] = 'Interpulse delay (us)' m.params['sweep_pts'] = m.params['delay_repetitions'] BSM.finish(m, debug=False)
def N_rabi(name): m = NRabi(name) # BSM.ElectronRabiMsmt(name) BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['RF_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params['RF_pulse_delays'] = np.ones(pts) * 1e-6 # MW pulses m.params['RF_pulse_durations'] = np.linspace(1e-6, 181e-6, pts) m.params['RF_pulse_amps'] = np.ones(pts) * 1 m.params['RF_pulse_frqs'] = np.ones(pts) * m.params['N_0-1_splitting_ms-1'] # for the autoanalysis m.params['sweep_name'] = 'RF duration (us)' m.params['sweep_pts'] = m.params['RF_pulse_durations'] * 1e6 BSM.finish(m, debug=False)
def run_nmr_rabi(name): m = BSM.NRabiMsmt('Nuclear_rabi_' + name) # BSM.ElectronRabiMsmt(name) BSM.prepare(m) pts = 26 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['RF_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params['RF_pulse_delays'] = np.ones(pts) * 1e-6 # MW pulses m.params['RF_pulse_durations'] = np.linspace(1e-6, 361e-6, pts) m.params['RF_pulse_amps'] = np.ones(pts) * 1 m.params['RF_pulse_frqs'] = np.ones(pts) + m.params['N_0-1_splitting_ms-1'] # for the autoanalysis m.params['sweep_name'] = 'RF duration (us)' m.params['sweep_pts'] = m.params['RF_pulse_durations'] * 1e6 BSM.finish(m, debug=False)
def run_N_uncond_rot_calib(name): m = NitrogenUnconditonalRotationCalib(name) BSM.prepare(m) delays = 51.1e-6 + np.linspace(-0.5e-6, 0.5e-6, 17) pts = len(delays) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 # DEBUG # m.params['CORPSE_pi_amp'] = 0. m.params['CORPSE_pi_phase_shift'] = 65.2 m.params['delays'] = delays # for the autoanalysis m.params['sweep_name'] = 'Interpulse delay (us)' m.params['sweep_pts'] = delays * 1e6 BSM.finish(m, debug=False)
def run_NUrot_vs_timing(name): m = NitrogenURotVsTiming(name) BSM.prepare(m) delays = 50.9e-6 + np.linspace(-0.5e-6, 0.5e-6, 26) # DEBUG # m.params['N_pi2_amp'] = 0 pts = len(delays) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['CORPSE_pi_phase_shift'] = 65.2 m.params['CORPSE_pi_phase_shifts'] = \ np.ones(pts) * m.params['CORPSE_pi_phase_shift'] m.params['e_delays'] = delays # for the autoanalysis m.params['sweep_name'] = 'Interpulse delay (us)' m.params['sweep_pts'] = delays * 1e6 BSM.finish(m, debug=True)