Skip to main content
IBM Quantum Platform

GenericBackendV2

class qiskit.providers.fake_provider.GenericBackendV2(num_qubits, basis_gates=None, *, coupling_map=None, control_flow=False, dtm=None, dt=None, seed=None, noise_info=True)

GitHub

Bases : BackendV2

Générique BackendV2 avec un constructeur configurable. Cette classe renvoie une instance de BackendV2 qui s'exécute sur un simulateur local (dans l'esprit des faux backends) et contient toutes les informations nécessaires pour tester les composants d'interface avec le backend, tels que le transpileur. A GenericBackendV2 peut être construite à partir d'une simple adresse num_qubits, mais les utilisateurs peuvent également configurer les portes de base, la carte de couplage, la capacité d'exécuter des circuits dynamiques (instructions de flux de contrôle) et le dtm. Les autres propriétés du backend sont générées par échantillonnage aléatoire à partir de plages de valeurs par défaut extraites des données historiques du backend IBM. La graine de cette génération aléatoire peut être fixée pour garantir la reproductibilité de la sortie du backend. Ce backend ne supporte que les portes de la bibliothèque standard, si vous avez besoin d'un backend plus flexible, il y a toujours la possibilité d'instancier directement un objet Target à utiliser pour la transpilation.

Paramètres

  • num_qubits (int) – Nombre de qubits qui seront utilisés pour construire la cible du backend. Notez que, bien qu'il n'y ait pas de limite à la taille de la cible qui peut être construite, ce backend fonctionne sur des simulateurs locaux bruyants, et ceux-ci peuvent présenter des limitations dans le nombre de qubits qui peuvent être simulés.

  • basis_gates (list[str] | None) – Liste des noms de portes de base devant être prises en charge par la cible. Ceux-ci doivent faire partie de la bibliothèque de circuits standard de qiskit. Le jeu de portes de base par défaut est ["id", "rz", "sx", "x", "cx"] . Les instructions "reset", "delay" et "measure" sont toujours prises en charge par défaut, même si elles ne sont pas spécifiées via basis_gates.

  • coupling_map (list[list[int]] | CouplingMap | None) –

    Carte de couplage facultative pour le backend. Plusieurs formats sont pris en charge :

    1. CouplingMap instance
    2. List, doit être donnée sous la forme d'une liste de bords représentant les interactions de deux qubits prises en charge par le backend, par exemple : [[0, 1], [0, 3], [1, 2], [1, 5], [2, 5], [4, 1], [5, 3]]

    Si coupling_map est spécifié, il doit correspondre au nombre de qubits spécifié dans num_qubits. Si coupling_map n'est pas spécifié, une carte de couplage entièrement connectée sera générée avec num_qubits qubits.

  • control_flow (bool) – Indicateur permettant d'activer les directives de flux de contrôle sur la cible (valeur par défaut : False).

  • dtm (float | None) – Résolution temporelle du système des signaux de sortie en nanosecondes. Aucun par défaut.

  • dt (float | None) – Résolution temporelle du système des signaux d'entrée en nanosecondes. Aucun par défaut.

  • seed (int | None) – Semence facultative pour la génération de valeurs par défaut.

  • noise_info (bool) – Si vrai, associe les portes et les qubits aux informations de bruit par défaut.


Attributs

coupling_map

Renvoyer l CouplingMap objet

dt

Renvoi de la résolution temporelle du système des signaux d'entrée

Cette fonction doit être mise en œuvre si le backend prend en charge la planification de Pulse.

Retours

Le pas de temps du signal d'entrée en secondes. Si le backend ne définit pas dt, None sera renvoyé.

dtm

Renvoi de la résolution temporelle du système des signaux de sortie

instruction_durations

Renvoyer l'objet InstructionDurations objet.

instructions

Une liste de tuples d'instructions dans la partie arrière du formulaire (instruction, (qubits))

max_circuits

meas_map

num_qubits

Retourne le nombre de qubits que possède le backend.

operation_names

Une liste de noms d'instructions prises en charge par le backend.

operations

Une liste d'instances Instruction instances prises en charge par le backend.

options

Retourne les options pour le backend

Les options d'un backend sont les paramètres dynamiques qui définissent la manière dont le backend est utilisé. Ils sont utilisés pour contrôler la run() méthode.

provider

Renvoyer le fournisseur d'accès.

Retours

le fournisseur responsable du backend.

Type de retour

fournisseur

target

version

Valeur par défaut : 2

name

Nom du backend.

description

Description facultative lisible par l'homme.

online_date

Date à laquelle le backend a été mis en ligne.

backend_version

Version du backend fournie. Ce n'est pas la même chose que BackendV2.versionqui est la version de l'interface abstraite Backend interface abstraite.


Méthodes

qubit_properties

qubit_properties(qubit)

GitHub

Retourne QubitProperties pour un qubit donné.

Si aucun détail n'est défini ou si le backend ne permet pas d'interroger ces détails, il n'est pas nécessaire de mettre en œuvre cette méthode.

Paramètres

qubit (int |list[int]) – Le qubit destiné à récupérer QubitProperties l'objet. Il peut s'agir d'un simple entier pour 1 qubit ou d'une liste de qubits; une liste QubitProperties d'objets sera renvoyée dans le même ordre

Retours

L'objet QubitProperties pour le qubit spécifié. Si une liste de qubits est fournie, une liste sera renvoyée. Si des propriétés sont manquantes pour un qubit, cela peut être None.

Augmentations

NotImplementedError - si le backend ne permet pas d'interroger les propriétés des qubits

Type de retour

QubitProperties | liste [ QubitProperties ]

run

run(run_input, **options)

GitHub

Exécuter sur le backend à l'aide d'un simulateur.

Cette méthode exécute des tâches de circuit (une seule ou une liste de QuantumCircuit ) à l'aide de BasicSimulator ou du simulateur Aer, et renvoie un Job objet.

Si qiskit-aer est installé, les travaux seront exécutés en utilisant le modèle AerSimulator with noise du backend. Dans le cas contraire, les travaux seront exécutés à l'aide du simulateur BasicSimulator sans bruit.

Paramètres

  • run_input (QuantumCircuit orlist) – Un élément ou une liste QuantumCircuit d'objets à exécuter sur le backend.
  • options - Toutes les options kwarg à passer au backend pour exécuter la configuration. Si une clé est également présente dans l'attribut/objet options, on s'attend à ce que la valeur spécifiée soit utilisée à la place de celle définie dans l'objet options.

Retours

L'objet du travail pour l'exécution

Type de retour

tâche planifiée

Augmentations

set_options

set_options(**fields)

GitHub

Définir les champs d'options pour le backend

Cette méthode est utilisée pour mettre à jour les options d'un backend. Si vous devez modifier l'une des options avant l'exécution, il vous suffit de passer le kwarg avec la nouvelle valeur des options.

Paramètres

champs - Les champs pour mettre à jour les options

Augmentations

AttributeError - Si le champ transmis ne fait pas partie des options

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