Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
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)
Пример #14
0
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)
Пример #15
0
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)
Пример #16
0
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)
Пример #17
0
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)
Пример #18
0
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)
Пример #19
0
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)
Пример #20
0
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)
Пример #21
0
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)
Пример #22
0
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)
Пример #23
0
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)
Пример #24
0
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)