Skip to main content
IBM Quantum Platform

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)

GitHub

Bases : object

Un circuit quantique et les informations relatives à l'espace-temps que contiennent ses contrôles de Pauli.

Paramètres

circuit

Un circuit quantique comportant 0 au moins un contrôle de Pauli spatio-temporel.

Type

qiskit.circuit.quantumcircuit.QuantumCircuit

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

tuple [ int, …]

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

tuple [ int, …]

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

tuple [ tuple [ int, …], …]

cost

La valeur de la fonction de coût par rapport aux points de contrôle dans circuit

Type

float | None

cost_metric

LERL'indicateur utilisé pour évaluer la qualité des contrôles (gamma ou)

Type

str | Aucun

get_postselection_method

get_postselection_method()

GitHub

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

Callable [[ str | ndarray ], ndarray ]

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)

GitHub

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 (int)
  • after_instruction (int | None)
  • pauli (Literal['X', 'Y', 'Z'])

qubit

Indice du qubit où se trouve l'erreur non détectée

Type

int

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.

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