>>> initial_state = np.array([1, 0])
>>> sigma_x = np.array([[0, 1], [1, 0]])
>>> duration = np.pi
>>> hamiltonian = graph.constant_pwc_operator(duration=duration, operator=sigma_x / 2)
>>> graph.time_evolution_operators_pwc(
... hamiltonian=hamiltonian, sample_times=np.array([duration]), name="unitaries"
... )
<Tensor: name="unitaries", operation_name="time_evolution_operators_pwc", shape=(1, 2, 2)>
>>> result = qctrl.functions.calculate_graph(graph=graph, output_node_names=["unitaries"])
>>> result.output["unitaries"]["value"].dot(initial_state)
array([[5.0532155e-16+0.j, 0.0000000e+00-1.j]])