Skip to main content
IBM Quantum Platform

EstimatorV2

class EstimatorV2(mode=None, options=None)

GitHub

Bases: BasePrimitiveV2[EstimatorOptions], Estimator, BaseEstimatorV2

EstimatorV2 IBM Quantum Compute (이전 명칭: Qiskit Runtime )의 기본 함수.

IBM Quantum Compute ‘Estimator’ 기본 서비스는 양자 회로 및 관측량의 기대값을 추정합니다.

run() 를 사용하여 회로, 관측 변수 및 매개 변수를 추정기 프리미티브에 제출할 수 있습니다.

구축 후, 추정자는 PUB(프리미티브 통합 블록) 목록과 함께 그 run() 메서드에 PUB(프리미티브 통합 블록) 목록을 전달합니다. 각 PUB 에는 추정기가 완료해야 하는 작업의 계산 단위를 정의하는 네 가지 값이 포함되어 있습니다:

  • 단일 QuantumCircuit을 매개변수화할 수 있으며, 최종 상태는 ψ(θ)\psi(\theta) 로 정의합니다,
  • 하나 이상의 관측값( ObservablesArrayLike, Pauli, SparsePauliOp, str)으로 지정되며, 추정할 기대값을 지정하고 HjH_j 로 표시됩니다
  • 에 회로를 바인딩할 컬렉션 파라미터 값( θk\theta_k )을 설정합니다.
  • 예상값 추정을 위한 목표 정밀도(선택 사항)입니다.

다음은 추정기를 사용하는 방법의 예입니다.

from qiskit.circuit.library import real_amplitudes
from qiskit.quantum_info import SparsePauliOp
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import QiskitRuntimeService, EstimatorV2 as Estimator

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

psi = real_amplitudes(num_qubits=2, reps=2)
hamiltonian = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)])
theta = [0, 1, 1, 2, 3, 5]

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_psi = pm.run(psi)
isa_observables = hamiltonian.apply_layout(isa_psi.layout)

estimator = Estimator(mode=backend)

# calculate [ <psi(theta)|hamiltonian|psi(theta)> ]
job = estimator.run([(isa_psi, isa_observables, [theta])])
pub_result = job.result()[0]
print(f"Expectation values: {pub_result.data.evs}")

매개변수

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

    원시 쿼리를 만드는 데 사용되는 실행 모드입니다. 다음의 옵션을 사용할 수 있습니다.

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

    이에 대한 자세한 내용은 IBM Quantum Compute 문서를 참조하십시오 Execution modes.

  • options (dict | EstimatorOptions | None) – 추정기 옵션, 자세한 설명은 EstimatorOptions 참조하십시오.


속성

mode

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

리턴

모드, 실행 모드가 사용되지 않는 경우 None .

options

반품 방법.

version

기본값: 2


메소드

backend

backend()

GitHub

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

리턴 유형

BackendV2

run

run(pubs, *, precision=None)

GitHub

추정기 프리미티브에 요청을 제출합니다.

매개변수

  • (circuit, observables, parameter_values)pubs (Iterable[EstimatorPubLike]) – 튜플이나 (circuit, observables) 와 같은 pub형(기본 통합 블록) 객체들로 구성된 반복 가능한 객체 집합입니다.
  • precision (float | None) – 자체 정밀도를 지정하지 않은 각 실행 추정기 게시물의 예상값 추정 목표 정밀도입니다. 없음인 경우 추정기의 기본 정밀도 값이 사용됩니다.

리턴

제출된 작업.

레이즈

ValueError - 정밀도 값이 0보다 엄격하게 크지 않은 경우.

리턴 유형

RuntimeJobV2

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