205 lines
7.1 KiB
Plaintext
205 lines
7.1 KiB
Plaintext
---
|
||
title: ParameterExpression
|
||
description: API reference for qiskit.circuit.ParameterExpression
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.circuit.ParameterExpression
|
||
---
|
||
|
||
# ParameterExpression
|
||
|
||
<Class id="qiskit.circuit.ParameterExpression" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.21/qiskit/circuit/parameterexpression.py" signature="ParameterExpression(symbol_map, expr)" modifiers="class">
|
||
Bases: `object`
|
||
|
||
ParameterExpression class to enable creating expressions of Parameters.
|
||
|
||
Create a new [`ParameterExpression`](#qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression").
|
||
|
||
Not intended to be called directly, but to be instantiated via operations on other [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") or [`ParameterExpression`](#qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") objects.
|
||
|
||
**Parameters**
|
||
|
||
* **symbol\_map** (*Dict\[*[*Parameter*](qiskit.circuit.Parameter "qiskit.circuit.Parameter")*, \[*[*ParameterExpression*](#qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")*, float, or int]]*) – Mapping of [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") instances to the `sympy.Symbol` serving as their placeholder in expr.
|
||
* **expr** (*sympy.Expr*) – Expression of `sympy.Symbol` s.
|
||
|
||
## Methods
|
||
|
||
### arccos
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.arccos" signature="ParameterExpression.arccos()">
|
||
Arccos of a ParameterExpression
|
||
</Function>
|
||
|
||
### arcsin
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.arcsin" signature="ParameterExpression.arcsin()">
|
||
Arcsin of a ParameterExpression
|
||
</Function>
|
||
|
||
### arctan
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.arctan" signature="ParameterExpression.arctan()">
|
||
Arctan of a ParameterExpression
|
||
</Function>
|
||
|
||
### assign
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.assign" signature="ParameterExpression.assign(parameter, value)">
|
||
Assign one parameter to a value, which can either be numeric or another parameter expression.
|
||
|
||
**Parameters**
|
||
|
||
* **parameter** ([*Parameter*](qiskit.circuit.Parameter "qiskit.circuit.Parameter")) – A parameter in this expression whose value will be updated.
|
||
* **value** (`Union`\[[`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression"), `float`]) – The new value to bind to.
|
||
|
||
**Return type**
|
||
|
||
[`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")
|
||
|
||
**Returns**
|
||
|
||
A new expression parameterized by any parameters which were not bound by assignment.
|
||
</Function>
|
||
|
||
### bind
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.bind" signature="ParameterExpression.bind(parameter_values)">
|
||
Binds the provided set of parameters to their corresponding values.
|
||
|
||
**Parameters**
|
||
|
||
**parameter\_values** (`Dict`) – Mapping of Parameter instances to the numeric value to which they will be bound.
|
||
|
||
**Raises**
|
||
|
||
* **CircuitError** –
|
||
|
||
* If parameter\_values contains Parameters outside those in self. - If a non-numeric value is passed in parameter\_values.
|
||
|
||
* **ZeroDivisionError** –
|
||
|
||
* If binding the provided values requires division by zero.
|
||
|
||
**Return type**
|
||
|
||
[`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")
|
||
|
||
**Returns**
|
||
|
||
A new expression parameterized by any parameters which were not bound by parameter\_values.
|
||
</Function>
|
||
|
||
### conjugate
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.conjugate" signature="ParameterExpression.conjugate()">
|
||
Return the conjugate.
|
||
|
||
**Return type**
|
||
|
||
[`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")
|
||
</Function>
|
||
|
||
### cos
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.cos" signature="ParameterExpression.cos()">
|
||
Cosine of a ParameterExpression
|
||
</Function>
|
||
|
||
### exp
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.exp" signature="ParameterExpression.exp()">
|
||
Exponential of a ParameterExpression
|
||
</Function>
|
||
|
||
### gradient
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.gradient" signature="ParameterExpression.gradient(param)">
|
||
Get the derivative of a parameter expression w\.r.t. a specified parameter expression.
|
||
|
||
**Parameters**
|
||
|
||
**param** ([*Parameter*](qiskit.circuit.Parameter "qiskit.circuit.Parameter")) – Parameter w\.r.t. which we want to take the derivative
|
||
|
||
**Return type**
|
||
|
||
`Union`\[[`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression"), `complex`]
|
||
|
||
**Returns**
|
||
|
||
ParameterExpression representing the gradient of param\_expr w\.r.t. param or complex or float number
|
||
</Function>
|
||
|
||
### is\_real
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.is_real" signature="ParameterExpression.is_real()">
|
||
Return whether the expression is real
|
||
</Function>
|
||
|
||
### log
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.log" signature="ParameterExpression.log()">
|
||
Logarithm of a ParameterExpression
|
||
</Function>
|
||
|
||
### sin
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.sin" signature="ParameterExpression.sin()">
|
||
Sine of a ParameterExpression
|
||
</Function>
|
||
|
||
### subs
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.subs" signature="ParameterExpression.subs(parameter_map)">
|
||
Returns a new Expression with replacement Parameters.
|
||
|
||
**Parameters**
|
||
|
||
**parameter\_map** (`Dict`) – Mapping from Parameters in self to the ParameterExpression instances with which they should be replaced.
|
||
|
||
**Raises**
|
||
|
||
**CircuitError** –
|
||
|
||
* 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.
|
||
|
||
**Return type**
|
||
|
||
[`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")
|
||
|
||
**Returns**
|
||
|
||
A new expression with the specified parameters replaced.
|
||
</Function>
|
||
|
||
### sympify
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.sympify" signature="ParameterExpression.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.
|
||
|
||
<Admonition title="Note" type="note">
|
||
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.
|
||
</Admonition>
|
||
</Function>
|
||
|
||
### tan
|
||
|
||
<Function id="qiskit.circuit.ParameterExpression.tan" signature="ParameterExpression.tan()">
|
||
Tangent of a ParameterExpression
|
||
</Function>
|
||
|
||
## Attributes
|
||
|
||
### parameters
|
||
|
||
<Attribute id="qiskit.circuit.ParameterExpression.parameters">
|
||
Returns a set of the unbound Parameters in the expression.
|
||
|
||
**Return type**
|
||
|
||
`Set`
|
||
</Attribute>
|
||
</Class>
|
||
|