관측 가능한 그룹화
qiskit_addon_cutting.utils.observable_grouping
폴리 관찰 가능 그룹화를 수행하기 위한 모듈입니다.
observables_restricted_to_subsystem
observables_restricted_to_subsystem(qubits, global_observables, /)
각 옵저버블을 주어진 하위 시스템에 대한 지원으로 제한합니다.
A PauliList 가 제공되면 PauliList 가 제공되면 list[Pauli] 가 반환됩니다.
모든 위상 정보는 폴리를 슬라이스할 때 표준 동작에 따라 삭제됩니다.
매개변수
- qubits (Sequence[int]) – 서브시스템의 큐비트
- global_observables (Sequence[Pauli] | PauliList) – 관찰 가능한 항목 목록
리턴 유형
[listPauli] | PauliList
리턴
각 Pauli 하위 시스템으로 제한됩니다.
>>> observables_restricted_to_subsystem([1, 3], PauliList(["IXYZ", "iZZXX"]))
PauliList(['IY', 'ZX'])CommutingObservableGroup
class CommutingObservableGroup(general_observable, commuting_observables)
베이스: object
상호 큐비트 단위의 통근 관찰 가능 집합입니다.
매개변수
commuting_observables
유형: list[Pauli]
동시에 측정할 수 있는 관찰 항목.
general_observable
유형: Pauli
commuting_observables 에서 모든 것을 측정하는 데 필요한 모든 큐비트 단위 측정값을 포함하는 단일 폴리 문자열입니다.
pauli_bitmasks
유형: list[int]
commuting_observables 의 각 관측 가능 항목에 대한 비트 마스크; 요소가 주어지면 각 비트는 pauli_indices 의 해당 항목이 해당 관측 가능 항목과 관련이 있는지 여부에 해당합니다.
pauli_indices
유형: list[int]
비식별성 지표 Pauli의 인덱스는 general_observable.
ObservableCollection
class ObservableCollection(observables, /)
베이스: object
효율적인 측정을 위해 구성된 관찰 가능 항목 모음입니다.
관측 가능성은 상호 큐비트 단위의 통근 관측 가능성의 집합으로 자동 구성되며, 각각은 하나의 CommutingObservableGroup.
멤버 변수를 할당합니다.
매개변수
observables (PauliList | Iterable[Pauli]) – 관심 관찰 항목
construct_general_observables
static construct_general_observables(commuting_subobservables, /)
상호 통근하는 각 관측 가능 집합에서 가장 일반적인 관측 가능을 구축합니다.
특별한 경우, 고급 사용자는 각 일반 옵저버블의 기본값보다 추가 큐비트를 측정하기 위해 staticmethod 을 서브클래싱하고 재정의할 수 있습니다.
리턴 유형
매개변수
groups
유형: list[CommutingObservableGroup]
의 목록 CommutingObservableGroup에 원하는 모든 관측값이 포함되어 있습니다.
lookup
유형: dict[Pauli, list[tuple[int, int]]]
각 Pauli(i, j) 를 groups 의 통근 관찰 가능 항목에 매핑하는 딕셔너리를 가져옵니다.
목록의 각 요소에 대해 이는 Pauli 는 i-번째 그룹에서 j-번째 통근 관찰 가능성에 의해 주어집니다.
이 목록의 길이는 최소 1이지만, 여러 개의 CommutingObservableGroup 객체가 주어진 Pauli.