The Boulder Opal Toolkits are currently in beta phase of development. Breaking changes may be introduced.

complex_optimizable_pwc_signal(segment_count, duration, maximum, initial_values=None, *, name=None)

Create a complex optimizable piecewise-constant signal.

  • segment_count (int) – The number of segments of the signal.

  • duration (float) – The duration of the signal.

  • maximum (float) – The upper bound for the modulus of the signal values.

  • initial_values (np.ndarray or list[np.ndarray], optional) – Initial values for the signal. Defaults to None, meaning the optimizer initializes these variables with random values. You can either provide a single array, or a list of them. If a list of arrays are used, they must have the same length.

  • name (str, optional) – The name of the node.


The optimizable piecewise-constant signal.

Return type:


See also


Create a real optimizable Pwc signal.


Create a complex piecewise-constant signal from moduli and phases.


Create optimization variables, which can be bounded, semi-bounded, or unbounded.


Create a piecewise-constant signal.


Note that this function sets limits to the modulus of the signal.

If you want to set (different) limits to the real and imaginary parts instead, consider using graph.utils.real_optimizable_signal to create signals for the real and imaginary parts, which you can pass to graph.complex_value.