qilisdk.functionals.variational_program
Classes
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.FunctionalBundle 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