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
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)
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")
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, )
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), )
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)
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))
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)