braket.parametric.free_parameter module

class braket.parametric.free_parameter.FreeParameter(name: str)[source]

Bases: FreeParameterExpression

Class ‘FreeParameter’

Free parameters can be used in parameterized circuits. Objects that can take a parameter all inherit from :class:’Parameterizable’. The FreeParameter can be swapped in to a circuit for a numerical value later on. Circuits with FreeParameters must have all the inputs provided at execution or substituted prior to execution.

Examples

>>> alpha, beta = FreeParameter("alpha"), FreeParameter("beta")
>>> circuit = Circuit().rx(target=0, angle=alpha).ry(target=1, angle=beta)
>>> circuit = circuit(alpha=0.3)
>>> device = LocalSimulator()
>>> device.run(circuit, inputs={'beta': 0.5} shots=10)

Initializes a new :class:’FreeParameter’ object.

Parameters:

name (str) – Name of the :class:’FreeParameter’. Can be a unicode value.

Examples

>>> param1 = FreeParameter("theta")
>>> param1 = FreeParameter("θ")
property name: str

Name of this parameter.

Type:

str

subs(parameter_values: dict[str, Number]) FreeParameter | Number[source]

Substitutes a value in if the parameter exists within the mapping.

Parameters:

parameter_values (dict[str, Number]) – A mapping of parameter to its corresponding value.

Returns:

Union[FreeParameter, Number] – The substituted value if this parameter is in parameter_values, otherwise returns self

to_dict() dict[source]
classmethod from_dict(parameter: dict) FreeParameter[source]