Skip to main content
IBM Quantum Platform

ParameterExpression

class qiskit.circuit.ParameterExpression(name_map, expr)

Bases : object

L'expression d'un paramètre.

Ceci est soutenu par le moteur d'expression symbolique de Qiskit et un cache pour les paramètres à l'intérieur de l'expression.


Attributs

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.

Remarque

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 .


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 si parameter_values contient des Parameterdans les clés en dehors de celles présentes dans l'expression. Si True, ces paramètres sont simplement ignorés.

Augmentations

  • CircuitError

    • Si parameter_values contient des paramètres autres que ceux de self. - Si une valeur non numérique est transmise à parameter_values.
  • ZeroDivisionError

    • 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 Parameterdans self aux instances ParameterExpression par lesquelles elles doivent être remplacées.
  • allow_unknown_parameters - Si False, lève une erreur si parameter_map contient des Parameterdans les clés en dehors de celles présentes dans l'expression. Si True, ces paramètres sont simplement ignorés.

Augmentations

CircuitError

  • Si parameter_map contient des paramètres autres que ceux de self. - Si les paramètres de remplacement dans parameter_map entraî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.

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