コード例 #1
0
class test_simcomplex(unittest.TestCase):
    def setUp(self):
        self.sc1 = SimplicialComplex(simplices=[(1, 2), (2, 3), (1, 2, 3)])
        self.sc2 = AlphaComplex(ring, 0.05)
        self.ring1d = SimplicialComplex(simplices=ring1d_sc)
        self.cylinder = SimplicialComplex(simplices=cylinder_sc)
        self.torus = SimplicialComplex(simplices=torus_sc)
        self.twosphere = SimplicialComplex(simplices=twosphere_c)

    def tearDown(self):
        pass

    def test_ring1d(self):
        self.assertEqual(self.ring1d.betti_number(0), 1)
        self.assertEqual(self.ring1d.betti_number(1), 1)
        self.assertEqual(self.ring1d.betti_number(2), 0)

    def test_cylinder(self):
        self.assertEqual(self.cylinder.betti_number(0), 1)
        self.assertEqual(self.cylinder.betti_number(1), 0)
        self.assertEqual(self.cylinder.betti_number(2), 1)
        self.assertEqual(self.cylinder.euler_characteristics(), 2)

    def test_torus(self):
        self.assertEqual(self.torus.betti_number(0), 1)
        self.assertEqual(self.torus.betti_number(1), 2)
        self.assertEqual(self.torus.betti_number(2), 1)
        self.assertEqual(self.torus.betti_number(3), 0)
        self.assertEqual(self.torus.euler_characteristics(), 0)
        self.assertEqual(len(self.torus.generate_graph()[0]), 7)
        self.assertEqual(len(self.torus.generate_graph()[1]), 21)

    def test_twosphere(self):
        self.assertEqual(self.twosphere.betti_number(0), 1)
        self.assertEqual(self.twosphere.betti_number(1), 0)
        self.assertEqual(self.twosphere.betti_number(2), 1)
        self.assertEqual(self.twosphere.euler_characteristics(), 2)

    def test_sc1(self):
        self.assertEqual(self.sc1.betti_number(0), 1)
        self.assertEqual(self.sc1.betti_number(1), 0)
        self.assertEqual(self.sc1.betti_number(2), 0)
        self.assertEqual(self.sc1.euler_characteristics(), 1)

    def test_sc2(self):
        self.assertEqual(self.sc2.betti_number(0), 1)
        self.assertEqual(self.sc2.betti_number(1), 1)
        self.assertEqual(self.sc2.betti_number(2), 0)
        self.assertEqual(self.sc2.euler_characteristics(), 0)
コード例 #2
0
def betti(complex):
    betti = []
    # find max dimension
    sim_com = SimplicialComplex(simplices=complex)
    for i in range(3):
        betti.append(sim_com.betti_number(i))
    return (betti)
コード例 #3
0
nest.CopyModel("static_synapse", "excitatory", {"weight": g})

num_synapse = 0
for i in range(N):
    for j in range(N):
        if (M[i][j] == "1"):
            # nest.Connect(neurons[i],neurons[j], syn_spec="inhibitory")
            nest.Connect(neurons[i], neurons[j], syn_spec="excitatory")
            num_synapse += 1
            # print("connecting neuron " + str(i) + " to " + str(j))

# measure original homology of network #########################################
simps = mogulist_from_simplist(matrix_name)
SC = SimplicialComplex(simplices=simps)
bettis = [
    SC.betti_number(0),
    SC.betti_number(1),
    SC.betti_number(2),
    SC.betti_number(3),
    SC.betti_number(4),
    SC.betti_number(5),
    SC.betti_number(6)
]
print(bettis)

proceed = raw_input("proceed? ")
if (proceed != "y"):
    print(asdasd)

# run the simulation ###########################################################
# once to stabilize the network
# -*- coding: utf-8 -*-
# -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.#

#* File Name : topological_data_analysis.py
#
#* Purpose :
#
#* Creation Date : 28-12-2019
#
#* Last Modified : Saturday 28 December 2019 01:00:22 PM IST
#
#* Created By :

#_._._._._._._._._._._._._._._._._._._._._.#
import numpy as np
from mogutda import SimplicialComplex

torus_sc = [(1,2,4), (4,2,5), (2,3,5), (3,5,6), (5,6,1), (1,6,2), (6,7,2), (7,3,2),
            (1,3,4), (3,4,6), (4,6,7), (4,5,7), (5,7,1), (7,3,1)]
torus_c = SimplicialComplex(simplices=torus_sc)

print(torus_c.betti_number(0))   # print 1
print(torus_c.betti_number(1))   # print 2
print(torus_c.betti_number(2))   # print 1
コード例 #5
0
ファイル: betti.py プロジェクト: atob1/imageSeg-2.5D_topo
import numpy as np
from mogutda import SimplicialComplex

e1 = [[255, 255], [255, 0]]
sc1 = SimplicialComplex(e1)
print(sc1.betti_number(0))