def test_custom_sanity_check(backend): net = tensornetwork.TensorNetwork(backend=backend) a = net.add_node(np.ones(2)) b = net.add_node(np.ones((2, 5))) # pylint: disable=pointless-statement a[0] ^ b[0] class PathOptimizer: def __call__(self, inputs, output, size_dict, memory_limit=None): return [(0, 1)] optimizer = PathOptimizer() final_node = path_contractors.custom(net, optimizer).get_final_node() np.testing.assert_allclose(final_node.tensor, np.ones(5) * 2.0)
def test_custom_sanity_check(backend): a = Node(np.ones(2), backend=backend) b = Node(np.ones((2, 5)), backend=backend) # pylint: disable=pointless-statement a[0] ^ b[0] nodes = [a, b] class PathOptimizer: def __call__(self, inputs, output, size_dict, memory_limit=None): return [(0, 1)] optimizer = PathOptimizer() final_node = path_contractors.custom(nodes, optimizer) np.testing.assert_allclose(final_node.tensor, np.ones(5) * 2.0)