In [9]:
#
# This cell loads the required dictionaries with information about the mirror dual nef ids, intersection numbers,
# equivalence classes and data calculated by Volker Braun, Thomas W. Grimm and Jan Keitel in http://arxiv.org/abs/1411.2615
#
# You have to follow the instructions and run the code in "loadData1411.2615.jpynb" first!

with open("dualids.txt", "r") as f:
    
    dictDualIds = eval(f.read())
    
with open("equivalence.txt", "r") as f:
    
    dictEquivalences = eval(f.read())
    
with open("intersection.txt", "r") as f:
    
    dictIntersections = eval(f.read())

with open("data1411_2615.txt", "r") as f:
    
    dict1411data = eval(f.read())
In [70]:
# This cell prints the Mirror pairs where the Mirror conjecture appears to fail

import fractions

added = []
conjectureFails = []

for pair in dictDualIds.items():
    
    kSectionsAmin = min([a for a in dictIntersections[pair[0]] if a > 0])
    kSectionsAgcd = reduce(gcd, dictIntersections[pair[0]])
    mwTorsionB = dict1411data[pair[1]][0][1]
    
    product = dict1411data[pair[0]][3] or dict1411data[pair[1]][3]
    
    if not (kSectionsAmin == mwTorsionB) and not product:
    
        if pair[0] not in added:
            
            added.append(pair[0])
            added.append(pair[1])
            
            conjectureFails.append(pair)

reduced = []
added = []

for fail in conjectureFails:
    
    eq1 = dictEquivalences[fail[0]]
    eq2 = dictEquivalences[fail[1]]
    
    isAdded = reduce(operator.or_, [a in added for a in eq1]) or reduce(operator.or_, [a in added for a in eq2])
    
    if not isAdded:
    
        for a in eq1:
            
            added.append(a)
            
        for a in eq2:
            
            added.append(a)
    
        reduced.append([dictEquivalences[fail[0]], dictEquivalences[fail[1]]])
    
print "The Mirror conjecture superficially appears to fail in the following cases:\n"
    
for r in reduced:
    
    print str(r[0]) + " dual to " + str(r[1])
    print "\n"
The Mirror conjecture superficially appears to fail in the following cases:

[(29, 2)] dual to [(577, 0)]


[(150, 1)] dual to [(208, 1)]


[(129, 0)] dual to [(129, 0)]


[(34, 0)] dual to [(321, 1)]


[(56, 2), (56, 3)] dual to [(356, 2), (289, 0)]


[(149, 2), (108, 0)] dual to [(160, 1), (160, 2)]


[(5, 1), (4, 0)] dual to [(3013, 1), (3013, 0)]


[(349, 3), (266, 0)] dual to [(78, 3), (78, 2)]


[(218, 1), (152, 0)] dual to [(195, 4), (195, 1)]


[(84, 7), (84, 2), (39, 1), (39, 0)] dual to [(397, 4), (397, 1), (335, 1), (335, 0)]


[(488, 0)] dual to [(21, 1)]


[(215, 5), (215, 2), (122, 0), (122, 1)] dual to [(215, 5), (215, 2), (122, 0), (122, 1)]


[(30, 0), (8, 0)] dual to [(609, 0), (609, 1)]


[(194, 2), (194, 4), (152, 1), (152, 2)] dual to [(194, 2), (194, 4), (152, 1), (152, 2)]


[(5, 3)] dual to [(2069, 0)]


In [ ]: