qilisdk.functionals.variational_program

Classes

VariationalProgram

Bundle a parameterized functional, optimizer, and cost function into a variational loop.

Module Contents

class VariationalProgram(functional: qilisdk.functionals.functional.PrimitiveFunctional, optimizer: qilisdk.optimizers.optimizer.Optimizer, cost_function: qilisdk.cost_functions.cost_function.CostFunction, store_intermediate_results: bool = False, parameter_constraints: list[qilisdk.core.comparison.Comparison] | None = None)[source]

Bases: qilisdk.functionals.functional.Functional

Bundle a parameterized functional, optimizer, and cost function into a variational loop.

Example

program = VariationalProgram(functional, optimizer, cost_function)
Parameters:
  • functional (PrimitiveFunctional) – Parameterized functional to optimize.

  • optimizer (Optimizer) – Optimization routine controlling parameter updates.

  • cost_function (CostFunction) – Metric used to evaluate functional executions.

  • store_intermediate_results (bool) – Persist intermediate executions if requested by the optimizer. Defaults to False.

  • parameter_constraints (list[Comparison] | None) – Optional constraints on parameter values that are enforced before optimizer updates are applied. Defaults to None.

Raises:

ValueError – if the user applies constraints on parameters that are not present in the variational program. Or the constraints contain Objects that are not parameters.

property functional: qilisdk.functionals.functional.PrimitiveFunctional[source]

Parameterized functional that will be optimised.

property optimizer: qilisdk.optimizers.optimizer.Optimizer[source]

Optimizer responsible for parameter updates.

property cost_function: qilisdk.cost_functions.cost_function.CostFunction[source]

Cost function applied to functional results.

property store_intermediate_results: bool[source]

Whether intermediate execution data should be stored.

get_constraints() list[qilisdk.core.comparison.Comparison][source]

Return variational-program-level constraints plus those from the underlying functional.

Returns:

Combined list of constraints from the

program and the wrapped functional.

Return type:

list[Comparison]

check_parameter_constraints(parameters: dict[str, float]) int[source]

Return a penalty score indicating how many constraints are violated.

Each violated constraint adds 100 to the returned score; a fully valid parameter set returns 0.

Parameters:

parameters (dict[str, float]) – Proposed parameter values keyed by label.

Returns:

Cumulative penalty (0 when all constraints are satisfied).

Return type:

int