Skip to main content
IBM Quantum Platform

NoiseLearnerV3

class NoiseLearnerV3(mode=None, options=None)

GitHub

Bases : object

Classe permettant de réaliser des expériences d'apprentissage du bruit.

Le module d'apprentissage du bruit permet de caractériser les processus de bruit affectant les instructions cibles, sur la base du modèle de bruit de Pauli-Lindblad décrit au point [1]. Les instructions fournies à la run() méthode doivent contenir un bloc annoté de type « twirled » BoxOp contenant des opérations ISA. Le résultat d'une tâche d'apprentissage par apprentissage automatique contient une liste NoiseLearnerV3Result d'objets, un pour chaque instruction donnée.

Paramètres

Références

  1. E. van den Berg, Z., Minev, A., Kandala, K., Temme, « Annulation probabiliste des erreurs à l'aide de modèles de Pauli-Lindblad clairsemés sur des processeurs quantiques bruyants », Nature Physics, vol. 19, p. 1116-1121 (2023). arXiv:2201.09866 [physique quantique]

Attributs

options

Type : NoiseLearnerV3Options

Les options de cet apprentissage du bruit.


Méthodes

backend

backend()

GitHub

Renvoie le backend sur lequel la requête primitive sera exécutée.

Type de retour

BackendV2

run

run(instructions)

GitHub

Envoyer une demande au programme « Noise Learner ».

Deux protocoles sont pris en charge :

  • Lindblad : pour les instructions encadrées dont le contenu peut être converti en

    Clifford et comportent une seule couche de portes à (au maximum) deux qubits.

  • TREX : pour les instructions encadrées dont le contenu peut comporter exactement une mesure par qubit.

Remarque

Pour réduire au minimum le nombre d'expériences d'apprentissage avec bruit, appelez find_unique_box_instructions() avant de lancer la tâche d'apprentissage avec bruit.

Paramètres

instructions (Iterable[CircuitInstruction]) – Les instructions pour apprendre à reconnaître le bruit de.

Retours

Le travail soumis.

Augmentations

IBMInputValueError – Si les instructions ne peuvent pas être utilisées avec le « noise learner », par exemple : * Si une instruction contient une boîte sans annotation « twirl ». * Si une instruction contient des qubits non physiques, c'est-à-dire des qubits qui n'appartiennent pas au registre QuantumRegister(backend.num_qubits, 'q') « physique » du backend utilisé. * Si une instruction contient un bloc comportant des portes non ISA. * Si une instruction ne peut être apprise par aucun des protocoles d'apprentissage pris en charge.

Type de retour

RuntimeJobV2

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