EstimatorV2
class EstimatorV2(mode=None, options=None)
Bases: BasePrimitiveV2[EstimatorOptions], Estimator, BaseEstimatorV2
EstimatorV2 IBM Quantum Compute (이전 명칭: Qiskit Runtime )의 기본 함수.
IBM Quantum Compute ‘Estimator’ 기본 서비스는 양자 회로 및 관측량의 기대값을 추정합니다.
는 run() 를 사용하여 회로, 관측 변수 및 매개 변수를 추정기 프리미티브에 제출할 수 있습니다.
구축 후, 추정자는 PUB(프리미티브 통합 블록) 목록과 함께 그 run() 메서드에 PUB(프리미티브 통합 블록) 목록을 전달합니다. 각 PUB 에는 추정기가 완료해야 하는 작업의 계산 단위를 정의하는 네 가지 값이 포함되어 있습니다:
- 단일
QuantumCircuit을 매개변수화할 수 있으며, 최종 상태는 로 정의합니다, - 하나 이상의 관측값(
ObservablesArrayLike,Pauli,SparsePauliOp,str)으로 지정되며, 추정할 기대값을 지정하고 로 표시됩니다 - 에 회로를 바인딩할 컬렉션 파라미터 값( )을 설정합니다.
- 예상값 추정을 위한 목표 정밀도(선택 사항)입니다.
다음은 추정기를 사용하는 방법의 예입니다.
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) –
원시 쿼리를 만드는 데 사용되는 실행 모드입니다. 다음의 옵션을 사용할 수 있습니다.
이에 대한 자세한 내용은 IBM Quantum Compute 문서를 참조하십시오
Execution modes. -
options (dict | EstimatorOptions | None) – 추정기 옵션, 자세한 설명은
EstimatorOptions참조하십시오.
속성
mode
이 프리미티브가 사용하는 실행 모드를 반환합니다.
리턴
모드, 실행 모드가 사용되지 않는 경우 None .
options
반품 방법.
version
기본값: 2
메소드
backend
run
run(pubs, *, precision=None)
추정기 프리미티브에 요청을 제출합니다.
매개변수
(circuit, observables, parameter_values)pubs (Iterable[EstimatorPubLike]) – 튜플이나(circuit, observables)와 같은 pub형(기본 통합 블록) 객체들로 구성된 반복 가능한 객체 집합입니다.- precision (float | None) – 자체 정밀도를 지정하지 않은 각 실행 추정기 게시물의 예상값 추정 목표 정밀도입니다. 없음인 경우 추정기의 기본 정밀도 값이 사용됩니다.
리턴
제출된 작업.
레이즈
ValueError - 정밀도 값이 0보다 엄격하게 크지 않은 경우.
리턴 유형