for state in [
    {
        'name': '1_00',
        'w0': w0_1_00,
        'H': H_1_00,
    },
    {
        'name': '1_D',
        'w0': w0_1_D,
        'H': H_1_D,
    },
]:
    # -----------------------------------------------------------------------------------------------------------------
    state['w0'].normalize()

    ro_0 = DensityMatrix(state['w0'])

    T_list = []
    sink_list = []

    run({
        "ro_0": ro_0,
        "H": state['H'],
        "dt": dt,
        "sink_list": sink_list,
        "T_list": T_list,
        "precision": 1e-3,
        'sink_limit': 1,
        "thres": 0.001,
        'lindblad': {
            'out': {
예제 #2
0
    path = 'M_' + str(np.round(coeff, 3))
    print(path)
    mkdir('MM/' + path)

    for w_0 in [
        {
            'name': 't_0',
            'obj': t_0,
        },
            # {
            #     'name': 's_2',
            #     'obj': s_2,
            # },
    ]:
        ro_0 = DensityMatrix(w_0['obj'])

        T_list = []
        sink_list = []

        run({
            "ro_0": ro_0,
            "H": H,
            "dt": config.dt,
            "sink_list": sink_list,
            "T_list": T_list,
            "precision": 1e-3,
            'sink_limit': 1,
            'lindblad': {
                'out': {
                    'L': operator_a(H, H.capacity, H.cavity.n_atoms),
예제 #3
0
    _a.append(A_comp)

# for i in _a:
#     print(i)
# exit(0)
# singlet
config.capacity = 3
config.n_atoms = 2

cavity = Cavity(config.wc, config.wa, config.g, config.n_atoms)

H = Hamiltonian(config.capacity, cavity)

s_2 = WaveFunction(states=H.states, init_state=[0, [0, 1]], amplitude=1./sqrt(2)) - \
    WaveFunction(states=H.states, init_state=[0, [1, 0]], amplitude=1./sqrt(2))
ro_2 = DensityMatrix(s_2)

t_0 = WaveFunction(states=H.states, init_state=[0, [0, 0]])
ro_0 = DensityMatrix(t_0)

# ro_2_sqrt = ro_2.data.sqrt()
# ro_2_sqrt = lg.fractional_matrix_power(ro_2.data, 0.5)

# ro_2.print()
# print(ro_2.abs_trace())
# exit(0)

# print(Fidelity_full(s_2, t_0))
# exit(0)

result = []
예제 #4
0
        H = Hamiltonian(config.capacity, cavity)

        if state_type == 't_0':
            w_0 = WaveFunction(states=H.states, init_state=[1, [0, 0]])
        elif state_type == 's_2':
            w_0 = WaveFunction(states=H.states, init_state=[1, [0, 1]], amplitude=1./sqrt(2)) - \
                WaveFunction(states=H.states, init_state=[
                             1, [1, 0]], amplitude=1./sqrt(2))
        else:
            Assert(0 == 1, 'undefined state type')

        config_dt = (0.01 / l)

        z_data_g = []

        ro_0 = DensityMatrix(w_0)

        T_list = []
        sink_list = []

        run({
            "ro_0": ro_0,
            "H": H,
            "dt": config_dt,
            "sink_list": sink_list,
            "T_list": T_list,
            "precision": sink_threshold,
            'sink_limit': 1,
            'lindblad': {
                'out': {
                    'L': operator_a(H, H.capacity, H.cavity.n_atoms),
예제 #5
0
#     _a.append(A_comp)

# for i in _a:
#     print(i)
# exit(0)
# singlet
config.capacity = 2
config.n_atoms = 2

cavity = Cavity(config.wc, config.wa, config.g, config.n_atoms)

H = Hamiltonian(config.capacity, cavity)

s_2 = WaveFunction(states=H.states, init_state=[0, [0, 1]], amplitude=1./sqrt(2)) - \
    WaveFunction(states=H.states, init_state=[0, [1, 0]], amplitude=1./sqrt(2))
ro_2 = DensityMatrix(s_2)

t_0 = WaveFunction(states=H.states, init_state=[0, [0, 0]])
ro_0 = DensityMatrix(t_0)

# ro_2_sqrt = ro_2.data.sqrt()
# ro_2_sqrt = lg.fractional_matrix_power(ro_2.data, 0.5)

# ro_2.print()
# print(ro_2.abs_trace())
# exit(0)

# print(Fidelity_full(s_2, t_0))
# exit(0)

result = []