Circuit vérifié
qiskit_paulice.checked_circuit
Une classe permettant de définir un circuit comportant des contrôles de Pauli cohérents dans l'espace-temps.
CheckedCircuit
class CheckedCircuit(circuit, target_qubits=(), check_qubits=(), check_support=(), cost=None, cost_metric=None)
Bases : object
Un circuit quantique et les informations relatives à l'espace-temps que contiennent ses contrôles de Pauli.
Paramètres
- circuit (QuantumCircuit)
- target_qubits (tuple[int, ...])
- check_qubits (tuple[int, ...])
- check_support (tuple[tuple[int, ...], ...])
- cost (float | None)
- cost_metric (str | None)
circuit
Un circuit quantique comportant 0 au moins un contrôle de Pauli spatio-temporel.
Type
target_qubits
Les indices des circuit qubits qui ont été utilisés pour entrelacer les qubits de contrôle avec la charge utile. None si circuit ne contient aucune vérification.
Type
check_qubits
Indices des qubits auxiliaires dans circuit. Le i``th check uses ``check_qubits[i] pour détecter les erreurs sur target_qubits[i] et d'autres qubits dans check_support[i].
Type
check_support
Pour chaque test, les indices des qubits dont les résultats de mesure, combinés par opération XOR, donnent le bit de syndrome correspondant à ce test.
Type
cost
cost_metric
get_postselection_method
get_postselection_method()
Renvoie une fonction qui associe le résultat d'un tir unique à un vecteur de syndrome.
Aucune erreur n'a été détectée si et seulement si chaque élément du vecteur renvoyé est égal à zéro. La fonction renvoyée accepte soit des chaînes de bits, soit des tableaux de bits.
Type de retour
uncovered_paulis
Type : tuple[UncoveredPauli,...]
Cas dans lesquels une erreur de Pauli sur un seul qubit n'est pas détectable par certains tests.
Chaque entrée est un UncoveredPauli(qubit, after_instruction, pauli) triplet, où qubit représente le qubit concerné par l'erreur sur un seul qubit, after_instruction l'index circuit.data de l'instruction qui précède immédiatement l'erreur, et pauli le type d'erreur ("X", "Y", ou "Z").
Seuls les emplacements situés sur les lignes d'entrée et immédiatement après les portes à 2 qubits sont répertoriés; les erreurs survenant après des portes à un seul qubit sont regroupées dans la ligne de la porte à 2 qubits suivante.
UncoveredPauli
class UncoveredPauli(qubit, after_instruction, pauli)
Bases : NamedTuple
Un point de l'espace-temps où une erreur de Pauli sur un seul qubit est indétectable par un ensemble de tests.
Paramètres
qubit
after_instruction
Indice (dans circuit.data) de l'instruction qui suit celle où l'erreur se produit; None signifie que l'erreur se trouve sur la ligne d'entrée du qubit.
Type
int | None
pauli
L'erreur de Pauli non détectée ("X", "Y", ou "Z")
Type
[Les] littéraux « X », « Y » et « Z »
Créer une nouvelle instance de UncoveredPauli(qubit, after\_instruction, pauli)
count
count(value, /)
Renvoie le nombre d'occurrences de la valeur.
index
index(value, start=0, stop=9223372036854775807, /)
Renvoie l'index de la première occurrence de la valeur.
Génère une exception « ValueError » si la valeur n'est pas présente.