Skip to main content
IBM Quantum Platform

추정자

class Estimator(mode=None, options=None)

GitHub

베이스: BaseEstimatorV2

IBM Quantum Compute (이전 명칭: Qiskit Runtime )용 클라이언트 측 추정기 프리미티브.

이는 Executor 기본 요소를 기반으로 구현된 Estimator로, 더 빠른 피드백 루프와 향상된 사용자 제어 기능을 통해 투명한 클라이언트 측 처리를 가능하게 합니다.

예제

from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime.executor_estimator import Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Create a simple circuit
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)

# Define observable
observable = SparsePauliOp.from_list([("ZZ", 1), ("XX", 1)])

# Run the estimator with options
estimator = Estimator(mode=backend)
estimator.options.default_precision = 0.01
estimator.options.execution.init_qubits = True
job = estimator.run([(circuit, observable)])
result = job.result()

매개변수

  • mode (BackendV2 | Session |Batch | None) –

    기본 쿼리를 생성하는 데 사용된 실행 모드. 다음의 옵션을 사용할 수 있습니다.

    • A 작업 모드를 사용하는 BackendV2 경우.
    • A 세션 실행 모드를 사용하는 경우 Session .
    • A 일괄 실행 모드를 사용하는 경우 Batch .

    실행 모드에 대한 자세한 내용은 IBM Quantum Compute 문서를 참조하십시오.

  • options (EstimatorOptions) – 추정기 옵션. 사용 가능한 모든 옵션을 보려면 EstimatorOptions 여기를 참조하십시오.


속성

mode

이 프리미티브가 사용하는 실행 모드를 반환합니다.

리턴

이 프리미티브에서 사용하는 모드, 또는 실행 모드가 사용되지 않는 경우 None .

options

유형: EstimatorOptions

이 Estimator의 옵션들.


메소드

backend

backend()

GitHub

기본 쿼리가 실행될 백엔드를 반환합니다.

리턴 유형

BackendV2

finalize_options

finalize_options()

GitHub

견적기 옵션을 구성하고 확정합니다.

이 메서드는 구성된 복원력 수준과 사용자가 지정한 옵션을 결합하여, 호출 내에서 사용되는 최종 EstimatorOptions 인스턴스를 생성합니다 run().

최종 후보안을 도출하기 위해 사용된 절차는 다음과 같습니다:

  1. 에 의해 결정된 기본값을 사용하여 새로운 객체를 EstimatorOptions 초기화합니다 resilience_level.

  2. 사용자가 지정한 옵션을 적용하되, 복원력 수준 기본값을 상속하도록 의도된 None 필드는 건너뜁니다.

  3. 필수 옵션 종속성을 적용합니다. 특히 다음을 주의하십시오.

    • 측정 완화 기능을 활성화하면 측정 트위링 기능도 자동으로 활성화됩니다.
    • 게이트 기반 완화 기법(예: PEA 기반 ZNE 또는 PEC)을 활성화하면 게이트 트위링과 측정 트위링이 모두 자동으로 활성화됩니다.

리턴

최종적으로 완성된 EstimatorOptions 객체.

리턴 유형

EstimatorOptions

find_unique_layers

find_unique_layers(pubs, types='gates')

GitHub

주어진 PUB 전체에서 발견된 고유한 박스형 레이어를 반환합니다.

레이어의 types 수는 이거나 일 수 있으며 "gates"``"all" , 이는 각각 게이트 레이어만 포함하는 경우와 모든 레이어를 포함하는 경우에 해당합니다. 이렇게 반환된 목록에는 입력 PUB에 나타나는 각 고유한 박스형 레이어(로 표시됨 CircuitInstruction)의 인스턴스가 하나씩 포함됩니다.

예를 들어, 노이즈 학습의 경우 큐비트 게이트 레이어만 남겨두십시오:

est = Estimator(mode, options)
est.options.resilience.pec_mitigation = True

layers = est.find_unique_layers(pubs, types="gates")

results = NoiseLearnerV3(mode).run(layers).result()
pauli_linblad_maps = results.to_pauli_lindblad_maps()

# Assign the learned model so PEC uses it on the next run.
est.options.resilience.layer_noise_model = zip(layers, pauli_linblad_maps)

매개변수

  • pubs (Iterable[EstimatorPubLike]) – 고유한 박스 목록을 반환할 PUB 목록입니다.
  • types (Literal['gates', 'all']) – 반환할 레이어의 유형. 이거나 일 수 있습니다 "gates"``"all" .

리턴

주어진 PUB 전반에 걸쳐 발견되는 특정 유형의 독특한 상자형 레이어들.

리턴 유형

목록[CircuitInstruction]

run

run(pubs, *, precision=None, dry_run=False)

GitHub

견적 산출기 프리미티브에 요청을 제출합니다.

중간 수준 및 복잡한 워크로드의 경우, 추정기 입력을 실행기 입력으로 매핑하기 위해 수행되는 클라이언트 측 처리는 많은 리소스를 소모할 수 있으며, 함수 호출과 실제 job 제출 사이에 지연이 발생할 수 있습니다. 호출 진행 상황을 확인하려면 ( INFO 레벨의) 로깅을 설정하는 것이 좋습니다. 자세한 내용은 IBM Quantum Compute 로깅 정보를 참조하십시오.

매개변수

  • pubs (Iterable[EstimatorPubLike]) – 펍과 유사한 객체들의 반복 가능한 집합. 예를 들어, 회로와 관측 가능한 양의 목록이나 튜플 등입니다 (circuit, observables, parameter_values).
  • precision (float | None) – 자체 정밀도를 명시하지 않은 각 추정량 pub에 대한 기대값 추정치의 목표 정밀도. 인 경우 None, 의 값이 사용됩니다 options.default_precision .
  • dry_run (bool) – 의 경우 True, QPU에서 작업을 실행하지 않고 시뮬레이션을 수행합니다. 이 모드를 사용하면 작업을 검증하고, 사용량을 추정하며, 회로 타이밍 메타데이터를 가져올 수 있습니다. 반환된 결과에는 예상된 스키마가 유지되지만, 실제 또는 시뮬레이션된 측정 결과 대신 무작위로 생성된 모의 데이터가 포함됩니다. 가상 백엔드와 달리, 이 시뮬레이션 처리는 서버 측에서 이루어지므로 작업이 즉시 완료되지 않을 수 있으며, 이 기능에 대한 접근이 제한될 수 있습니다.

리턴

제출된 작업.

인상

  • ValueError – 백엔드가 제공되지 않는 경우.
  • IBMInputValueError – 펍이 제공되지 않거나, 정밀도가 올바르게 지정되지 않았거나, 지원되지 않는 옵션이 감지된 경우.

리턴 유형

RuntimeJobV2 | LocalRuntimeJob

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