BasicSimulator
class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)
Bases : BackendV2
Python la mise en œuvre d'un simulateur quantique de base (non efficace).
Le simulateur prend en charge jusqu'à 24 qubits pour la simulation par vecteur d'état et jusqu'à 2 048 qubits pour la simulation par opérateurs de Clifford/stabilisateurs.
Paramètres
- provider - Une référence optionnelle vers l'arrière à l'objet provider dont provient le backend.
- target (Target | None) – Une cible optionnelle pour configurer le simulateur.
- fields - kwargs pour les valeurs à utiliser pour remplacer les options par défaut.
Augmentations
AttributeError - Si un champ est spécifié en dehors des options du backend.
Attributs
MAX_QUBITS_CLIFFORD
Valeur par défaut : 2048
MAX_QUBITS_STATEVECTOR
Valeur par défaut : 24
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
Retours
Le pas de temps du signal de sortie en secondes.
Augmentations
NotImplementedError - si le backend ne permet pas d'interroger le signal de sortie timetep
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
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é. Ceux-ci 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
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)
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
run
run(run_input, **run_options)
Exécuter sur le backend.
Paramètres
- run_input (QuantumCircuit orlist) – l' QuantumCircuit (ou la liste des objets de type « QuantumCircuit ») à exécuter
- run_options (kwargs) – options supplémentaires du backend d'exécution
Retours
dérivé de BaseJob
Type de retour
Renseignements supplémentaires :
-
les options kwarg spécifiées dans
run_optionsremplacent temporairement toutes les options set du même nom pour l'exécution en cours. Il peut s'agir de- "Initial_statevector" : vectoriel. L'option "initial_statevector" spécifie un vecteur d'état initial personnalisé à utiliser à la place de l'état entièrement nul. La taille de ce vecteur doit correspondre au nombre de qubits de l'argument
run_input. - "Semence_simulateur" : int. Il s'agit de la semence interne pour la génération d'échantillons.
- "shots" : int. Nombre de tirs utilisés dans la simulation.
- "memory" : bool. S'il est vrai, le résultat contiendra les résultats de chaque simulation de tir.
- « use_clifford_optimization » : booléen. Si la valeur est True, cela active l'optimisation des circuits de Clifford à l'aide du formalisme des stabilisateurs. Valeur par défaut : False.
- "Initial_statevector" : vectoriel. L'option "initial_statevector" spécifie un vecteur d'état initial personnalisé à utiliser à la place de l'état entièrement nul. La taille de ce vecteur doit correspondre au nombre de qubits de l'argument
Exemple :
backend.run(
circuit_2q,
initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)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