Paramètre
class qiskit.circuit.Parameter(name, uuid=None)
Bases : ParameterExpression
Un paramètre symbolique au moment de la compilation.
La valeur d'un Parameter doit être entièrement déterminée avant que le circuit ne commence son exécution. En règle générale, cela signifie que vous devez fournir des valeurs pour tous Parameterles « s » d'un circuit à l'aide de QuantumCircuit.assign_parameters(), bien que certains fabricants de matériel puissent vous permettre de définir un circuit à l'aide de ces paramètres, à condition que vous leur transmettiez également les valeurs séparément.
C'est l'atome de ParameterExpressionet est lui-même une expression. La valeur numérique d'un paramètre ne doit pas nécessairement être fixée pendant la définition du circuit.
Exemples
Construire une porte X à rotation variable en utilisant les paramètres du circuit.
from qiskit.circuit import QuantumCircuit, Parameter
# create the parameter
phi = Parameter("phi")
qc = QuantumCircuit(1)
# parameterize the rotation
qc.rx(phi, 0)
qc.draw("mpl")
# bind the parameters after circuit to create a bound circuit
bc = qc.assign_parameters({phi: 3.14})
bc.measure_all()
bc.draw("mpl")

Attributs
name
Renvoie le nom du fichier Parameter.
num_parameters
Le nombre de paramètres non liés dans l'expression.
Cela équivaut à len(expr.parameters) mais n'implique pas la surcharge liée à la création d'un ensemble et au comptage de sa longueur.
parameters
Obtenir les paramètres présents dans l'expression.
Qiskit garantit l'égalité (via ==) des paramètres récupérés d'une expression avec les objets originaux utilisés pour créer cette expression Parameter utilisés pour créer cette expression, mais ne garantit pas le succès des comparaisons is .
uuid
Dans les cas d'utilisation avancés, cette propriété peut être transmise au constructeur pour produire une instance qui se compare à une autre instance Parameter pour produire une instance qui se compare à une autre instance.
Méthodes
abs
abs()
Prendre la valeur absolue de l'expression.
arccos
arccos()
Arccosine de l'expression.
arcsin
arcsin()
Arcsine de l'expression.
arctan
arctan()
Arctangente de l'expression.
assign
assign(parameter, value)
Assigner un paramètre à une valeur, qui peut être numérique ou une autre expression de paramètre.
Paramètres
- parameter - Paramètre de cette expression dont la valeur sera mise à jour.
- value - La nouvelle valeur à laquelle se rattacher.
Retours
Une nouvelle expression paramétrée par tous les paramètres qui n'ont pas été liés par l'affectation.
bind
bind(parameter_values, allow_unknown_parameters=False)
Relie l'ensemble des paramètres fournis à leurs valeurs correspondantes.
Paramètres
- parameter_values - Mappage des instances
Parameterà la valeur numérique à laquelle elles seront liées. - allow_unknown_parameters - Si
False, lève une erreur siparameter_valuescontient desParameterdans les clés en dehors de celles présentes dans l'expression. SiTrue, ces paramètres sont simplement ignorés.
Augmentations
-
- Si parameter_values contient des paramètres autres que ceux de self. - Si une valeur non numérique est transmise à
parameter_values.
- Si parameter_values contient des paramètres autres que ceux de self. - Si une valeur non numérique est transmise à
-
- Si la liaison des valeurs fournies nécessite une division par zéro.
Retours
Une nouvelle expression paramétrée par tous les paramètres qui n'ont pas été liés par parameter_values.
bind_all
bind_all(values)
Lier tous les paramètres de self aux valeurs numériques du dictionnaire, en renvoyant une valeur numérique.
Il s'agit d'un cas particulier de bind() qui peut atteindre des performances plus élevées. Le fait que le dictionnaire values contienne des paramètres qui ne sont pas utilisés dans cette expression ne pose aucun problème; il est prévu que le même dictionnaire de liaisons soit également utilisé dans d'autres expressions.
C'est une erreur d'appeler cette méthode avec un dictionnaire values qui ne lie pas toutes les valeurs, ou d'appeler cette méthode avec des valeurs non numériques, mais cela n'est pas explicitement vérifié, puisque cette méthode est destinée à une utilisation sensible aux performances. La transmission d'un dictionnaire incorrect peut entraîner un comportement inattendu.
Contrairement à bind()cette méthode ne lèvera pas d'exception si des valeurs flottantes non finies sont rencontrées.
Paramètres
valeurs - correspondance entre les paramètres et les valeurs numériques.
conjugate
conjugate()
Retourne le conjugué complexe de l'expression.
cos
cos()
Cosinus de l'expression.
exp
exp()
Exponentialiser l'expression.
gradient
gradient(param)
Renvoie la dérivée de cette expression par rapport au paramètre d'entrée.
Paramètres
param - Le paramètre par rapport auquel la dérivée est calculée.
Retours
La dérivée sous forme d'une valeur numérique constante ou d'une valeur symbolique ParameterExpression.
is_real
is_real()
Vérifiez si l'expression représente un nombre réel.
Notez que cette méthode renvoie None s'il existe des paramètres non liés, auquel cas il est impossible de déterminer si l'expression est réelle.
is_symbol
is_symbol()
Vérifier si l'expression correspond à un symbole simple.
Retours
True si cette expression correspond à un symbole, False sinon.
log
log()
Prendre le logarithme naturel de l'expression.
numeric
numeric(strict=True)
Convertit cette expression en une valeur numérique.
Paramètres
strict - Si True (par défaut), cette fonction lève une erreur s'il y a des symboles non liés dans l'expression. Si False, cela permet d'effectuer un casting si l'expression représente une valeur numérique, sans tenir compte des symboles non liés. Par exemple, (0 * Parameter("x")) correspond à 0, mais le symbole x est présent.
sign
sign()
Renvoie le signe de l'expression.
sin
sin()
Sinus de l'expression.
subs
subs(parameter_map, allow_unknown_parameters=False)
Renvoie une nouvelle expression avec des paramètres de remplacement.
Paramètres
- parameter_map - Correspondance entre les
Parameterdansselfaux instancesParameterExpressionpar lesquelles elles doivent être remplacées. - allow_unknown_parameters - Si
False, lève une erreur siparameter_mapcontient desParameterdans les clés en dehors de celles présentes dans l'expression. SiTrue, ces paramètres sont simplement ignorés.
Augmentations
- Si parameter_map contient des paramètres autres que ceux de self. - Si les paramètres de remplacement dans
parameter_mapentraîneraient un conflit de noms dans l'expression générée.
Retours
Une nouvelle expression remplacée par les paramètres spécifiés.
sympify
sympify()
Retourne un équivalent SymPy de cette expression.
Retours
Un équivalent SymPy de cette expression.
tan
tan()
Tangente de l'expression.