lumopt2.parametrization.combined_parametrization#

CombinedParametrization - Combine multiple parametrizations into a single one.

This class allows combining multiple parametrizations (e.g. ClosedCurve and Parametrization instances) so that they can be optimized jointly as a single parameter vector.

Each child parametrization retains its own geometry, bounds, and gradient computation logic. The combined class handles:

  • Concatenation of parameter vectors, bounds, and initial values

  • Delegation of update_structure and gradient computation to each child

  • Enforcement that all children share the same optimization region

Basic Usage Example:
>>> combined = CombinedParametrization([parametrization_a, closed_curve_b])
>>> combined.n_params  # sum of children's n_params
>>> combined.get_initial_params()  # concatenated initial params

Notes#

CombinedParametrization instances cannot be nested – a clear error is raised at construction time if any child is itself a CombinedParametrization. Instead, pass all parametrizations as a single flat list:

>>> combined = CombinedParametrization([param_a, param_b, param_c])

Classes#

CombinedParametrization(parametrizations)

Combine multiple parametrizations into a single parametrization.