Skip to main content
IBM Quantum Platform

MitigationTask (qiskit_mitigation.mitigation_task)

MitigationTask

class MitigationTask

GitHub

베이스: object

익스큐터를 사용하여 관측 가능한 변수의 기대값을 계산합니다.

이 클래스는 모든 완화 기법의 기본 클래스입니다. 이를 통해 Executor를 사용하여 하드웨어에서 실행할 수 있는 QuantumProgram 를 준비할 수 있으며, 결과를 후처리하여 주어진 관측량의 기대값을 계산할 수 있습니다.

작업 매개변수는 prepare 함수에 입력으로 전달되어야 하며, 후처리에 필요한 관련 변수들은 내부적으로 저장됩니다:

task = MitigationTask()
program = task.prepare(circuit=circuit,
                       observables=observables,
                       parameters=parameter_values)
job = executor.run(program)
results = job.result()
mitigated_result = task.postprocess(results)

로드된 작업 결과의 기대값을 계산하기 위해, 후처리에 필요한 모든 내부 변수를 포함하여 작업 결과로부터 태스크를 생성할 수 있습니다. 또는 후처리에 필요한 변수들을 정적 compute_expectation_value 메서드에 직접 입력으로 전달할 수도 있습니다. 로드된 결과에 대해 후처리를 실행하는 예시:

task = MitigationTask()
program = task.prepare(circuit=circuit,
                       observables=observables,
                       parameters=parameter_values)
job_id = executor.run(program).job_id

job = service.job(job_id)
results = job.result()
task = load_tasks_from_result(results)[0]
mitigated_result = task.postprocess(results)

MitigationTask 객체를 생성합니다.

메소드

find_unique_layers

find_unique_layers(circuit, custom_boxing_options=None)

GitHub

지정된 박싱 옵션을 사용하여 주어진 회로의 고유한 박싱된 레이어를 반환합니다.

매개변수

  • circuit (QuantumCircuit) – 이 회로가 고유한 층을 형성한다.
  • custom_boxing_options (dict | None) – generate_boxing_pass_manager() function에서 사용될 사용자 지정 박스 옵션입니다.

리턴

주어진 회로의 고유한 박스화된 레이어.

리턴 유형

목록 [ CircuitInstruction ]

prepare

prepare(circuit, observables, parameters, custom_boxing_options=None, shots_per_randomization=64, num_randomizations=128, broadcast_obs_and_params=False, trex=None, quantum_program=None)

GitHub

Executor를 통해 실행할 QuantumProgram 을 생성합니다.

Executor를 통해 QuantumProgram 실행할 수 있는 항목을 생성합니다. a가 지정된 quantum_program 경우, 새로운 항목은 기존 프로그램에 추가되며, 그렇지 않은 경우 생성된 항목만 포함된 새로운 프로그램이 생성됩니다. 기본 옵션은 회로에 어떠한 완화 방법도 적용하지 않은 항목을 생성합니다. 이 값이 True인 broadcast_obs_and_params 경우, 관측 가능 변수와 매개변수는 샘플로매틱(samplomatic) 브로드캐스팅 규칙을 사용하여 브로드캐스팅되며, 이를 통해 일부 매개변수를 특정 관측 가능 변수에 연결할 수 있게 됩니다. 그렇지 않으면, 모든 매개변수가 각 관측 가능 변수에 대해 실행됩니다(매개변수와 관측 가능 변수의 외적). 외적의 사후 처리가 일반적으로 더 빠르다는 점에 유의하십시오.

매개변수

  • circuit (QuantumCircuit) – 양자 회로.
  • observables (ObservablesArray |Sequence[SparsePauliOp]) – 기대값을 계산하기 위한 관측량들.
  • parameters (ndarray |BindingsArray | None) – 파라메트릭 회로의 파라미터.
  • custom_boxing_options (dict | None) – generate_boxing_pass_manager() function에서 사용될 사용자 지정 박스 옵션입니다.
  • shots_per_randomization (int) – 무작위 배정당 샷 수.
  • num_randomizations (int) – 무작위 배정 횟수.
  • broadcast_obs_and_params (bool) – 관측 가능 변수와 매개변수를 전송할지 여부.
  • trex (TREX | None) – 읽기 오류를 완화하는 데 사용될 TREX 완화 인스턴스입니다.
  • quantum_program (QuantumProgram | None) – 항목을 추가할 양자 프로그램입니다. 'None'인 경우, 새로운 프로그램이 생성됩니다.

리턴

Executor를 통해 실행될 수 있는 QuantumProgram A.

리턴 유형

QuantumProgram

postprocess

postprocess(results, measure_noise_data=None)

GitHub

단일 항목 결과에 대한 기대값을 처리합니다.

매개변수

  • results (QuantumProgramItemResult |QuantumProgramResult) – 실행 결과. 전체 결과 객체이거나 이 작업의 항목 결과일 수 있습니다. 양자 프로그램에 TREX 보정 작업이 추가된 경우, 전체 결과 객체가 제공되면 그 결과가 측정 잡음 데이터를 계산하는 데 사용됩니다.
  • measure_noise_data (PauliLindbladMap |ndarray | None) – TREX 완화에 사용할 학습된 측정 잡음 데이터. None인 경우이고 양자 프로그램에 보정 작업이 포함되어 있다면, 전체 결과 객체가 제공된 경우 보정 작업의 결과를 바탕으로 측정 잡음이 계산됩니다.

리턴

데이터에 evs 및 std 필드를 포함하는 PubResult 이며, 여기서 evs 는 기대값이고, 는 기대값의 표준편차입니다 std . 이 값이 True로 broadcast_obs_and_params 설정되면, 데이터에는 서로 다른 무작위 배정 간의 표준 편차를 나타내는 twirl_stds 필드도 포함됩니다.

인상

  • ValueError – 작업의 항목 결과에 '_meas' 키가 없는 경우.
  • ValueError – 항목 결과 '_meas' 데이터의 축 수가 유효하지 않은 경우.
  • ValueError – 만약 와 param_shape 를 서로 대조하여 방송할 수 없는 observables.shape 반면, 작업 준비 단계에서 True 는 로 설정되어 broadcast_obs_and_params 있었다면.

리턴 유형

PubResult

compute_expectation_value

static compute_expectation_value(item_result, observables, param_shape=None, param_basis_pairs=None, meas_bases=None, broadcast_obs_and_params=False, measure_noise_data=None)

GitHub

단일 항목 결과에 대한 기대값을 처리합니다.

이 함수는 새로운 클래스 인스턴스를 생성하지 않고도, 완화 조치가 적용되지 않은 단일 항목 결과에 대한 기대값을 계산하는 데 사용할 수 있습니다.

매개변수

  • item_result (QuantumProgramItemResult) – 항목 결과.
  • observables (ObservablesArray |Sequence[SparsePauliOp]) – 기대값을 계산할 관측량들.
  • param_shape (tuple[int, ...] | None) – 매개변수 값의 형태.
  • param_basis_pairs (list[tuple[tuple[int, ...], str]] | None) – 기저를 측정하기 위한 파라미터와 인덱스 간의 대응 관계.
  • meas_bases (Sequence[Pauli] | Sequence[str] | PauliList | None) – 측정된 파울리 기저의 목록. 번째 i 항목은 에 있는 데이터의 번째 i 슬라이스에 해당한다고 가정된 측정 기준입니다 item_result.
  • broadcast_obs_and_params (bool) – 관측 가능 변수 및 매개변수 값을 전송할지 여부.
  • measure_noise_data (PauliLindbladMap |ndarray | None) – TREX 완화를 위한 측정 잡음 교정 데이터.

리턴

데이터에 evs 및 std 필드를 포함하는 PubResult 이며, 여기서 evs 는 기대값이고, 는 기대값의 표준편차입니다 std . 이 값이 True로 broadcast_obs_and_params 설정되면, 데이터에는 서로 다른 무작위 배정 간의 표준 편차를 나타내는 twirl_stds 필드도 포함됩니다.

인상

  • ValueError – 만약 item_result 에 '_meas' 키가 없다면.
  • ValueError – 의 item_result['_meas'] 축 수가 유효하지 않은 경우.
  • ValueError – 만약 와 param_shape 가 서로에 대해 브로드캐스트될 수 observables.shape 없다면.

리턴 유형

PubResult

create_instance_from_passthrough_data

static create_instance_from_passthrough_data(passthrough, trex=None)

GitHub

양자 프로그램 실행 결과에서 불러온 패스스루 사전(dictionary)을 기반으로 MitigationTask 인스턴스를 생성합니다.

매개변수

  • passthrough (dict[str, Any]) – 양자 프로그램 실행 결과에서 불러온 Passthrough_data 사전.
  • trex (TREX | None) – 동일한 양자 프로그램 내에서 실행된, 보정 회로 결과를 포함하는 TREX 인스턴스. 동일한 양자 프로그램의 일환으로 TREX 완화 조치가 사용되지 않았거나 TREX 보정이 수행되지 않은 경우에는 None 이 설정을 유지해야 합니다.

리턴

MitigationTask 인스턴스.

리턴 유형

MitigationTask

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.