bachelor_thesis/performance/regimes/graph_intermediate_regime.py

35 lines
798 B
Python

from collections import deque
import matplotlib.pyplot as plt
import numpy as np
import json
from pyqcs import State, H, X, S, CZ
from pyqcs.graph.state import GraphState
from pyqcs.util.random_circuits import random_circuit
def S_with_extra_arg(act, i):
return S(act)
np.random.seed(0xdeadbeef)
circuit = random_circuit(50, 700, X, H, S_with_extra_arg, CZ)
state = circuit * GraphState.new_plus_state(50)
vops, edges = state._g_state.to_lists()
handled_edges = set()
dot_edges = deque()
for i, ngbhd in enumerate(edges):
for j in ngbhd:
if((i,j) not in handled_edges):
dot_edges.append(f"{i} -- {j}")
handled_edges |= {(i,j), (j,i)}
dot_edges_str = "\n".join(dot_edges)
dot_str = "graph graphical_state{\n" + dot_edges_str + "\n}"
print(dot_str)