FreeParameter

class braket.parametric.free_parameter.FreeParameter(name)[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)
Parameters:

name (str)

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)[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.

Return type:

Number | FreeParameter

Returns:

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

to_dict()[source]
Return type:

dict

classmethod from_dict(parameter)[source]
Parameters:

parameter (dict)

Return type:

FreeParameter