gestion_du_bruit
qiskit_addon_utils.noise_management
Outils de gestion du bruit.
trex_factors
trex_factors(measurement_noise_map, basis_dict, /)
Calcule le facteur d'échelle de la valeur d'espérance de l'algorithme d'atténuation TREX pour chaque terme de Pauli dans basis_dict.
Calcule l' e pour chaque terme de Pauli non identitaire dans chaque observable à l'aide du bruit de mesure appris, où sont les indices non identitaires dans le terme.
Paramètres
- measurement_noise_map (PauliLindbladMap) – Bruit de mesure appris au format PauliLindbladMap.
- basis_dict (dict[Pauli, list[SparsePauliOp | None]]) – Correspondance entre les bases de mesure et les grandeurs observables, dans laquelle l'algorithme TREX optimise le calcul de leur valeur attendue.
Retours
Une liste de tableaux numpy de valeurs flottantes représentant le facteur d'échelle de la valeur d'espérance de l'algorithme d'atténuation TREX pour chaque terme de Pauli dans chaque observable dans chaque base dans la base donnée (basis_dict).
gamma_from_noisy_boxes
gamma_from_noisy_boxes(noise_models, box_id_to_noise_id, noise_scales_each_box=None)
Calculer le facteur gamma d'un circuit à partir des modèles de bruit de Pauli-Lindblad pour les boîtiers de ce circuit.
Cette fonction s'attend à ce que les modèles de bruit représentent le bruit dans le circuit, et donc à ce qu'ils aient des taux de Lindblad positifs. Le gamma renvoyé est celui associé aux cartes de bruit inverse nécessaires pour annuler le bruit dans le circuit.
Paramètres
- noise_models (dict[str, PauliLindbladMap]) – Dict des ID des modèles de bruit (chaînes) et des modèles de bruit appris pour chaque boîte bruyante unique dans le circuit.
- box_id_to_noise_id (dict[str, str]) – Dict des ID des boîtes et des ID des modèles de bruit.
- noise_scales_each_box (dict[str, ndarray] | None) – Dict d'ID de boîtes et de facteurs permettant de réévaluer les taux d'erreur Lindblad de chaque générateur dans le modèle de bruit associé.
Retours
Le facteur gamma.
Augmentations
ValueError si la longueur de un tableau dans noise_scales\each_box n'est pas égale à la longueur de rates of *\Nthe associated - PauliLindbladMap in noise_models.
Type de retour
PostSelectionSummary
class PostSelectionSummary(primary_cregs, measure_map, edges, *, post_selection_suffix='_ps')
Bases : object
Une classe d'aide pour stocker les propriétés d'un circuit quantique nécessaire pour post-sélectionner les résultats.
Initialise un objet PostSelectionSummary .
Paramètres
- primary_cregs (set[str]) – Les noms des registres classiques "primaires", c'est-à-dire ceux qui ne se terminent pas par le suffixe post-sélection.
- measure_map (dict[int, tuple[str, int]]) – Une carte entre les indices de qubits dans le registre et les clbits qui définissent de manière unique une mesure sur ces qubits.
- edges (set[frozenset[int]]) – Une liste de tuples définissant des paires de qubits voisins.
- post_selection_suffix (str) – Le suffixe des registres de sélection des postes.
edges
Un ensemble d'arêtes à prendre en compte pour la sélection des postes basée sur les arêtes.
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')
Initialiser à partir de circuits quantiques.
Paramètres
- circuit (QuantumCircuit) – Le circuit pour créer un résumé de.
- coupling_map (CouplingMap |list[tuple[int, int]]) – Une carte de couplage ou une liste de tuples indiquant les paires de qubits voisins.
- post_selection_suffix (str) – Un suffixe fixe à ajouter aux noms des registres classiques lors de leur copie.
Type de retour
measure_map
Type : dict[int, tuple[str, int]]
Une carte des indices de qubits vers le registre et l'indice de clbit utilisés pour mesurer ces qubits.
post_selection_suffix
Type : str
Le suffixe des registres de sélection des postes.
primary_cregs
PostSelector
class PostSelector(summary)
Bases : object
Classe permettant de traiter les résultats des programmes quantiques en fonction des résultats des mesures post-sélection.
Initialise un objet PostSelector .
Paramètres
summary (PostSelectionSummary) – Un résumé du circuit en cours de post-sélection.
compute_mask
compute_mask(result, strategy=PostSelectionStrategy.NODE)
Calculer des masques booléens indiquant quels plans doivent être conservés ou rejetés pour le résultat donné.
Cette fonction compare les bits renvoyés par chaque paire de mesures et de mesures de post-sélection, en identifiant tous ceux qui ne se sont pas retournés. Les plans qui doivent être conservés sont marqués comme True dans le masque renvoyé, ceux qui doivent être rejetés sont marqués comme False.
Par construction, le masque retourné a la même forme que les tableaux dans le résultat correspondant, mais avec une dimension de moins (le dernier axe de chaque tableau, sur clbits, n'est pas présent dans le masque).
Paramètres
- result (dict[str, ndarray[tuple[int, ...], dtype[bool]]]) – Le résultat à post-traiter. Il doit s'agir d'un site
QuantumProgramResultcontenant un seul élément ou d'un dictionnaire. - strategy (str | PostSelectionStrategy) – La stratégie de post-sélection utilisée pour traiter le résultat.
Type de retour
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')
Initialiser à partir de circuits quantiques.
Paramètres
- circuits - Les circuits pour traiter les résultats de.
- coupling_map (CouplingMap |list[tuple[int, int]]) – Une carte de couplage ou une liste de tuples indiquant les paires de qubits voisins.
- post_selection_suffix (str) – Un suffixe fixe à ajouter aux noms des registres classiques lors de leur copie.
- circuit (QuantumCircuit)
Type de retour
summary
Type : PostSelectionSummary
Un résumé du circuit en cours de post-sélection.