Esempio n. 1
0
def test_equality(result_str_1, result_str_2):
    result_1 = AnnealingQuantumTaskResult.from_string(result_str_1)
    result_2 = AnnealingQuantumTaskResult.from_string(result_str_1)
    other_result = AnnealingQuantumTaskResult.from_string(result_str_2)
    non_result = "not a quantum task result"

    assert result_1 == result_2
    assert result_1 is not result_2
    assert result_1 != other_result
    assert result_1 != non_result
Esempio n. 2
0
def _(problem: Problem, simulator: BraketSimulator, shots, *args, **kwargs):
    if DeviceActionType.ANNEALING not in simulator.properties.action:
        raise NotImplementedError(
            f"{type(simulator)} does not support quantum annealing problems")
    ir = problem.to_ir()
    results = simulator.run(ir, shots, *args, *kwargs)
    return AnnealingQuantumTaskResult.from_object(results)
Esempio n. 3
0
def test_result_annealing(annealing_task):
    _mock_metadata(annealing_task._aws_session, "COMPLETED")
    _mock_s3(annealing_task._aws_session, MockS3.MOCK_S3_RESULT_ANNEALING)

    expected = AnnealingQuantumTaskResult.from_string(
        MockS3.MOCK_S3_RESULT_ANNEALING)
    assert annealing_task.result() == expected

    s3_bucket = annealing_task.metadata()["outputS3Bucket"]
    s3_object_key = annealing_task.metadata()["outputS3Directory"]
    annealing_task._aws_session.retrieve_s3_object_body.assert_called_with(
        s3_bucket, f"{s3_object_key}/results.json")
Esempio n. 4
0
def annealing_result(
    solutions,
    values,
    solution_counts,
    variable_count,
    problem_type,
    additional_metadata,
    task_metadata,
):
    solutions = np.asarray(solutions, dtype=int)
    values = np.asarray(values, dtype=float)
    solution_counts = np.asarray(solution_counts, dtype=int)
    record_array = AnnealingQuantumTaskResult._create_record_array(
        solutions, solution_counts, values)
    return AnnealingQuantumTaskResult(
        record_array=record_array,
        variable_count=variable_count,
        problem_type=problem_type,
        task_metadata=task_metadata,
        additional_metadata=additional_metadata,
    )
Esempio n. 5
0
def test_from_string(
    result_str_1,
    solutions,
    values,
    solution_counts,
    variable_count,
    problem_type,
    task_metadata,
    additional_metadata,
):
    result = AnnealingQuantumTaskResult.from_string(result_str_1)
    solutions = np.asarray(solutions, dtype=int)
    values = np.asarray(values, dtype=float)
    solution_counts = np.asarray(solution_counts, dtype=int)
    assert result.variable_count == variable_count
    assert result.problem_type == problem_type
    assert result.task_metadata == task_metadata
    assert result.additional_metadata == additional_metadata
    np.testing.assert_equal(
        result.record_array,
        AnnealingQuantumTaskResult._create_record_array(
            solutions, solution_counts, values),
    )
Esempio n. 6
0
def test_from_object_equal_to_from_string(result_str_1):
    assert AnnealingQuantumTaskResult.from_object(
        AnnealingTaskResult.parse_raw(result_str_1)
    ) == AnnealingQuantumTaskResult.from_string(result_str_1)
Esempio n. 7
0
def test_from_string_solution_counts_empty_list(result_str_3, solutions):
    result = AnnealingQuantumTaskResult.from_string(result_str_3)
    np.testing.assert_equal(result.record_array.solution_count,
                            np.ones(len(solutions), dtype=int))
Esempio n. 8
0
def _(result: AnnealingTaskResult) -> AnnealingQuantumTaskResult:
    return AnnealingQuantumTaskResult.from_object(result)
def test_run_annealing():
    sim = LocalSimulator(DummyAnnealingSimulator())
    task = sim.run(Problem(ProblemType.ISING))
    assert task.result() == AnnealingQuantumTaskResult.from_object(
        ANNEALING_RESULT)