def bsm_calibrate_UNROT_X_timing_small_range(name): m = BSM_sequences.TheRealBSM('Calibrate_UNROT_X_timing_small_range'+name) BSM_sequences.prepare(m) pts = 11 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['evolution_times'] = 52.5e-6 + np.linspace(-50e-9,50e-9,pts) m.calibrate_UNROT_X_timing(eigenstate='-1') # for the autoanalysis m.params['sweep_name'] = 'evolution time (us)' m.params['sweep_pts'] = m.params['evolution_times'] * 1e6 BSM_sequences.finish(m, debug=False, upload=True)
def bsm_calibrate_UNROT_X_timing_small_range(name): m = BSM_sequences.TheRealBSM('Calibrate_UNROT_X_timing_small_range' + name) BSM_sequences.prepare(m) pts = 11 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['evolution_times'] = 52.5e-6 + np.linspace(-50e-9, 50e-9, pts) m.calibrate_UNROT_X_timing(eigenstate='-1') # for the autoanalysis m.params['sweep_name'] = 'evolution time (us)' m.params['sweep_pts'] = m.params['evolution_times'] * 1e6 BSM_sequences.finish(m, debug=False, upload=True)
def bsm_calibrate_interpulsedelay(name): m = BSM_sequences.TheRealBSM('CalibrateCORPSEInterpulsedelay'+name) BSM_sequences.prepare(m) pts = 16 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params_lt1['CORPSE_pi_phase_shifts'] = np.ones(pts) * m.params_lt1['CORPSE_pi_phase_shift'] m.params_lt1['interpulse_delays'] = 52.5e-6 + np.linspace(-10e-6, 10e-6, pts) #this is the C13 revival, m.calibrate_CORPSE_pi_phase_shift_or_e_time() # for the autoanalysis m.params_lt1['sweep_name'] = 'CORPSE interpulse delay (us)' m.params_lt1['sweep_pts'] = m.params_lt1['interpulse_delays'] * 1e6 BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_calibrate_CORPSE_pi_phase_shift_small_range(name): m = BSM_sequences.TheRealBSM('CalibrateCORPSEPiPhase_small_range'+name) BSM_sequences.prepare(m) pts = 9 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params_lt1['CORPSE_pi_phase_shifts'] = 107 + np.linspace(-40,40,pts) m.params_lt1['interpulse_delays'] = np.ones(pts) * 52.5e-6 #this is the C13 revival, #but do not need an accurate number for this calibration m.calibrate_CORPSE_pi_phase_shift_or_e_time() # for the autoanalysis m.params_lt1['sweep_name'] = 'CORPSE relative phase shift (deg)' m.params_lt1['sweep_pts'] = m.params_lt1['CORPSE_pi_phase_shifts'] BSM_sequences.finish(m, debug=False, upload=True)
def bsm_test_phi_contrast(name): m = BSM_sequences.TheRealBSM('TestBSM_PhiContrast_' + name) BSM_sequences.prepare(m) m.repetitive_readout = True m.params_lt1['N_RO_repetitions'] = 2 pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['H_phases'] = np.linspace(0, 360, pts) m.params_lt1['sweep_name'] = 'H phase' m.params_lt1['sweep_pts'] = m.params_lt1['H_phases'] m.test_BSM_contrast(bs='phi') BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_BSM_with_LDE_superposition_in_calibrate_echo_time(name): m = BSM_sequences.TheRealBSM('TestBSM_LDE_calibrate_echo'+name) BSM_sequences.prepare(m) pts = 16 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['repump_after_MBI_amplitude'] = 0. #SP is in LDE element!! :) # sweep pts m.params_lt1['echo_times_after_LDE'] = np.linspace(-2e-6,2e-6,pts) m.params_lt1['sweep_name'] = 'echo times after LDE' m.params_lt1['sweep_pts'] = m.params_lt1['echo_times_after_LDE'] /1e-9 m.test_BSM_with_LDE_element_calibrate_echo_time(basis='-Z') BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_BSM_with_LDE_superposition_in_calibrate_echo_time(name): m = BSM_sequences.TheRealBSM('TestBSM_LDE_calibrate_echo' + name) BSM_sequences.prepare(m) pts = 16 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['repump_after_MBI_amplitude'] = 0. #SP is in LDE element!! :) # sweep pts m.params_lt1['echo_times_after_LDE'] = np.linspace(-2e-6, 2e-6, pts) m.params_lt1['sweep_name'] = 'echo times after LDE' m.params_lt1['sweep_pts'] = m.params_lt1['echo_times_after_LDE'] / 1e-9 m.test_BSM_with_LDE_element_calibrate_echo_time(basis='-Z') BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_calibrate_CORPSE_pi_phase_shift_small_range(name): m = BSM_sequences.TheRealBSM('CalibrateCORPSEPiPhase_small_range' + name) BSM_sequences.prepare(m) pts = 9 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params_lt1['CORPSE_pi_phase_shifts'] = 107 + np.linspace(-40, 40, pts) m.params_lt1['interpulse_delays'] = np.ones( pts) * 52.5e-6 #this is the C13 revival, #but do not need an accurate number for this calibration m.calibrate_CORPSE_pi_phase_shift_or_e_time() # for the autoanalysis m.params_lt1['sweep_name'] = 'CORPSE relative phase shift (deg)' m.params_lt1['sweep_pts'] = m.params_lt1['CORPSE_pi_phase_shifts'] BSM_sequences.finish(m, debug=False, upload=True)
def bsm_calibrate_interpulsedelay(name): m = BSM_sequences.TheRealBSM('CalibrateCORPSEInterpulsedelay' + name) BSM_sequences.prepare(m) pts = 16 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params_lt1['CORPSE_pi_phase_shifts'] = np.ones( pts) * m.params_lt1['CORPSE_pi_phase_shift'] m.params_lt1['interpulse_delays'] = 52.5e-6 + np.linspace( -10e-6, 10e-6, pts) #this is the C13 revival, m.calibrate_CORPSE_pi_phase_shift_or_e_time() # for the autoanalysis m.params_lt1['sweep_name'] = 'CORPSE interpulse delay (us)' m.params_lt1['sweep_pts'] = m.params_lt1['interpulse_delays'] * 1e6 BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_phi_contrast(name): m = BSM_sequences.TheRealBSM('TestBSM_PhiContrast_'+name) BSM_sequences.prepare(m) m.repetitive_readout = True m.params_lt1['N_RO_repetitions'] = 2 pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['H_phases'] = np.linspace(0,360,pts) m.params_lt1['sweep_name'] = 'H phase' m.params_lt1['sweep_pts'] = m.params_lt1['H_phases'] m.test_BSM_contrast(bs='phi') BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def run_nmr_rabi(name): m = BSM_sequences.NRabiMsmt('Nuclear_rabi_'+name) # BSM.ElectronRabiMsmt(name) BSM_sequences.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['RF_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params_lt1['RF_pulse_delays'] = np.ones(pts) * 1e-6 # MW pulses m.params_lt1['RF_pulse_durations'] = np.linspace(1e-6, 201e-6, pts) m.params_lt1['RF_pulse_amps'] = np.ones(pts) * .55 m.params_lt1['RF_pulse_frqs'] = np.ones(pts) * m.params_lt1['N_0-1_splitting_ms-1'] # for the autoanalysis m.params_lt1['sweep_name'] = 'RF duration (us)' m.params_lt1['sweep_pts'] = m.params_lt1['RF_pulse_durations'] * 1e6 BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_BSM_with_LDE_superposition_in_sweep_H_ev_time(name): m = BSM_sequences.TheRealBSM('TestBSM_LDE_calibrate_H_ev_time_' + name) BSM_sequences.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 2000 m.params_lt1['repump_after_MBI_amplitude'] = 0. #SP is in LDE element!! :) #H evolution time should be more than N pi/2 pulse duration = 28e-6 m.params_lt1['H_evolution_times'] = 35.1e-6 + np.linspace( -200e-9, 300e-9, pts) m.params_lt1['H_phases'] = np.ones(pts) * m.params_lt1['H_phase'] m.params_lt1['sweep_name'] = 'H evolution times' m.params_lt1['sweep_pts'] = m.params_lt1['H_evolution_times'] * 1e6 m.test_BSM_with_LDE_element_superposition_in() BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def run_nmr_frq_scan(name): m = BSM_sequences.NRabiMsmt('NMR_frq_scan_'+name) # BSM.ElectronRabiMsmt(name) BSM_sequences.prepare(m) pts = 21 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['RF_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params_lt1['RF_pulse_delays'] = np.ones(pts) * 1e-6 # MW pulses m.params_lt1['RF_pulse_durations'] = np.ones(pts) * 70e-6 m.params_lt1['RF_pulse_amps'] = np.ones(pts) * 1 m.params_lt1['RF_pulse_frqs'] = np.linspace(7.12e6, 7.15e6, pts) # for the autoanalysis m.params_lt1['sweep_name'] = 'RF frequency (MHz)' m.params_lt1['sweep_pts'] = m.params_lt1['RF_pulse_frqs'] * 1e-6 BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_BSM_with_LDE_superposition_in_sweep_H_ev_time(name): m = BSM_sequences.TheRealBSM('TestBSM_LDE_calibrate_H_ev_time_'+name) BSM_sequences.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['repump_after_MBI_amplitude'] = 0. #SP is in LDE element!! :) #H evolution time should be more than N pi/2 pulse duration = 28e-6 m.params_lt1['H_evolution_times'] = 35.1e-6 + np.linspace(-200e-9,300e-9,pts) m.params_lt1['H_phases'] = np.ones(pts) * m.params_lt1['H_phase'] m.params_lt1['sweep_name'] = 'H evolution times' m.params_lt1['sweep_pts'] = m.params_lt1['H_evolution_times'] * 1e6 m.test_BSM_with_LDE_element_superposition_in() BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def run_nmr_frq_scan(name): m = BSM_sequences.NRabiMsmt('NMR_frq_scan_' + name) # BSM.ElectronRabiMsmt(name) BSM_sequences.prepare(m) pts = 21 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['RF_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params_lt1['RF_pulse_delays'] = np.ones(pts) * 1e-6 # MW pulses m.params_lt1['RF_pulse_durations'] = np.ones(pts) * 70e-6 m.params_lt1['RF_pulse_amps'] = np.ones(pts) * 1 m.params_lt1['RF_pulse_frqs'] = np.linspace(7.12e6, 7.15e6, pts) # for the autoanalysis m.params_lt1['sweep_name'] = 'RF frequency (MHz)' m.params_lt1['sweep_pts'] = m.params_lt1['RF_pulse_frqs'] * 1e-6 BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_BSM_with_LDE_superposition_in_sweep_H_phase(name): m = BSM_sequences.TheRealBSM('TestBSM_LDE_calibrate_H_phase_'+name) BSM_sequences.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['repump_after_MBI_amplitude'] = 0. #SP is in LDE element!! :) # a random value (but more than N pi2 pulse duration) for H ev times # does not influence calibrated H phase from psi+-. #H evolution time should be more than N pi/2 pulse duration = 28e-6 m.params_lt1['H_evolution_times'] = np.ones(pts) * 35e-6 #np.ones(pts) * m.params_lt1['pi2_evolution_time'] m.params_lt1['H_phases'] = np.linspace(0,360,pts) m.params_lt1['sweep_name'] = 'CORPSE-UNROT-H phase' m.params_lt1['sweep_pts'] = m.params_lt1['H_phases'] m.test_BSM_with_LDE_element_superposition_in() BSM_sequences.finish(m, debug=False, upload=True)
def run_nmr_rabi(name): m = BSM_sequences.NRabiMsmt('Nuclear_rabi_' + name) # BSM.ElectronRabiMsmt(name) BSM_sequences.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['RF_pulse_multiplicities'] = np.ones(pts).astype(int) * 1 m.params_lt1['RF_pulse_delays'] = np.ones(pts) * 1e-6 # MW pulses m.params_lt1['RF_pulse_durations'] = np.linspace(1e-6, 201e-6, pts) m.params_lt1['RF_pulse_amps'] = np.ones(pts) * .55 m.params_lt1['RF_pulse_frqs'] = np.ones( pts) * m.params_lt1['N_0-1_splitting_ms-1'] # for the autoanalysis m.params_lt1['sweep_name'] = 'RF duration (us)' m.params_lt1['sweep_pts'] = m.params_lt1['RF_pulse_durations'] * 1e6 BSM_sequences.finish(m, debug=False, upload=UPLOAD)
def bsm_test_BSM_with_LDE_superposition_in_sweep_H_phase(name): m = BSM_sequences.TheRealBSM('TestBSM_LDE_calibrate_H_phase_' + name) BSM_sequences.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params_lt1['repump_after_MBI_amplitude'] = 0. #SP is in LDE element!! :) # a random value (but more than N pi2 pulse duration) for H ev times # does not influence calibrated H phase from psi+-. #H evolution time should be more than N pi/2 pulse duration = 28e-6 m.params_lt1['H_evolution_times'] = np.ones( pts) * 35e-6 #np.ones(pts) * m.params_lt1['pi2_evolution_time'] m.params_lt1['H_phases'] = np.linspace(0, 360, pts) m.params_lt1['sweep_name'] = 'CORPSE-UNROT-H phase' m.params_lt1['sweep_pts'] = m.params_lt1['H_phases'] m.test_BSM_with_LDE_element_superposition_in() BSM_sequences.finish(m, debug=False, upload=True)