Skip to main content
IBM Quantum Platform

FakeSherbrooke

class FakeSherbrooke

GitHub

Bases : FakeBackendV2

Un faux backend 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) auxquelles le serveur a été mis en ligne
  • 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 parmi les options du backend


Attributs

backend_name

Type: str

Valeur par défaut : 'fake_sherbrooke'

Nom du backend.

conf_filename

Type: str

Valeur par défaut : 'conf_sherbrooke.json'

Nom du fichier de configuration du backend.

coupling_map

Renvoyer l CouplingMap objet

dirname

Type: str

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

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

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

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

Retours

Le pas de temps du signal de sortie en secondes.

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

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

Cette propriété renvoyait auparavant la valeur max_experiments de la configuration du backend, mais cette valeur n'est plus une représentation exacte des limites des circuits du backend. De nouveaux champs seront ajoutés pour indiquer les nouvelles limites.

meas_map

Retourne le regroupement des mesures qui sont multiplexées

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

Retours

Le regroupement des mesures qui sont multiplexées

Augmentations

NotImplementedError - si le backend ne permet pas d'interroger la cartographie des mesures

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.

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_sherbrooke.json'

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

provider

Renvoyer le fournisseur d'accès.

Retours

le fournisseur responsable du backend.

Type de retour

fournisseur

target

A qiskit.transpiler.Target objet pour le backend.

Type de retour

cible

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.version, qui est la version de l'interface abstraite Backend .


Méthodes

check_faulty

check_faulty(circuit)

GitHub

Vérifier si le circuit d'entrée utilise des qubits ou des arêtes défectueux.

Paramètres

circuit (QuantumCircuit) – Circuit à vérifier.

Augmentations

ValueError - Si une instruction opérant sur un qubit ou un bord défectueux est trouvée.

Type de retour

Aucun

configuration

configuration()

GitHub

Retourne la configuration du backend.

Type de retour

QasmBackendConfiguration

properties

properties(refresh=False)

GitHub

Renvoie les propriétés du backend.

Paramètres

refresh (bool) – Si True, récupérer 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)

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 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

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 ]

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 sont conservés pendant toute la durée des sessions, de sorte que les fichiers restent mis à jour à moins qu'ils ne soient annulés manuellement au niveau local ou lorsque qiskit-ibm-runtime 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) – Une instance QiskitRuntimeService
  • use_fractional_gates (bool) – Mettre 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 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écuter sur le faux backend à l'aide d'un simulateur.

Cette méthode exécute des travaux de circuit (un individu ou une liste de QuantumCircuit ) en utilisant BasicSimulator ou le simulateur Aer et renvoie un Job objet.

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

Actuellement, la simulation bruyante d'une tâche d'impulsion 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 du travail pour l'exécution

Type de retour

Travail

set_options

set_options(**fields)

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

status

status()

GitHub

Renvoie le statut du backend.

Retours

Le statut du backend.

Type de retour

BackendStatus

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