ParameterExpression
qiskit.circuit.ParameterExpression(symbol_map, expr)
Bases: object
(opens in a new tab)
ParameterExpression class to enable creating expressions of Parameters.
Create a new ParameterExpression
.
Not intended to be called directly, but to be instantiated via operations on other Parameter
or ParameterExpression
objects.
Parameters
- symbol_map (Dict[Parameter, [ParameterExpression, float (opens in a new tab), or int (opens in a new tab)]]) – Mapping of
Parameter
instances to thesympy.Symbol
serving as their placeholder in expr. - expr (sympy.Expr) – Expression of
sympy.Symbol
s.
Attributes
parameters
Returns a set of the unbound Parameters in the expression.
Methods
abs
abs()
Absolute of a ParameterExpression
arccos
arccos()
Arccos of a ParameterExpression
arcsin
arcsin()
Arcsin of a ParameterExpression
arctan
arctan()
Arctan of a ParameterExpression
assign
assign(parameter, value)
Assign one parameter to a value, which can either be numeric or another parameter expression.
Parameters
- parameter (Parameter) – A parameter in this expression whose value will be updated.
- value (ParameterExpression |float (opens in a new tab)) – The new value to bind to.
Returns
A new expression parameterized by any parameters which were not bound by assignment.
Return type
bind
bind(parameter_values, allow_unknown_parameters=False)
Binds the provided set of parameters to their corresponding values.
Parameters
- parameter_values (dict (opens in a new tab)) – Mapping of Parameter instances to the numeric value to which they will be bound.
- allow_unknown_parameters (bool (opens in a new tab)) – If
False
, raises an error ifparameter_values
contains Parameters in the keys outside those present in the expression. IfTrue
, any such parameters are simply ignored.
Raises
-
- If parameter_values contains Parameters outside those in self. - If a non-numeric value is passed in parameter_values.
-
ZeroDivisionError (opens in a new tab) –
- If binding the provided values requires division by zero.
Returns
A new expression parameterized by any parameters which were not bound by parameter_values.
Return type
conjugate
conjugate()
Return the conjugate.
Return type
cos
cos()
Cosine of a ParameterExpression
exp
exp()
Exponential of a ParameterExpression
gradient
gradient(param)
Get the derivative of a parameter expression w.r.t. a specified parameter expression.
Parameters
param (Parameter) – Parameter w.r.t. which we want to take the derivative
Returns
ParameterExpression representing the gradient of param_expr w.r.t. param or complex or float number
Return type
ParameterExpression | complex (opens in a new tab)
is_real
is_real()
Return whether the expression is real
log
log()
Logarithm of a ParameterExpression
sign
sign()
Sign of a ParameterExpression
sin
sin()
Sine of a ParameterExpression
subs
subs(parameter_map, allow_unknown_parameters=False)
Returns a new Expression with replacement Parameters.
Parameters
- parameter_map (dict (opens in a new tab)) – Mapping from Parameters in self to the ParameterExpression instances with which they should be replaced.
- allow_unknown_parameters (bool (opens in a new tab)) – If
False
, raises an error ifparameter_map
contains Parameters in the keys outside those present in the expression. IfTrue
, any such parameters are simply ignored.
Raises
- If parameter_map contains Parameters outside those in self. - If the replacement Parameters in parameter_map would result in a name conflict in the generated expression.
Returns
A new expression with the specified parameters replaced.
Return type
sympify
sympify()
Return symbolic expression as a raw Sympy or Symengine object.
Symengine is used preferentially; if both are available, the result will always be a symengine
object. Symengine is a separate library but has integration with Sympy.
This is for interoperability only. Qiskit will not accept or work with raw Sympy or Symegine expressions in its parameters, because they do not contain the tracking information used in circuit-parameter binding and assignment.
tan
tan()
Tangent of a ParameterExpression