Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Oct 21, 2013: Cohomology Fall 2013 course offered.

Similar presentations


Presentation on theme: "MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Oct 21, 2013: Cohomology Fall 2013 course offered."— Presentation transcript:

1 MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Oct 21, 2013: Cohomology Fall 2013 course offered through the University of Iowa Division of Continuing Education Isabel K. Darcy, Department of Mathematics Applied Mathematical and Computational Sciences, University of Iowa

2 triangle-zigzag.py from dionysus import Simplex, ZigzagPersistence, \ vertex_cmp, data_cmp \ # ,enable_log complex = {Simplex((0,), ): None, # A Simplex((1,), ): None, # B Simplex((2,), ): None, # C Simplex((0,1), ): None, # AB Simplex((1,2), ): None, # BC Simplex((0,2), ): None, # CA Simplex((0,1,2), 5): None} # ABC

3 print "Complex:" for s in sorted(complex.keys()): print s print triangle idarcy$ python2.7 triangle-zigzag.py Complex: <0> <1> <2> <0, 1> <1, 2> <0, 2> <0, 1, 2>

4 #enable_log("topology/persistence")
zz = ZigzagPersistence() # Add all the simplices b = 1 for s in sorted(complex.keys(), data_cmp): print "%d: Adding %s" % (b, s) 1: Adding <0> 2: Adding <1> 3: Adding <2> 1 2

5 # Add all the simplices b = 1 for s in sorted(complex.keys(), data_cmp): print "%d: Adding %s" % (b, s) i,d = zz.add([complex[ss] for ss in s.boundary], b) complex[s] = i if d: print "Interval (%d, %d)" % (d, b-1) b += 1

6 i,d = zz.add([complex[ss] for ss in s.boundary], b) complex[s] = i
# Add all the simplices b = 1 for s in sorted(complex.keys(), data_cmp): print "%d: Adding %s" % (b, s) i,d = zz.add([complex[ss] for ss in s.boundary], b) complex[s] = i if d: print "Interval (%d, %d)" % (d, b-1) b += 1 4: Adding <0, 1> Interval (2, 3) 5: Adding <1, 2> Interval (3, 4) 6: Adding <0, 2> 7: Adding <0, 1, 2> Interval (6, 6) 1 2

7 # Remove all the simplices
for s in sorted(complex.keys(), data_cmp, reverse = True): print "%d: Removing %s" % (b, s) d = zz.remove(complex[s], b) del complex[s] if d: print "Interval (%d, %d)" % (d, b-1) b += 1 8: Removing <0, 1, 2> 9: Removing <0, 2> Interval (8, 8) 10: Removing <1, 2> 11: Removing <0, 1> 1 2

8 12: Removing <2> Interval (10, 11) 13: Removing <1> Interval (11, 12) 14: Removing <0> Interval (1, 13) 1 2

9

10 NKI (2002) breast cancer data:
gene expression levels of 24,000 from 272 tumors Data = 272 points living in R24000

11 NKI (2002) breast cancer data:
gene expression levels of 24,000 from 272 tumors Data = 272 points living in R24000 In reality one cleans the data first, removing unreliable data, etc. One may also remove dimensions (genes) that appear irrelevant.

12 NKI (2002) breast cancer data:
gene expression levels of 24,000 from 272 tumors Data = 272 points living in R24000 Since our dataset consists of only 272 points, it can’t be dimensional.

13 For example, suppose our very fake data is
{ (9, 8, 7, 6, 5, 4, 3, 2, 3) ti | i = 1, 2, 3, … 1000 } = { (9, 8, 7, 6, 5, 4, 3, 2, 3), { (18, 16, 14, 12, 10, 8, 6, 4, 6), … }

14 Dimensionality Reduction:
Given dataset D RN Want: embedding f: D  Rn where n << N which “preserves” the structure of the data. Example: { (9, 8, 7, 6, 5, 4, 3, 2, 3) ti | i = 1, 2, 3, … 1000 } R9 f: D  R, f((9, 8, 7, 6, 5, 4, 3, 2, 3) ti) = ti U U

15 Example: Principle component analysis (PCA)

16 Many reduction methods:
f1: D  R, f2: D  R, … fn: D  R (f1, f2, … fn): D  Rn Many are linear, M: RN  Rn, Mx = y But there are also non-linear dimensionality reduction algorithms.

17 f1: D  R, f2: D  R, … fn: D  R (f1, f2, … fn): D  Rn

18 Goal f1: D  S1, f2: D  S1, … fn: D  S1

19 Note S1 is a ring:

20 Cohomology and circular coordinates:
Let X = finite simplicial complex. X0 = set of 0-simplices = vertices. X1 = set of 1-simplices = edges. X2 = set of 2-simplices = faces. . v2 e2 e1 e3 v1 v3

21 Homology Let X = finite simplicial complex. C0 = set of 0-chains = linear combinations of vertices C1 = set of 1-chains = linear combinations of edges. C2 = set of 2-chains = linear combinations of faces. . v2 e2 e1 e3 v1 v3

22 Cohomology and circular coordinates:
Let X = finite simplicial complex, R a ring. C0 = set of 0-cochains = { f : C0  R | f homomorphism} C1 = set of 1-cochains = { f : C1  R | f homomorphism} C2 = set of 2-cochains = { f : C2  R | f homomorphism} .

23 Cohomology and circular coordinates:
Let X = finite simplicial complex, R a ring. C0(X, R) = set of 0-cochains = { f : X0  R } C1(X, R) = set of 1-cochains = { f : X1  R } C2(X, R) = set of 2-cochains = { f : X2  R } .

24 → Proposition 1: Let α ∈ C1(X;Z) be a cocycle.
Then there exists a continuous function θ : X → S1 which maps each vertex to 0, and each edge ab around the entire circle with winding number α(ab). v2 e2 e1 e3 v1 v3

25 Proposition 2: 2 Let α ∈ C1(X;R) be a cocycle
Proposition 2: 2 Let α ∈ C1(X;R) be a cocycle. Suppose there exists α ∈ C1(X;Z) and f ∈ C0(X;R) such that α = α + d0f . Then there exists a continuous function θ : X → S1 which maps each edge ab linearly to an interval of length α(ab), measured with sign. v2 e2 e1 e3 v1 v3

26 θ : X → R/Z = S1

27 (d1α)(abc) = α(bc)− α(ac)+α(ab).
coboundary maps d0 : C0 = { f : X0  R } → C1 = { f : X1  R } (d0f )(ab) = f (b)− f (a) d1 : C1 = { f : X1  R } → C2 = { f : X2  R } (d1α)(abc) = α(bc)− α(ac)+α(ab).

28 Let α ∈ Ci , di : Ci = { f : Xi  R } → Ci+1 = { f : Xi+1  R } α is a cocycle if diα = 0. α is a coboundary if there exists f in Ci-1 s.t. di-1f = α Note d1 d0 f = 0 for any f ∈ C0. (d0f )(ab) = f (b) − f (a) (d1d0f )(abc) = d0f(bc) − d0f(ac) + d0f(ab) = d0f(c) - d0f(b) - d0f(c) + d0f(a) + d0f(b) - d0f(a)

29 d1 d0 f = 0 implies Im (d0 ) ⊆ Ker (d1 ).
H1 (X;A ) = Ker (d1 )/ Im (d0 ). Two cocycles α,β are cohomologous if α − β is a coboundary.

30 d1 d0 f = 0 implies Im (d0 ) ⊆ Ker (d1 ).
H1 (X;A ) = Ker (d1 )/ Im (d0 ). v2 e2 e1 e3 v1 v3

31 d1 d0 f = 0 implies Im (d0 ) ⊆ Ker (d1 ).
H1 (X;A ) = Ker (d1 )/ Im (d0 ). v2 e2 e1 e3 v1 v3 0  C0  C1  0

32 C0(X, R) = set of 0-cochains = { f : X0  R }
v2 e2 e1 e3 v1 v3

33 C0(X, R) = set of 0-cochains = { f : X0  R }
= { f | f(v1) = r1, f(v2) = r2, f(v3) = r3; (r1, r2, r3) in R3 } C1(X, R) = set of 1-cochains = { f : X1  R } = { f | f(e1) = r1, f(e2) = r2, f(e3) = r3; (r1, r2, r3) in R3 } v2 e2 e1 e3 v1 v3

34 Hi (X;A ) = Ker (di )/ Im (di-1 ).
C0(X, R) = set of 0-cochains = { f : X0  R } = { f | f(v1) = r1, f(v2) = r2, f(v3) = r3; (r1, r2, r3) in R3 } C1(X, R) = set of 1-cochains = { f : X1  R } = { f | f(e1) = r1, f(e2) = r2, f(e3) = r3; (r1, r2, r3) in R3 } Hi (X;A ) = Ker (di )/ Im (di-1 ). 0  C0  C1  0 v2 e2 e1 e3 v1 v3

35


Download ppt "MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Oct 21, 2013: Cohomology Fall 2013 course offered."

Similar presentations


Ads by Google