BackendEstimatorV2
class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)
베이스: BaseEstimatorV2
제공된 양자 회로와 관측 가능한 조합에 대한 기대값을 평가합니다.
클래스는 BackendEstimatorV2 클래스는 제네릭 구현으로 BaseEstimatorV2 객체를 감싸는 데 사용되는 BackendV2 객체를 래핑하는 데 사용되는 BaseEstimatorV2 API에서 객체를 감싸는 데 사용되는 인터페이스 구현입니다. 네이티브 구현을 제공하지 않는 백엔드를 쉽게 사용할 수 있습니다 BaseEstimatorV2 구현을 제공하지 않는 백엔드 사용을 용이하게 합니다 BaseEstimatorV2. 그러나 기본 구현이 있는 공급업체를 사용하는 경우라면 BaseEstimatorV2를 기본 구현하는 공급자를 사용하는 경우에는 추가 최적화가 포함되어 있고 더 효율적인 구현이 될 가능성이 높으므로 기본 구현을 활용하는 것이 더 나은 선택입니다. 이 클래스의 일반적 특성으로 인해 공급자 또는 백엔드별 최적화를 수행할 수 없습니다.
이 클래스는 측정이나 게이트 완화를 수행하지 않으며, 현재로서는 폴리 기반 관측값과만 호환됩니다. 보다 공식적으로, 은 복소수이고 은 폴리 연산자인 유형의 관측값이 주어지면 추정기는 각 의 기대값 을 계산하고 최종적으로 의 기대값을 으로 계산합니다. 보고된 std 은 다음과 같이 계산됩니다
여기서 은 의 분산, 은 촬영 횟수, 은 목표 정밀도 [1] 입니다.
추정기 프리미티브 통합 블록( PUB )이라고 하는 (circuit, observables, <optional> parameter values, <optional> precision) 의 각 튜플은 자체 배열 기반 결과를 생성합니다. 메서드에 run() 메서드에 한 번의 호출로 실행할 일련의 퍼블리싱을 지정할 수 있습니다.
에 대한 옵션은 BackendEstimatorV2 의 옵션은 다음 항목으로 구성됩니다.
default_precision: 에 지정되지 않은 경우 사용할 기본 정밀도입니다run(). 기본값: 0.015625 (1 / sqrt(4096)).abelian_grouping: 관측값을 큐비트 단위의 통근 관측값 집합으로 그룹화할지 여부입니다. 기본값은 True입니다.seed_simulator: 시뮬레이터에서 사용할 시드입니다. 없음인 경우 무작위 시드가 사용됩니다. 기본값: 없음.
참조:
[1] O. 크로포드, B. 반 스트라텐, D. 왕, T. 파크스, E. 캠벨, 세인트 브리얼리, 유한 샘플링 오차가 있는 경우 폴리 연산자의 효율적인 양자 측정. 퀀텀 5, 385
매개변수
- backend (BackendV2) – 프리미티브를 실행할 백엔드입니다.
- options (dict | None) – 기본 정밀도(
default_precision), 연산자 그룹화(abelian_grouping), 시뮬레이터의 무작위 시드(seed_simulator)를 제어하는 옵션입니다.
속성
backend
이 추정기 객체의 기반이 되는 백엔드를 반환합니다.
options
옵션 반환
메소드
run
run(pubs, *, precision=None)
제공된 각 퍼블릭(프리미티브 통합 블록)에 대한 기대치를 추정합니다.
매개변수
- pubs (Iterable[TypeAliasForwardRef('EstimatorPubLike')]) – 튜플이나
(circuit, observables)와 같은 pub과 유사한 객체들로(circuit, observables, parameter_values)구성된 반복 가능한 객체. - precision (float | None) – 자체 정밀도를 지정하지 않은 각 실행 추정기 게시물의 예상값 추정 목표 정밀도입니다. 없음인 경우 추정기의 기본 정밀도 값이 사용됩니다.
리턴
결과가 포함된 작업 개체입니다.
리턴 유형
PrimitiveJob [ PrimitiveResult [ PubResult ]]