braket.parametric.free_parameter_expression module

class braket.parametric.free_parameter_expression.FreeParameterExpression(expression: FreeParameterExpression | Number | Expr | str)[source]

Bases: object

Class ‘FreeParameterExpression’

Objects that can take a parameter all inherit from :class:’Parameterizable’. FreeParametersExpressions can hold FreeParameters that can later be swapped out for a number. Circuits or PulseSequences with FreeParameters present will NOT run. Values must be substituted prior to execution.

Initializes a FreeParameterExpression. Best practice is to initialize using FreeParameters and Numbers. Not meant to be initialized directly.

Below are examples of how FreeParameterExpressions should be made.

Parameters:

expression (Union[FreeParameterExpression, Number, Expr, str]) – The expression to use.

Raises:

NotImplementedError – Raised if the expression is not of type [FreeParameterExpression, Number, Expr, str]

Examples

>>> expression_1 = FreeParameter("theta") * FreeParameter("alpha")
>>> expression_2 = 1 + FreeParameter("beta") + 2 * FreeParameter("alpha")
property expression: Number | Expr

Gets the expression.

Returns:

Union[Number, Expr] – The expression for the FreeParameterExpression.

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

Similar to a substitution in Sympy. Parameters are swapped for corresponding values or expressions from the dictionary.

Parameters:

parameter_values (dict[str, Number]) – A mapping of parameters to their corresponding values to be assigned.

Returns:

Union[FreeParameterExpression, Number, Expr] – A numerical value if there are no symbols left in the expression otherwise returns a new FreeParameterExpression.

braket.parametric.free_parameter_expression.subs_if_free_parameter(parameter: Any, **kwargs: FreeParameterExpression | str) Any[source]

Substitute a free parameter with the given kwargs, if any.

Parameters:
  • parameter (Any) – The parameter.

  • **kwargs (Union[FreeParameterExpression, str]) – The kwargs to use to substitute.

Returns:

Any – The substituted parameters.