import sys
sys.path.append('../')

from circuits import sampleCircuitA, sampleCircuitB1, sampleCircuitB2,\
    sampleCircuitB3, sampleCircuitC, sampleCircuitD, sampleCircuitE,\
    sampleCircuitF
from entanglement import Ent

import warnings
warnings.filterwarnings('ignore')

labels = [
    'Circuit A', 'Circuit B1', 'Circuit B2', 'Circuit B3',
    'Circuit C', 'Circuit D', 'Circuit E', 'Circuit F'
]

samplers = [
    sampleCircuitA,
    sampleCircuitB1,
    sampleCircuitB2,
    sampleCircuitB3,
    sampleCircuitC,
    sampleCircuitD,
    sampleCircuitE,
    sampleCircuitF
]

q = 4
for layer in range(1, 4):
    print(f'qubtis: {q}')
    print('-' * 25)

    for (label, sampler) in zip(labels, samplers):
        expr = Ent(sampler, layer=layer, epoch=3000)
        print(f'{label}(layer={layer}): {expr}')
    print()

