Beispiel #1
0
def test_noise_model(kraus_model_I_dict, kraus_model_RX90_dict):
    noise_model_dict = {
        "gates": [kraus_model_I_dict, kraus_model_RX90_dict],
        "assignment_probs": {"1": [[1.0, 0.0], [0.0, 1.0]], "0": [[1.0, 0.0], [0.0, 1.0]]},
    }

    nm = NoiseModel.from_dict(noise_model_dict)
    km1 = KrausModel.from_dict(kraus_model_I_dict)
    km2 = KrausModel.from_dict(kraus_model_RX90_dict)
    assert nm == NoiseModel(gates=[km1, km2], assignment_probs={0: np.eye(2), 1: np.eye(2)})
    assert nm.gates_by_name("I") == [km1]
    assert nm.gates_by_name("RX") == [km2]
    assert nm.to_dict() == noise_model_dict
Beispiel #2
0
def test_noise_model(kraus_model_I_dict, kraus_model_RX90_dict):
    noise_model_dict = {'gates': [kraus_model_I_dict,
                                  kraus_model_RX90_dict],
                        'assignment_probs': {'1': [[1.0, 0.0], [0.0, 1.0]],
                                             '0': [[1.0, 0.0], [0.0, 1.0]]},
                        }

    nm = NoiseModel.from_dict(noise_model_dict)
    km1 = KrausModel.from_dict(kraus_model_I_dict)
    km2 = KrausModel.from_dict(kraus_model_RX90_dict)
    assert nm == NoiseModel(gates=[km1, km2],
                            assignment_probs={0: np.eye(2), 1: np.eye(2)})
    assert nm.gates_by_name('I') == [km1]
    assert nm.gates_by_name('RX') == [km2]
    assert nm.to_dict() == noise_model_dict
Beispiel #3
0
def test_kraus_model():
    km = KrausModel('I', (5., ), (0, 1), [np.array([[1 + 1j]])], 1.0)
    d = km.to_dict()
    assert d == OrderedDict([('gate', km.gate), ('params', km.params),
                             ('targets', (0, 1)),
                             ('kraus_ops', [[[[1.]], [[1.0]]]]),
                             ('fidelity', 1.0)])
    assert KrausModel.from_dict(d) == km
Beispiel #4
0
def test_kraus_model():
    km = KrausModel("I", (5.0, ), (0, 1), [np.array([[1 + 1j]])], 1.0)
    d = km.to_dict()
    assert d == OrderedDict([
        ("gate", km.gate),
        ("params", km.params),
        ("targets", (0, 1)),
        ("kraus_ops", [[[[1.0]], [[1.0]]]]),
        ("fidelity", 1.0),
    ])
    assert KrausModel.from_dict(d) == km
Beispiel #5
0
def test_kraus_model(kraus_model_I_dict):
    km = KrausModel.from_dict(kraus_model_I_dict)
    assert km == KrausModel(gate=kraus_model_I_dict['gate'],
                            params=kraus_model_I_dict['params'],
                            targets=kraus_model_I_dict['targets'],
                            kraus_ops=[
                                KrausModel.unpack_kraus_matrix(kraus_op)
                                for kraus_op in kraus_model_I_dict['kraus_ops']
                            ],
                            fidelity=kraus_model_I_dict['fidelity'])
    d = km.to_dict()
    assert d == OrderedDict([('gate', km.gate), ('params', km.params),
                             ('targets', (0, 1)),
                             ('kraus_ops', [[[[1.]], [[1.0]]]]),
                             ('fidelity', 1.0)])
Beispiel #6
0
def test_kraus_model_2(kraus_model_I_dict):
    km = KrausModel.from_dict(kraus_model_I_dict)
    assert km == KrausModel(
        gate=kraus_model_I_dict["gate"],
        params=kraus_model_I_dict["params"],
        targets=kraus_model_I_dict["targets"],
        kraus_ops=[
            KrausModel.unpack_kraus_matrix(kraus_op)
            for kraus_op in kraus_model_I_dict["kraus_ops"]
        ],
        fidelity=kraus_model_I_dict["fidelity"],
    )
    d = km.to_dict()
    assert d == OrderedDict([
        ("gate", km.gate),
        ("params", km.params),
        ("targets", (0, 1)),
        ("kraus_ops", [[[[1.0]], [[1.0]]]]),
        ("fidelity", 1.0),
    ])