Пример #1
0
def dephased_rx_gate(phi, p=.1):
    corrupted_rx = append_kraus_to_gate(
        dephasing_kraus_map(p),
        np.array([[np.cos(phi / 2), -1j * np.sin(phi / 2)],
                  [-1j * np.sin(phi / 2),
                   np.cos(phi / 2)]]))
    return corrupted_rx
Пример #2
0
def test_damping_after_dephasing():
    damping = damping_kraus_map(p=1 - np.exp(-.1))
    dephasing = dephasing_kraus_map(p=.5 * (1 - np.exp(-.2)))
    ks_ref = combine_kraus_maps(damping, dephasing)

    ks_actual = damping_after_dephasing(10, 10, 1)
    np.testing.assert_allclose(ks_actual, ks_ref)
Пример #3
0
def test_damping_after_dephasing():
    damping = damping_kraus_map(p=1 - np.exp(-0.1))
    dephasing = dephasing_kraus_map(p=0.5 * (1 - np.exp(-0.2)))
    ks_ref = combine_kraus_maps(damping, dephasing)

    ks_actual = damping_after_dephasing(20, 40 / 3.0, 2.0)
    np.testing.assert_allclose(ks_actual, ks_ref)
Пример #4
0
def test_damping_after_dephasing():
    damping = damping_kraus_map()
    dephasing = dephasing_kraus_map()
    ks_ref = combine_kraus_maps(damping, dephasing)

    ks_actual = damping_after_dephasing(10, 10, 1)
    np.testing.assert_allclose(ks_actual, ks_ref)
Пример #5
0
def test_combine_kraus_maps():
    damping = damping_kraus_map()
    dephasing = dephasing_kraus_map()
    k1, k2, k3, k4 = combine_kraus_maps(damping, dephasing)
    assert k1.shape == (2, 2)
    assert k2.shape == (2, 2)
    assert k3.shape == (2, 2)
    assert k4.shape == (2, 2)
Пример #6
0
def dephased_i_gate(p=.1):
    corrupted_iden = append_kraus_to_gate(dephasing_kraus_map(p),
                                          np.array([[1, 0], [0, 1]]))
    return corrupted_iden
Пример #7
0
def dephased_rz_gate(phi, p=.1):
    corrupted_rz = append_kraus_to_gate(
        dephasing_kraus_map(p),
        np.array([[quil_cos(phi / 2) - 1j * np.sin(phi / 2), 0],
                  [0, np.cos(phi / 2) + 1j * np.sin(phi / 2)]]))
    return corrupted_rz
Пример #8
0
def test_dephasing_kraus_map():
    p = 0.05
    k1, k2 = dephasing_kraus_map(p=p)
    np.testing.assert_allclose(np.diag(k1), [np.sqrt(1 - p)] * 2)
    np.testing.assert_allclose(np.abs(np.diag(k2)), [np.sqrt(p)] * 2)