Skip to main content
IBM Quantum Platform

Options

class qiskit.providers.Options(**kwargs)

GitHub

Bases : Mapping

Objet d'options de base

C'est sur cette classe que sont basées toutes les options du backend. Les propriétés de la classe sont censées être toutes ajustables dynamiquement afin qu'un utilisateur puisse reconfigurer le backend à la demande. Si une propriété est immuable pour l'utilisateur (par exemple quelque chose comme le nombre de qubits), cela devrait être une configuration de la classe backend elle-même au lieu des options.

Les instances de cette classe se comportent comme des dictionnaires. L'accès à une option avec une valeur par défaut peut se faire avec la méthode get() :

>>> options = Options(opt1=1, opt2=2)
>>> options.get("opt1")
1
>>> options.get("opt3", default="hello")
'hello'

Les paires clé-valeur de toutes les options peuvent être récupérées à l'aide de la méthode items() :

>>> list(options.items())
[('opt1', 1), ('opt2', 2)]

Les options peuvent être mises à jour par nom :

>>> options["opt1"] = 3
>>> options.get("opt1")
3

Des validateurs d'exécution peuvent être enregistrés. Voir set_validator. Les mises à jour via update_options et l'indexation (\N_setitem\N) valident la nouvelle valeur avant d'effectuer la mise à jour et renvoient ValueError si la nouvelle valeur n'est pas valide.

>>> options.set_validator("opt1", (1, 5))
>>> options["opt1"] = 4
>>> options["opt1"]
4
>>> options["opt1"] = 10
Traceback (most recent call last):
...
ValueError: ...

Attributs

validator


Méthodes

get

get(k[, d]) → D[k] if k in D, else d.  d defaults to None.

items

items() → a set-like object providing a view on D's items

keys

keys() → a set-like object providing a view on D's keys

set_validator

set_validator(field, validator_value)

GitHub

Définir un validateur optionnel pour un champ dans les options

La définition d'un validateur permet de valider l'exactitude des modifications apportées aux valeurs d'une option lors de l'appel de update_options() est appelé. Par exemple, si vous avez un champ numérique comme shots , vous pouvez spécifier un tuple de limites qui définit une limite supérieure et une limite inférieure pour la valeur, comme par exemple :

options.set_validator("shots", (1, 4096))

Dans ce cas, chaque fois que l'option "shots" est mise à jour par l'utilisateur, la valeur doit être >=1 et <=4096. Un message ValueError sera envoyé s'il est en dehors de ces limites. Si un validateur est déjà présent pour le champ spécifié, il sera remplacé silencieusement.

Paramètres

  • field (str) – Le nom du champ sur lequel le validateur doit être activé
  • validator_value (list ortuple ortype) – La valeur à utiliser pour le validateur, qui dépend du type, détermine la manière dont la valeur d'un champ est vérifiée. Si un tuple est transmis, il doit comporter deux éléments et respectera les valeurs minimale et maximale (incluses) pour les options de type entier ou flottant. S'il s'agit d'une liste, elle répertorie les valeurs valides pour un champ. Dans ce cas, type le validateur se contentera de vérifier que la valeur est bien d'un certain type.

Rises

  • KeyError - Si le champ n'est pas présent dans l'objet des options
  • ValueError - Si le site validator_value a une valeur invalide pour un type donné
  • TypeError - Si validator_value n'est pas un type valide

update_options

update_options(**fields)

GitHub

Mise à jour des options avec les kwargs

values

values() → an object providing a view on D's values

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