Beispiel #1
0
def unconditional_rabi(name,
                       C13_init_method='MBI',
                       carbon_A=1,
                       carbon_B=1,
                       N_list=np.arange(4, 100, 8),
                       tau_list=None,
                       electron_readout_orientation='positive',
                       tomo_basis='X'):

    m = DD.Crosstalk(name)
    funcs.prepare(m)
    '''set experimental parameters'''
    m.params['carbon_nr'] = carbon_A  ### Carbon spin that is prepared via MBI
    m.params[
        'Carbon_B'] = carbon_B  ### Carbon spin that the Rabi/Gate is performed on
    m.params['reps_per_ROsequence'] = 500

    ###############
    # Carbon INIT #
    ###############
    m.params['Nr_C13_init'] = 1
    m.params['C13_init_method'] = C13_init_method
    m.params['C13_init_state'] = 'up'
    m.params['el_after_init'] = '0'

    ###############
    # Rabi params #
    ###############
    m.params['Carbon_B'] = carbon_B
    m.params['Rabi_N_Sweep'] = N_list
    if tau_list == None:
        tau_list = m.params['C' + str(carbon_B) + '_Ren_tau'] * len(N_list)
    m.params['Rabi_tau_Sweep'] = tau_list
    m.params['pts'] = len(m.params['Rabi_N_Sweep'])

    ###############
    # tomo params #
    ###############
    m.params['Tomography Bases'] = tomo_basis
    m.params['electron_readout_orientation'] = electron_readout_orientation

    # sweep stuff
    if len(set(N_list)) != 1:
        print 'SWEEPING N'
        m.params['sweep_name'] = 'Number of pulses'
        m.params['sweep_pts'] = m.params['Rabi_N_Sweep']
    elif len(set(tau_list)) != 1:
        print 'SWEEPING tau'
        m.params['sweep_name'] = 'Rabi tau'
        m.params['sweep_pts'] = m.params['Rabi_tau_Sweep']

    #### parity and mbe settings
    m.params['Nr_MBE'] = 0
    m.params['Nr_parity_msmts'] = 0

    funcs.finish(m, upload=True, debug=False)
def Crosstalk(name,
              RO_phase=0,
              RO_Z=False,
              C13_init_method='swap',
              carbon_A=1,
              carbon_B=5,
              N=np.arange(4, 100, 8),
              tau_list=None):

    m = DD_2.Crosstalk(name)
    funcs.prepare(m)
    '''set experimental parameters'''

    m.params[
        'carbon_nr'] = carbon_A  ### Carbon spin that the Ramsey is performed on
    m.params[
        'Carbon_B'] = carbon_B  ### Carbon spin that the Rabi/Gate is performed on

    m.params['reps_per_ROsequence'] = 500
    m.params['C13_init_state'] = 'up'
    m.params['C13_init_method'] = C13_init_method
    m.params['sweep_name'] = 'Number of pulses'
    m.params['C_RO_phase'] = RO_phase
    m.params['C_RO_Z'] = RO_Z
    m.params['el_after_init'] = '0'

    m.params['Tomography Bases'] = ['Z']
    m.params['electron_readout_orientation'] = 'positive'

    #     ### Sweep parameters
    m.params['Rabi_N_Sweep'] = [0] + N

    if tau_list == None:
        tau_list = m.params['C' + str(carbon_B) + '_Ren_tau' +
                            m.params['electron_transition']] * len(N)

    m.params['Rabi_tau_Sweep'] = m.params['C' + str(
        carbon_B) + '_Ren_tau' + m.params['electron_transition']] + tau_list

    m.params['pts'] = len(m.params['Rabi_N_Sweep'])

    x_tick_labels = []
    for i in range(len(tau_list)):
        x_tick_labels = x_tick_labels + [
            str(tau_list[i] * 1e6) + ', ' + str(N_list[i])
        ]

    # m.params['sweep_pts'] = x_tick_labels
    m.params['sweep_pts'] = m.params['Rabi_N_Sweep']

    m.params['Nr_C13_init'] = 1
    m.params['Nr_MBE'] = 0
    m.params['Nr_parity_msmts'] = 0

    funcs.finish(m, upload=True, debug=False)
Beispiel #3
0
def Crosstalk(name,
              RO_phase=0,
              RO_Z=False,
              C13_init_method='swap',
              carbon_A=1,
              carbon_B=5,
              N=np.arange(4, 100, 8),
              tau_list=None):

    m = DD.Crosstalk(name)
    funcs.prepare(m)
    '''set experimental parameters'''

    m.params[
        'Carbon_A'] = carbon_A  ### Carbon spin that the Ramsey is performed on
    m.params[
        'Carbon_B'] = carbon_B  ### Carbon spin that the Rabi/Gate is performed on

    m.params['reps_per_ROsequence'] = 150
    m.params['C13_init_state'] = 'up'
    m.params['C13_init_method'] = C13_init_method
    m.params['sweep_name'] = 'Number of pulses'
    m.params['C_RO_phase'] = RO_phase
    m.params['C_RO_Z'] = RO_Z

    #     ### Sweep parameters
    m.params['Rabi_N_Sweep'] = [0] + N

    if tau_list == None:
        tau_list = m.params['C' + str(carbon_B) + '_Ren_tau'] * len(N)

    m.params['Rabi_tau_Sweep'] = tau_list

    m.params['pts'] = len(m.params['Rabi_N_Sweep'])

    m.params['sweep_pts'] = m.params['Rabi_N_Sweep']

    m.params['Nr_C13_init'] = 1
    m.params['Nr_MBE'] = 0
    m.params['Nr_parity_msmts'] = 0

    funcs.finish(m, upload=True, debug=False)