>>> graph.outer_product(np.ones((3,1,2), np.ones(2,2), name="outer")
<Tensor: name="outer", operation_name="outer_product", shape=(3, 2, 2, 2)>
>>> result = qctrl.functions.calculate_graph(graph=graph, output_node_names=["outer"])
>>> result.output["outer"]["value"]
array([[[[1, 1], [1, 1]], [[1, 1], [1, 1]]],
[[[1, 1], [1, 1]], [[1, 1], [1, 1]]],
[[[1, 1], [1, 1]], [[1, 1], [1, 1]]])