from abp.fancy import GraphState as FGS import abp from abp.util import xyz def linear_cluster(n): g = FGS(range(n), deterministic=True) g.act_circuit([(i, "hadamard") for i in range(n)]) g.act_circuit([((i, i+1), "cz") for i in range(n-1)]) return g def test_mercedes_example_1(): """ Run an example provided by mercedes """ g = linear_cluster(5) g.measure(3, "px", 1) g.measure(2, "px", 0) g.remove_nodes_from((2, 3)) print g.node g = linear_cluster(5) g.measure(2, "px", 0) g.measure(3, "px", 0) g.remove_vop(0, 1) g.remove_vop(1, 0) g.remove_nodes_from((2, 3)) a = g.to_state_vector() print g.node g = linear_cluster(5) g.measure(2, "px", 0) g.measure(3, "px", 1) g.remove_vop(0, 1) g.remove_vop(1, 0) g.remove_nodes_from((2, 3)) b = g.to_state_vector() print g.node if __name__ == '__main__': test_mercedes_example_1()