def _translate_result_types(
     circuit_ir: Program,
 ) -> Tuple[Dict[int, ResultType], Dict[int, ObservableResultType]]:
     non_observable_result_types = {}
     observable_result_types = {}
     for i in range(len(circuit_ir.results)):
         result_type = from_braket_result_type(circuit_ir.results[i])
         if isinstance(result_type, ObservableResultType):
             observable_result_types[i] = result_type
         else:
             non_observable_result_types[i] = result_type
     return non_observable_result_types, observable_result_types
Пример #2
0
def test_from_braket_result_type_unsupported_type():
    from_braket_result_type(shared_models.OptionalMultiTarget(targets=[4, 3]))
Пример #3
0
def test_from_braket_result_type_tensor_product_insufficient():
    from_braket_result_type(jaqcd.Variance(targets=[0], observable=["h", "i"]))
Пример #4
0
def test_from_braket_result_type_unknown_observable():
    from_braket_result_type(
        jaqcd.Expectation(targets=[0], observable=[[[[0, 0], [1, 0], [3, 2]], [[1, 0], [0, 0]]]])
    )
Пример #5
0
def test_from_braket_result_type_tensor_product_extra():
    from_braket_result_type(jaqcd.Expectation(targets=[0, 1, 2], observable=["h", "i"]))
Пример #6
0
def test_from_braket_result_type_observable(braket_result_type, result_type):
    assert isinstance(from_braket_result_type(braket_result_type), result_type)
Пример #7
0
def test_from_braket_result_type_probability():
    translated = from_braket_result_type(jaqcd.Probability(targets=[0, 1]))
    assert isinstance(translated, Probability)
    assert translated._targets == [0, 1]
Пример #8
0
def test_from_braket_result_type_amplitude():
    translated = from_braket_result_type(jaqcd.Amplitude(states=["01", "10"]))
    assert isinstance(translated, Amplitude)
    assert translated._states == ["01", "10"]
Пример #9
0
def test_from_braket_result_type_statevector():
    assert isinstance(from_braket_result_type(jaqcd.StateVector()), StateVector)