kaira.constraints.utils.apply_constraint_chain

kaira.constraints.utils.apply_constraint_chain(constraints: List[BaseConstraint], input_tensor: Tensor) Tensor[source]

Apply a list of constraints in sequence and optionally print debug info.

Applies multiple constraints to a tensor sequentially and provides optional debugging information about power changes at each step.

Parameters:
  • constraints (List[BaseConstraint]) – List of constraint objects to apply in sequence

  • input_tensor (torch.Tensor) – Input tensor to be constrained

Returns:

Output tensor after applying all constraints

Return type:

torch.Tensor

Example

>>> constraints = [
...     TotalPowerConstraint(1.0),
...     PAPRConstraint(4.0)
... ]
>>> output = apply_constraint_chain(constraints, input_signal)