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.variables.ComparisonTerm] | None = None)[font]

Bases: qilisdk.functionals.functional.Functional

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

Exemple

program = VariationalProgram(functional, optimizer, cost_function)
Paràmetres:
  • 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[ComparisonTerm] | None) – Optional constraints on parameter values that are enforced before optimizer updates are applied. Defaults to None.

Llença:

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[font]

Parameterized functional that will be optimised.

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

Optimizer responsible for parameter updates.

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

Cost function applied to functional results.

property store_intermediate_results: bool[font]

Whether intermediate execution data should be stored.

get_constraints() list[qilisdk.core.variables.ComparisonTerm][font]

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

Retorna:

Combined list of constraints from the

program and the wrapped functional.

Tipus de retorn:

list[ComparisonTerm]

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

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.

Paràmetres:

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

Retorna:

Cumulative penalty (0 when all constraints are satisfied).

Tipus de retorn:

int