>>> graph.expectation_value(np.array([1j, 1j]), np.eye(2), name="expectation")
<Tensor: name="expectation", operation_name="expectation_value", shape=()>
>>> result = qctrl.functions.calculate_graph(graph=graph, output_node_names=["expectation"])
>>> result.output["expectation"]["value"]
2.+0.j
>>> graph.expectation_value(np.ones([3,1,4]), np.ones([2,4,4]), name="expectation)
<Tensor: name="expectation", operation_name="expectation_value", shape=(3, 2)>
>>> result = qctrl.functions.calculate_graph(graph=graph, output_node_names=["expectation"])
>>> result.output["expectation"]["value"]
array([[16, 16], [16, 16], [16, 16]])