10-circular.py
author Dmitriy Morozov <dmitriy@mrzv.org>
Sun, 17 Jun 2012 12:14:23 -0700
changeset 4 3315b6204a33
parent 2 4b3728f0d920
permissions -rw-r--r--
Minor touches

from    math        import sqrt

f = Filtration()
fill_alpha_complex(points, f)
f.sort(dim_data_cmp)

p = StaticCohomologyPersistence(f, prime = 11)
p.pair_simplices()

dgms = init_diagrams(p,f, lambda s: sqrt(s.data[0]), lambda n: n.cocycle)

while True:
    pt = show_diagram(dgms)
    if not pt: break

    #rf = Filtration((s for s in f if sqrt(s.data[0]) <= pt[0]))
    #rf = Filtration((s for s in f if sqrt(s.data[0]) < pt[1]))
    rf = Filtration((s for s in f if sqrt(s.data[0]) <= (pt[0] + pt[1])/2))
    values = circular.smooth(rf, pt[2])
    cocycle = [rf[i] for (c,i) in pt[2] if i < len(rf)]
    #print cocycle
    show_complex(points, subcomplex = cocycle)
    show_complex(points, values = values)
    #show_complex(points, rf, values = values, subcomplex = cocycle)