def CNOT_phase_check_sweep_CNOT_phase(): m = CNOTPhaseCheckSweepCNOTphase('CNOT_phase') BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['CNOT_phase'] = np.linspace(0,360,pts) # for the autoanalysis m.params['sweep_name'] = 'first CNOT phase' m.params['sweep_pts'] = m.params['CNOT_phase'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check_sweep_time(): m = CNOTPhaseCheckSweepTime('CNOT_to_pi2') BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['CNOT_to_pi2_time'] = np.linspace(150e-9, 250e-9, pts) # for the autoanalysis m.params['sweep_name'] = 'second_CNOT_to_pi2_time' m.params['sweep_pts'] = m.params['CNOT_to_pi2_time'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check_sweep_time(): m = CNOTPhaseCheckSweepTime('CNOT_to_pi2') BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['CNOT_to_pi2_time'] = np.linspace(150e-9,250e-9,pts) # for the autoanalysis m.params['sweep_name'] = 'second_CNOT_to_pi2_time' m.params['sweep_pts'] = m.params['CNOT_to_pi2_time'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check_sweep_CNOT_phase(): m = CNOTPhaseCheckSweepCNOTphase('CNOT_phase') BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['CNOT_phase'] = np.linspace(0, 360, pts) # for the autoanalysis m.params['sweep_name'] = 'first CNOT phase' m.params['sweep_pts'] = m.params['CNOT_phase'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check(): m = CNOTPhaseCheck('2_times_CNOT') BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['multiplicity'] = 2 #number of CNOT pulses m.params['analysis_phases'] = np.linspace(0, 360, pts) # for the autoanalysis m.params['sweep_name'] = 'second pi/2 phase' m.params['sweep_pts'] = m.params['analysis_phases'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check_mI0_both_pi2_phases(): m = CNOTPhaseCheckmI0BothPi2Phases('mI0_pi2_phases_sweep_both') BSM.prepare(m) pts = 16 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['analysis_phases'] = - 62 + np.linspace(0,360,pts) m.params['prepare_phases'] = - m.params['analysis_phases'] # for the autoanalysis m.params['sweep_name'] = 'second pi/2 phase' m.params['sweep_pts'] = m.params['analysis_phases'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check(): m = CNOTPhaseCheck('2_times_CNOT') BSM.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['multiplicity'] = 2 #number of CNOT pulses m.params['analysis_phases'] = np.linspace(0,360,pts) # for the autoanalysis m.params['sweep_name'] = 'second pi/2 phase' m.params['sweep_pts'] = m.params['analysis_phases'] funcs.finish(m, debug=False, upload=True)
def CNOT_phase_check_mI0_both_pi2_phases(): m = CNOTPhaseCheckmI0BothPi2Phases('mI0_pi2_phases_sweep_both') BSM.prepare(m) pts = 16 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # MW pulses m.params['analysis_phases'] = -62 + np.linspace(0, 360, pts) m.params['prepare_phases'] = -m.params['analysis_phases'] # for the autoanalysis m.params['sweep_name'] = 'second pi/2 phase' m.params['sweep_pts'] = m.params['analysis_phases'] funcs.finish(m, debug=False, upload=True)
def sweep_amplitude(name): m = CORPSEPiCalibration(name) funcs.prepare(m) pts = 11 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 # sweep params m.params['CORPSE_pi_sweep_amps'] = np.linspace(0.6, 0.8, pts) m.params['multiplicity'] = 11 m.params['delay_reps'] = 15 # for the autoanalysis m.params['sweep_name'] = 'CORPSE amplitude (V)' m.params['sweep_pts'] = m.params['CORPSE_pi_sweep_amps'] funcs.finish(m, debug=False)
def do_N_FT_Polarisation_check(): m = N_FT_Polarisation_Check('pulsed') BSM.prepare(m,yellow=True) #preparation line: m.params['init_line'] = '-1' #readout pulse line: m.params['readout_line']='-1' m.name=m.name+'_init_'+ m.params['init_line']+'_ro_'+m.params['readout_line'] m.params['FT_element_repetitions'] = np.array([1,1000,2000,3000,4000]) pts = len(m.params['FT_element_repetitions']) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['sp_duration'] = 20e-6 m.params['FT_pulse_power']=100e-9 m.params['FT_pulse_amp']=\ m.A_aom.power_to_voltage(m.params['FT_pulse_power'], controller='sec') m.params['yellow_pulse_power'] = 50e-9 m.params['yellow_pulse_amp'] =\ m.yellow_aom.power_to_voltage(m.params['yellow_pulse_power'], controller='sec') # for the autoanalysis m.params['sweep_name'] = 'FT_element_repetitions' m.params['sweep_pts'] = m.params['FT_element_repetitions'] if m.params['init_line'] == '-1': m.params['AWG_MBI_MW_pulse_mod_frq']=m.params['mIm1_mod_frq'] #ms=-1 elif m.params['init_line'] == '0': m.params['AWG_MBI_MW_pulse_mod_frq']=m.params['mI0_mod_frq'] #ms=0 elif m.params['init_line'] == '+1': m.params['AWG_MBI_MW_pulse_mod_frq']=m.params['mIp1_mod_frq']#ms=+1 print 'dont use this --> CORPSE is bad for +1' else: raise(Exception('Unknown init line' + str(m.params['init_line']))) funcs.finish(m, debug=False, upload=True)
def cal_4mhz_rabi(name): m = pulsar_mbi_espin.ElectronRabi('cal_4mhz_rabi'+name) funcs.prepare(m) pts = 21 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) m.params['MW_pulse_delays'] = np.ones(pts) * 20e-9 # MW pulses m.params['MW_pulse_durations'] = np.linspace(0,500e-9,pts) + 5e-9 m.params['MW_pulse_amps'] = np.ones(pts) * 0.7 m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] # for the autoanalysis m.params['sweep_name'] = 'MW pulse duration (ns)' m.params['sweep_pts'] = m.params['MW_pulse_durations'] * 1e9 funcs.finish(m)
def run(name): m = pulsar_mbi_espin.ElectronRabi(name) funcs.prepare(m) pts = 17 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) m.params['MW_pulse_delays'] = np.ones(pts) * 2000e-9 # MW pulses m.params['MW_pulse_durations'] = np.linspace(0, 1500e-9, pts) + 5e-9 m.params['MW_pulse_amps'] = np.ones(pts) * 0.166 m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] # for the autoanalysis m.params['sweep_name'] = 'MW pulse duration (ns)' m.params['sweep_pts'] = m.params['MW_pulse_durations'] * 1e9 funcs.finish(m, debug=True)
def cal_slow_pi(name): m = pulsar_mbi_espin.ElectronRabi('cal_slow_pi_'+name) funcs.prepare(m) # measurement settings pts = 11 m.params['reps_per_ROsequence'] = 500 m.params['pts'] = pts m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) m.params['MW_pulse_delays'] = np.ones(pts) * 1e-9 # slow pi pulses m.params['MW_pulse_durations'] = np.linspace(0,5e-6,pts) + 5e-9 m.params['MW_pulse_amps'] = np.ones(pts) * 0.03 m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] # for the autoanalysis m.params['sweep_name'] = 'MW pulse duration (ns)' m.params['sweep_pts'] = m.params['MW_pulse_durations'] * 1e9 funcs.finish(m)
def cal_pi2pi_pi_len(name, mult=1): m = pulsar_mbi_espin.ElectronRabiSplitMultElements( 'cal_pi2pi_pi_len_'+name+'_M=%d' % mult) funcs.prepare(m) # measurement settings pts = 11 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) * mult m.params['MW_pulse_delays'] = np.ones(pts) * 15e-6 # hard pi pulses m.params['MW_pulse_durations'] = 1e-9 * (np.linspace(-50,50,pts).astype(int) + 395) m.params['MW_pulse_amps'] = np.ones(pts)*0.137 m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['f0'] # for the autoanalysis m.params['sweep_name'] = 'MW pulse length (s)' m.params['sweep_pts'] = m.params['MW_pulse_durations'] funcs.finish(m)
def cal_4mhz_pi2(name, mult=1): m = pulsar_mbi_espin.ElectronRabi( 'cal_4MHz_pi_over_2_'+name+'_M=%d' % mult) funcs.prepare(m) # measurement settings pts = 11 m.params['reps_per_ROsequence'] = 2000 m.params['pts'] = pts m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) m.params['MW_pulse_delays'] = np.ones(pts) * 100e-9 # pulses m.params['MW_pulse_durations'] = 1e-9 * (np.ones(pts) * 45) m.params['MW_pulse_amps'] = np.linspace(0.65, 0.75, pts) m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] # for the autoanalysis m.params['sweep_name'] = 'MW pulse amplitude (V)' m.params['sweep_pts'] = m.params['MW_pulse_amps'] funcs.finish(m)
def cal_hard_pi(name, mult=1): m = pulsar_mbi_espin.ElectronRabiSplitMultElements( 'cal_hard_pi_'+name+'_M=%d' % mult) funcs.prepare(m) # measurement settings pts = 11 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) * mult m.params['MW_pulse_delays'] = np.ones(pts) * 15e-6 # hard pi pulses m.params['MW_pulse_durations'] = 1e-9 * (np.ones(pts)*80) m.params['MW_pulse_amps'] = np.linspace(0.78,0.92,pts) m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] # for the autoanalysis m.params['sweep_name'] = 'MW pulse amplitude (V)' m.params['sweep_pts'] = m.params['MW_pulse_amps'] funcs.finish(m)