qiskit_noise_learning.sequences.FidelityIndex
class qiskit_noise_learning.sequences.FidelityIndex(gate_name: str, pauli: QubitSparsePauli, in_z_idxs: frozenset[int], out_z_idxs: frozenset[int], input_pauli: QubitSparsePauli, output_pauli: QubitSparsePauli, sign_flip: bool, meas_idxs: frozenset[int])
Bases : object
Données d'index relatives à la fidélité dans un ensemble de portes à réinitialisation de type Pauli-MCM.
Soit le nombre de qubits; et désignent les qubits mesurés; et les qubits réinitialisés pour la porte. Pour une porte donnée, chaque fidélité est définie par :
- Un article de Pauli sur les qubits non mesurés et non réinitialisés ,
- Un opérateur de type « » appliqué aux qubits mesurés, , et
- Un opérateur de type « » appliqué aux qubits mesurés et réinitialisés, .
Cette liste constitue les « données d'index » d'une fidélité généralisée pour une porte donnée, en ce sens qu'il existe une bijection entre toutes les fidélités généralisées et l'ensemble ci-dessus de tous les objets satisfaisant à la description ci-dessus. Voir l'équation (3) du formalisme mathématique pour la décomposition dans laquelle ces termes apparaissent.
Les exposants et sont stockés sous forme d'ensembles d'indices de qubits sur lesquels ils sont non nuls, à savoir in_z_idxs et out_z_idxs – ce qui revient à dire que ce sont les qubits sur lesquels et agissent de manière non triviale.
Le constructeur crée FidelityIndex.from_gate() un FidelityIndex à partir d'un ModelGate et des données d'index unique ci-dessus. Il est FidelityIndex.from_transition() également possible d'utiliser pour construire une instance à partir de la transition de Pauli impliquée par les données d'index. Le FidelityIndex.__init__() est considéré comme un constructeur « de bas niveau » qui reprend toutes les propriétés enregistrées sans validation.
Paramètres
- gate_name – Le nom de la porte.
- pauli – Un opérateur de Pauli prenant en charge les qubits non mesurés et non réinitialisés. Notez que
pauli.num_qubitsdétermine la taille des opérateurs renvoyés parself.transition. - in_z_idxs – Les indices des qubits pour lesquels la valeur de « » est non nulle.
- out_z_idxs – Les indices des qubits pour lesquels la valeur de « » est différente de zéro.
- input_pauli – La valeur de Pauli à l'entrée de la transition.
- output_pauli – Le nombre de Pauli de sortie de la transition.
- sign_flip – Indique si la transition comporte un changement de signe.
- meas_idxs – Indices des qubits de mesure pour la porte.
__init__
__init__(gate_name: str, pauli: QubitSparsePauli, in_z_idxs: frozenset[int], out_z_idxs: frozenset[int], input_pauli: QubitSparsePauli, output_pauli: QubitSparsePauli, sign_flip: bool, meas_idxs: frozenset[int])
Méthodes
Chronique « 1 » | Chronique « 2 » |
|---|---|
__init__(nom_porte, pauli, indices_in_z,...) | |
from_gate(porte, pauli[, in_z_idxs, out_z_idxs]) | Construire un indice de fidélité à partir des données d'une porte et d'un index unique. |
from_transition(porte, entrée_pauli, sortie_pauli) | Construire un indice de fidélité à partir d'une transition de Pauli sur les registres quantiques. |
is_valid_for_gate(porte, pauli[, in_z_idxs, ...]) | Vérifier si les données d'indice fournies constituent un indice de fidélité valide pour la porte. |
Attributs
Chronique « 1 » | Chronique « 2 » |
|---|---|
gate_name | Le nom de la porte. |
in_z_idxs | Les qubits mesurés transportant une « » à l'entrée de l'instrument. |
meas_idxs | Les indices des qubits physiques mesurés par la porte. |
observable_idxs | Indices des qubits de l'observable « » associée, par ordre croissant. |
out_z_idxs | Les qubits mesurés et réinitialisés transmettent une « » sur la sortie de l'instrument. |
pauli | L'opérateur de Pauli sur la partie Clifford de la porte modèle. |
sign_flip | La transition associée à cette fidélité s'accompagne-t-elle d'un changement de signe? |
transition | La transition de l'opérateur de Pauli sans phase associée à cet indice de fidélité. |
from_gate
classmethod from_gate(gate: ModelGate, pauli: QubitSparsePauli, in_z_idxs: frozenset[int] = frozenset({}), out_z_idxs: frozenset[int] = frozenset({})) → Self
Construire un indice de fidélité à partir des données d'une porte et d'un index unique.
Paramètres
- portail – Le portail modèle.
- pauli – Un opérateur de Pauli prenant en charge les qubits non mesurés et non réinitialisés.
- in_z_idxs – Sous-ensemble des indices des qubits de mesure portant une « » sur l'entrée de l'instrument.
- out_z_idxs – Sous-ensemble de l'union des indices des qubits de mesure et de réinitialisation qui déterminent l' e de la sortie de l'instrument.
Augmentations
ValueError : si les données fournies ne correspondent pas à la porte.
is_valid_for_gate
classmethod is_valid_for_gate(gate: ModelGate, pauli: QubitSparsePauli, in_z_idxs: frozenset[int] = frozenset({}), out_z_idxs: frozenset[int] = frozenset({})) → bool
Vérifier si les données d'indice fournies constituent un indice de fidélité valide pour la porte.
Cette opération effectue les mêmes contrôles de cohérence (sans effet secondaire) que from_gate(), sans créer l'index ni calculer sa transition.
Paramètres
- portail – Le portail modèle.
- pauli – Un opérateur de Pauli prenant en charge les qubits non mesurés et non réinitialisés.
- in_z_idxs – Sous-ensemble des indices des qubits de mesure portant une « » sur l'entrée de l'instrument.
- out_z_idxs – Sous-ensemble de l'union des indices des qubits de mesure et de réinitialisation qui déterminent l' e de la sortie de l'instrument.
from_transition
classmethod from_transition(gate: ModelGate, in_pauli: QubitSparsePauli, out_pauli: QubitSparsePauli) → Self
Construire un indice de fidélité à partir d'une transition de Pauli sur les registres quantiques.
Ce constructeur déduit les ensembles d'indices de Pauli et d' s d'un FidelityIndex à partir de la transition de Pauli donnée.
Paramètres
- portail – Le portail modèle.
- in_pauli – L'entrée Pauli dans le registre quantique.
- out_pauli – La sortie Pauli sur le registre quantique.
Augmentations
ValueError : si la paire d'opérateurs de Pauli n'implique pas une valeur valide FidelityIndex.
gate_name
Type : str
Le nom de la porte.
pauli
Type : QubitSparsePauli
L'opérateur de Pauli sur la partie Clifford de la porte modèle.
in_z_idxs
out_z_idxs
Les qubits mesurés et réinitialisés transmettent une « » sur la sortie de l'instrument.
meas_idxs
sign_flip
Type : bool
La transition associée à cette fidélité s'accompagne-t-elle d'un changement de signe?
transition
Type : tuple[QubitSparsePauli, QubitSparsePauli]
La transition de l'opérateur de Pauli sans phase associée à cet indice de fidélité.