Skip to main content
IBM Quantum Platform

FakeBrussels

class FakeBrussels

GitHub

Bases : FakeBackendV2

Un backend fictif de 127 qubits.

Initialiser un backend basé sur l' BackendV2

Paramètres

  • fournisseur – Une référence en amont facultative à l'objet fournisseur dont provient le backend
  • nom – Un nom facultatif pour le backend
  • description – Une description facultative du backend
  • online_date – Date et heure (facultatives) de la mise en ligne du serveur
  • backend_version – Une chaîne de caractères indiquant la version du backend (facultatif). Cela diffère de l'attribut version , car version concerne la version de l'interface abstraite Backend de l'objet, tandis que backend_version sert à gérer les versions du backend lui-même.
  • champs – arguments de clé-valeur permettant de remplacer les options par défaut.

Augmentations

AttributeError – Si un champ est spécifié qui ne figure pas dans les options du backend


Attributs

backend_name

Type: str

Valeur par défaut : 'fake_brussels'

Nom du backend.

conf_filename

Type: str

Valeur par défaut : 'conf_brussels.json'

Nom du fichier de configuration du backend.

coupling_map

Renvoyer CouplingMap l'objet

dirname

Type: str

Valeur par défaut : '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/brussels'

Répertoire contenant les instantanés réels du backend.

dt

Renvoie la résolution temporelle système des signaux d'entrée

Cette fonctionnalité doit être implémentée si le backend prend en charge la planification Pulse.

Retours

L'intervalle de temps du signal d'entrée, en secondes. dtSi le backend ne définit pas, None sera renvoyé.

dtm

Renvoie la résolution temporelle système des signaux de sortie.

Retours

L'intervalle de temps du signal de sortie, en secondes.

instruction_durations

Renvoie InstructionDurations l'objet.

instructions

Une liste de tuples d'instructions dans le backend du formulaire (instruction, (qubits))

max_circuits

Renvoie le nombre maximal de circuits pouvant être exécutés dans une seule tâche.

Auparavant, cette propriété renvoyait la valeur « max_experiments » issue de la configuration du backend, mais cette valeur ne reflète plus fidèlement les limites du circuit du backend. De nouveaux champs seront ajoutés pour indiquer les nouvelles limites.

meas_map

Renvoie le regroupement des mesures multiplexées

Cette fonctionnalité doit être implémentée si le backend prend en charge la planification Pulse.

Retours

Le regroupement des mesures multiplexées

Augmentations

NotImplementedError – si le backend ne prend pas en charge l'interrogation du mappage des mesures

num_qubits

Renvoie le nombre de qubits dont dispose le backend.

operation_names

Une liste des noms d'instructions pris en charge par le backend.

operations

Une liste des Instruction instances prises en charge par le backend.

options

Renvoyer les options du backend

Les options d'un backend sont les paramètres dynamiques qui définissent la manière dont celui-ci est utilisé. Ils servent à contrôler la run() méthode.

physical_qubits

Renvoie le nombre de qubits physiques dont dispose le backend.

Renvoie le nombre de qubits physiques du backend (qubits programmables, qubits de réinitialisation et coupleurs confondus).

props_filename

Type: str

Valeur par défaut : 'props_brussels.json'

Nom du fichier contenant les propriétés du backend.

provider

Renvoie le fournisseur de backend.

Retours

le prestataire chargé de l'infrastructure.

Type de retour

fournisseur

target

Un qiskit.transpiler.Target objet pour le backend.

Type de retour

cible

version

Valeur par défaut : 2

name

Nom du backend.

description

Description facultative destinée à être lue par l'utilisateur.

online_date

Date de mise en service du serveur.

backend_version

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


Méthodes

check_faulty

check_faulty(circuit)

GitHub

Vérifiez si le circuit d'entrée utilise des qubits ou des fronts défectueux.

Paramètres

circuit (QuantumCircuit) – Circuit à vérifier.

Augmentations

ValueError – Si une instruction agissant sur un qubit ou un bord défectueux est détectée.

Type de retour

Aucun

configuration

configuration()

GitHub

Renvoie la configuration du backend.

Type de retour

QasmBackendConfiguration

properties

properties(refresh=False)

GitHub

Renvoie les propriétés du backend.

Paramètres

Truerefresh (bool) – Si c'est le cas, récupérez à nouveau les propriétés du backend à partir du fichier local.

Retours

Les propriétés du backend.

Type de retour

BackendProperties

qubit_properties

qubit_properties(qubit)

Renvoie l' QubitProperties s relatives à un qubit donné.

Si ces informations ne sont pas définies ou si le backend ne prend pas en charge leur consultation, il n'est pas nécessaire d'implémenter cette méthode.

Paramètres

qubit (int | list[int]) – Le qubit destiné à récupérer l'objet QubitProperties . 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

QubitProperties L'objet correspondant au qubit spécifié. Si une liste de qubits est fournie, une liste sera renvoyée. NoneSi certaines propriétés d'un qubit font défaut, cela peut être dû à...

Augmentations

NotImplementedError – si le backend ne prend pas en charge l'interrogation des propriétés des qubits

Type de retour

QubitProperties | liste[ QubitProperties ]

refresh

refresh(service, use_fractional_gates=False, persist=True)

GitHub

Mettre à jour les fichiers de données à partir de leur équivalent réel.

Cette méthode récupère les derniers fichiers de données du backend à partir de leur équivalent réel et, par défaut (persist=True), écrase les fichiers correspondants dans l'installation locale :

  • ../fake_provider/backends/{backend_name}/conf_{backend_name}.json
  • ../fake_provider/backends/{backend_name}/props_{backend_name}.json

Les nouveaux fichiers de données seront conservés d'une session à l'autre; ils resteront donc à jour, sauf s'ils sont manuellement réinitialisés localement ou si qiskit-ibm-runtime le logiciel est mis à jour ou réinstallé.

Le remplacement des fichiers de données installés échoue toutefois lorsque le paquet est installé dans un emplacement en lecture seule (par exemple, un répertoire site-packages système). Dans ce cas, ou chaque fois qu'il n'est pas souhaitable de modifier le paquet installé, utilisez persist=False pour enregistrer les données mises à jour dans un répertoire temporaire à la place. Le backend est toujours mis à jour pour la session en cours, mais les modifications ne sont pas enregistrées sur le disque et sont perdues dès que le backend fait l'objet d'un ramassage des déchets ou que le processus se termine.

Paramètres

  • service (QiskitRuntimeService) – Un QiskitRuntimeService exemple
  • use_fractional_gates (bool) – Définissez cette option sur « True » pour permettre aux backends d'inclure des portes fractionnaires.
  • persist (bool) – Si ( True par défaut), les fichiers de données mis à jour écrasent les copies fournies avec le progiciel installé, de sorte que la mise à jour soit conservée d'une session à l'autre. Dans ce cas False, les données sont enregistrées dans un répertoire temporaire, ce qui permet à l'opération de refresh() s'exécuter correctement même lorsque le paquet est installé dans un emplacement en lecture seule, au prix d'une perte des modifications entre les sessions.

Augmentations

  • ValueError – si le service fourni est une instance d' non-QiskitRuntimeService.
  • Exception – Si la cible réelle n'existe pas ou n'est pas accessible

Type de retour

Aucun

run

run(run_input, **options)

GitHub

Exécutez le programme sur le faux backend à l'aide d'un simulateur.

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

Si qiskit-aer est installé, les tâches seront exécutées à l'aide de AerSimulator avec le modèle de bruit du faux backend. Sinon, les tâches seront exécutées à l'aide de BasicSimulator sans aucune modification.

À l'heure actuelle, la simulation « noisy » d'un travail par lots n'est pas encore prise en charge dans FakeBackendV2.

Paramètres

  • run_input (QuantumCircuit | list[QuantumCircuit]) – Une personne ou une liste de QuantumCircuit
  • options (dict) – Y a-t-il des options kwarg à transmettre au backend pour l'exécution de la configuration? Si une clé figure également dans l'attribut ou l'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 de tâche pour l'exécution

Type de retour

Travail

set_options

set_options(**fields)

Configurez les champs d'options pour le backend

Cette méthode sert à mettre à jour les options d'un backend. Si vous devez modifier l'une des options avant l'exécution, il suffit de passer l'argument clé avec la nouvelle valeur de l'option.

Paramètres

champs – Les champs permettant de mettre à jour les options

Augmentations

AttributeError – Si le champ transmis ne figure pas parmi les options

status

status()

GitHub

Renvoie l'état du backend.

Retours

L'état du backend.

Type de retour

BackendStatus

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