Skip to main content
IBM Quantum Platform

Regroupement observable

qiskit_addon_cutting.utils.observable_grouping

Module de regroupement des observables de Pauli.

observables_restricted_to_subsystem

observables_restricted_to_subsystem(qubits, global_observables, /)

GitHub

Restreindre chaque observable à son support sur un sous-système donné.

A PauliList sera renvoyé si un PauliList est fourni; sinon, une adresse list[Pauli] sera renvoyée.

Toute information de phase sera rejetée, conformément au comportement standard lors du découpage d'un Pauli.

Paramètres

  • qubits (Sequence[int]) – Les qubits d'un sous-système
  • global_observables (Sequence[Pauli] | PauliList) – La liste des observables

Type de retour

[listePauli] | PauliList

Retours

Chaque Pauli limité au sous-système.

>>> observables_restricted_to_subsystem([1, 3], PauliList(["IXYZ", "iZZXX"]))
PauliList(['IY', 'ZX'])

CommutingObservableGroup

class CommutingObservableGroup(general_observable, commuting_observables)

GitHub

Bases : object

Ensemble d'observables commuant mutuellement dans le sens du qubit.

Paramètres

commuting_observables

Type: list[Pauli]

Observables qui peuvent être mesurés simultanément.

general_observable

Type: Pauli

Une seule chaîne de Pauli contenant toutes les mesures de qubits nécessaires pour mesurer tout ce qui se trouve sur commuting_observables.

pauli_bitmasks

Type: list[int]

Un masque de bits pour chaque observable dans commuting_observables; étant donné un élément, chaque bit correspond à la pertinence de l'entrée correspondante dans pauli_indices pour cet observable.

pauli_indices

Type: list[int]

Les indices de non-identité Paulidans general_observable.

ObservableCollection

class ObservableCollection(observables, /)

GitHub

Bases : object

Collection d'observables organisée pour une prise de mesures efficace.

Les observables sont automatiquement organisées en ensembles d'observables commutant mutuellement dans le sens du qubit, chacun représenté par un CommutingObservableGroup.

Affecter des variables membres.

Paramètres

observables (PauliList | Iterable[Pauli]) – Observables d'intérêt

construct_general_observables

static construct_general_observables(commuting_subobservables, /)

Construire l'observable le plus général à partir de chaque ensemble d'observables se commutant mutuellement.

Dans des cas particuliers, les utilisateurs avancés peuvent vouloir sous-classer et surcharger ce site staticmethod afin de mesurer des qubits supplémentaires par rapport à la valeur par défaut pour chaque observable générale.

Type de retour

list[Pauli]

Paramètres

commuting_subobservables (list[list[Pauli]])

groups

Type: list[CommutingObservableGroup]

Liste des CommutingObservableGroupqui, ensemble, contiennent tous les observables souhaités.

lookup

Type: dict[Pauli, list[tuple[int, int]]]

Obtenir un dict qui associe chaque observable à une liste d'indices Pauli observable à une liste d'indices, (i, j), à des observables commutés dans groups.

Pour chaque élément de la liste, cela signifie que le Pauli est donnée par la j-ème observable commue dans le i-ème groupe.

Cette liste sera d'une longueur minimale de 1, mais pourra potentiellement être plus longue si plusieurs objets sont compatibles avec l'objet donné CommutingObservableGroup sont compatibles avec l'objet Pauli.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.