예제 #1
0
import numpy as np
from bellpolytope import BellPolytope





if __name__ == '__main__':
    N=4
    K=3
    poly = BellPolytope(N,K)  
    
    vertices=poly.getVertices()
    distributions=np.matrix(vertices)
    NumberOfCoefficients=(N*K)**2
    
    with open('randomfunctionals.txt','w') as f:
        f.write('Random functionals \n')
            
    for j in range (0,10):
        functional=np.random.uniform(-63,1,size=NumberOfCoefficients)
    
        values=np.dot(distributions,np.transpose(functional))
        c=np.amax(values)
    
        BellNormalisedFunctional=functional/c
        with open('randomfunctionals.txt','a') as f:
            np.savetxt(f, BellNormalisedFunctional, fmt='%.2f')
            f.write('\n')        
예제 #2
0
InputsBob = 4
OutputsAlice = 2
OutputsBob = 2
NumberOfInequalities = 174

functionals = np.loadtxt('dataconverted.txt')
poly = BellPolytope(InputsAlice, OutputsAlice)
InefficiencyResistantInequalities = np.zeros(
    (NumberOfInequalities,
     InputsAlice * (OutputsAlice + 1) * InputsBob * (OutputsBob + 1)))
text = open("IneffFunctionals4433LispCG.txt", 'w')
lisp = LispHelper
for j in range(0, NumberOfInequalities):
    NormalisedFunctional = np.zeros(InputsAlice * (OutputsAlice + 1) *
                                    InputsBob * (OutputsBob + 1))
    vertices4422 = np.matrix(poly.getVertices())
    values4422 = np.dot(vertices4422, np.transpose(functionals[j][:]))
    minimum = np.amin(values4422)
    if minimum < -1:  #JUST THE INEQUALITIES WE WANT
        InefficiencyResistantInequalities[
            j][:] = extendInequalityToDetecLoopholeSetting(
                functionals[j][:], InputsAlice, OutputsAlice, parties)
        vertices4433 = BellPolytope(InputsAlice,
                                    OutputsAlice + 1).getVertices()
        distributions = np.matrix(vertices4433)
        values4433 = np.dot(
            distributions,
            np.transpose(InefficiencyResistantInequalities[j][:]))
        maximum = np.amax(values4433)
        if maximum != 0:
            NormalisedFunctional = InefficiencyResistantInequalities[