pwc_sum
Graph.pwc_sum(terms, *, name=None)
Create the sum of multiple piecewise-constant terms.
Parameters
- terms (list [Pwc ]) – The individual piecewise-constant terms
- name (str or None , optional) – The name of the node.
Returns
The piecewise-constant function (or batch of functions) of time
Return type
SEE ALSO
Graph.discretize_stf
: Discretize an Stf into a Pwc.
Graph.pwc
: Create piecewise-constant functions.
Graph.pwc_operator
: Create Pwc operators.
Graph.pwc_signal
: Create Pwc signals from (possibly complex) values.
Graph.stf_sum
: Corresponding operation for Stfs.
Notes
For more information on Pwc nodes see the Working with time-dependent functions in Boulder Opal topic.
Examples
Sum a list of piecewise-constant terms of different durations.
>>> x = graph.pwc(durations=np.array([0.1, 0.3]), values=np.array([1, 2]))
>>> y = graph.pwc(durations=np.array([0.2, 0.2]), values=np.array([3, 1]))
>>> graph.pwc_sum([x, y], name="sum")
<Pwc: name="sum", operation_name="pwc_sum", value_shape=(), batch_shape=()>
>>> result = bo.execute_graph(graph=graph, output_node_names="sum")
>>> result["output"]["sum"]
{
'durations': array([0.1, 0.1, 0.2]),
'values': array([4., 5., 3.]),
'time_dimension': 0
}
See more examples in the How to optimize controls robust to strong noise sources user guide.