244 lines
7.4 KiB
Plaintext
244 lines
7.4 KiB
Plaintext
---
|
||
title: Parameter
|
||
description: API reference for qiskit.circuit.Parameter
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.circuit.Parameter
|
||
---
|
||
|
||
# Parameter
|
||
|
||
<Class id="qiskit.circuit.Parameter" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.24/qiskit/circuit/parameter.py" signature="Parameter(name, uuid=None)" modifiers="class">
|
||
Bases: [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")
|
||
|
||
Parameter Class for variable parameters.
|
||
|
||
A parameter is a variable value that is not required to be fixed at circuit definition.
|
||
|
||
**Examples**
|
||
|
||
Construct a variable-rotation X gate using circuit parameters.
|
||
|
||
```python
|
||
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.bind_parameters({phi: 3.14})
|
||
bc.measure_all()
|
||
bc.draw('mpl')
|
||
```
|
||
|
||

|
||
|
||

|
||
|
||
Create a new named [`Parameter`](#qiskit.circuit.Parameter "qiskit.circuit.Parameter").
|
||
|
||
**Parameters**
|
||
|
||
**name** – name of the `Parameter`, used for visual representation. This can be any unicode string, e.g. “ϕ”.
|
||
|
||
## Methods
|
||
|
||
<span id="qiskit-circuit-parameter-arccos" />
|
||
|
||
### arccos
|
||
|
||
<Function id="qiskit.circuit.Parameter.arccos" signature="Parameter.arccos()">
|
||
Arccos of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-arcsin" />
|
||
|
||
### arcsin
|
||
|
||
<Function id="qiskit.circuit.Parameter.arcsin" signature="Parameter.arcsin()">
|
||
Arcsin of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-arctan" />
|
||
|
||
### arctan
|
||
|
||
<Function id="qiskit.circuit.Parameter.arctan" signature="Parameter.arctan()">
|
||
Arctan of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-assign" />
|
||
|
||
### assign
|
||
|
||
<Function id="qiskit.circuit.Parameter.assign" signature="Parameter.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** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *| float*) – The new value to bind to.
|
||
|
||
**Returns**
|
||
|
||
A new expression parameterized by any parameters which were not bound by assignment.
|
||
|
||
**Return type**
|
||
|
||
[ParameterExpression](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-bind" />
|
||
|
||
### bind
|
||
|
||
<Function id="qiskit.circuit.Parameter.bind" signature="Parameter.bind(parameter_values, allow_unknown_parameters=False)">
|
||
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.
|
||
* **allow\_unknown\_parameters** (*bool*) – If `False`, raises an error if `parameter_values` contains Parameters in the keys outside those present in the expression. If `True`, any such parameters are simply ignored.
|
||
|
||
**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.
|
||
|
||
**Returns**
|
||
|
||
A new expression parameterized by any parameters which were not bound by parameter\_values.
|
||
|
||
**Return type**
|
||
|
||
[ParameterExpression](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-conjugate" />
|
||
|
||
### conjugate
|
||
|
||
<Function id="qiskit.circuit.Parameter.conjugate" signature="Parameter.conjugate()">
|
||
Return the conjugate.
|
||
|
||
**Return type**
|
||
|
||
[ParameterExpression](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-cos" />
|
||
|
||
### cos
|
||
|
||
<Function id="qiskit.circuit.Parameter.cos" signature="Parameter.cos()">
|
||
Cosine of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-exp" />
|
||
|
||
### exp
|
||
|
||
<Function id="qiskit.circuit.Parameter.exp" signature="Parameter.exp()">
|
||
Exponential of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-gradient" />
|
||
|
||
### gradient
|
||
|
||
<Function id="qiskit.circuit.Parameter.gradient" signature="Parameter.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
|
||
|
||
**Returns**
|
||
|
||
ParameterExpression representing the gradient of param\_expr w\.r.t. param or complex or float number
|
||
|
||
**Return type**
|
||
|
||
[ParameterExpression](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") | complex
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-is-real" />
|
||
|
||
### is\_real
|
||
|
||
<Function id="qiskit.circuit.Parameter.is_real" signature="Parameter.is_real()">
|
||
Return whether the expression is real
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-log" />
|
||
|
||
### log
|
||
|
||
<Function id="qiskit.circuit.Parameter.log" signature="Parameter.log()">
|
||
Logarithm of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-sin" />
|
||
|
||
### sin
|
||
|
||
<Function id="qiskit.circuit.Parameter.sin" signature="Parameter.sin()">
|
||
Sine of a ParameterExpression
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-subs" />
|
||
|
||
### subs
|
||
|
||
<Function id="qiskit.circuit.Parameter.subs" signature="Parameter.subs(parameter_map, allow_unknown_parameters=False)">
|
||
Substitute self with the corresponding parameter in `parameter_map`.
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-parameter-sympify" />
|
||
|
||
### sympify
|
||
|
||
<Function id="qiskit.circuit.Parameter.sympify" signature="Parameter.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>
|
||
|
||
<span id="qiskit-circuit-parameter-tan" />
|
||
|
||
### tan
|
||
|
||
<Function id="qiskit.circuit.Parameter.tan" signature="Parameter.tan()">
|
||
Tangent of a ParameterExpression
|
||
</Function>
|
||
|
||
## Attributes
|
||
|
||
### name
|
||
|
||
<Attribute id="qiskit.circuit.Parameter.name">
|
||
Returns the name of the [`Parameter`](#qiskit.circuit.Parameter "qiskit.circuit.Parameter").
|
||
</Attribute>
|
||
|
||
### parameters
|
||
|
||
<Attribute id="qiskit.circuit.Parameter.parameters">
|
||
Returns a set of the unbound Parameters in the expression.
|
||
</Attribute>
|
||
</Class>
|
||
|