Agrupamento observável
qiskit_addon_cutting.utils.observable_grouping
Módulo para conduzir o agrupamento observável de Pauli.
observables_restricted_to_subsystem
observables_restricted_to_subsystem(qubits, global_observables, /)
Restringir cada observável ao seu suporte em um determinado subsistema.
A PauliList será retornado se um PauliList for fornecido; caso contrário, um list[Pauli] será retornado.
Qualquer informação de fase será descartada, de acordo com o comportamento padrão ao cortar um Pauli.
Parâmetros
- qubits (Sequence[int]) – Os qubits em um subsistema
- global_observables (Sequence[Pauli] | PauliList) – A lista de observáveis
Tipo de retorno
[listaPauli] PauliList
Retorna
Cada Pauli restrito ao subsistema.
>>> observables_restricted_to_subsystem([1, 3], PauliList(["IXYZ", "iZZXX"]))
PauliList(['IY', 'ZX'])CommutingObservableGroup
class CommutingObservableGroup(general_observable, commuting_observables)
Bases: object
Conjunto de observáveis mutuamente comutáveis em termos de qubit.
Parâmetros
commuting_observables
Tipo: list[Pauli]
Observáveis que podem ser medidos simultaneamente.
general_observable
Tipo: Pauli
Uma única cadeia de Pauli que contém todas as medições de qubit-wise necessárias para medir tudo em commuting_observables.
pauli_bitmasks
Tipo: list[int]
Uma máscara de bits para cada observável em commuting_observables; dado um elemento, cada bit corresponde a se a entrada correspondente em pauli_indices é relevante para esse observável.
pauli_indices
Tipo: list[int]
Os índices de não identidade Paulis em general_observable.
ObservableCollection
class ObservableCollection(observables, /)
Bases: object
Coleção de observáveis organizada para a realização eficiente de medições.
Os observáveis são organizados automaticamente em conjuntos de observáveis mutuamente comutáveis em termos de qubit, cada um representado por um CommutingObservableGroup.
Atribuir variáveis de membro.
Parâmetros
observables (PauliList | Iterable[Pauli]) – Observáveis de interesse
construct_general_observables
static construct_general_observables(commuting_subobservables, /)
Construa o observável mais geral a partir de cada conjunto de observáveis mutuamente comutáveis.
Em casos especiais, os usuários avançados podem querer subclasse e substituir este staticmethod para medir qubits adicionais além do padrão para cada observável geral.
Tipo de retorno
Parâmetros
groups
Tipo: list[CommutingObservableGroup]
Lista de CommutingObservableGroups que, juntas, contêm todos os observáveis desejados.
lookup
Tipo: dict[Pauli, list[tuple[int, int]]]
Obter um ditado que mapeia cada Pauli observável para uma lista de índices, (i, j), para observáveis comutáveis em groups.
Para cada elemento da lista, isso significa que o Pauli é dado pelo j-ésimo observável comutável no i-ésimo grupo.
Essa lista terá, no mínimo, 1 de comprimento, mas poderá ser maior se vários CommutingObservableGroup forem compatíveis com o objeto Pauli.