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

Slides:



Advertisements
Similar presentations
Computing Persistent Homology
Advertisements

Lecture 6: Creating a simplicial complex from data. in a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305) Topics in Topology:
Tyler White MATH 493 Dr. Wanner
Polynomial dynamical systems over finite fields, with applications to modeling and simulation of biological networks. IMA Workshop on Applications of.
More Efficient Generation of Plane Triangulations Shin-ichi Nakano Takeaki Uno Gunma University National Institute of JAPAN Informatics, JAPAN 23/Sep/2003.
Homology Groups And Persistence Homology
Lecture 16: DFS, DAG, and Strongly Connected Components Shang-Hua Teng.
Lecture 5: Triangulations & simplicial complexes (and cell complexes). in a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305)
Lecture 1: The Euler characteristic of a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305) Topics in Topology: Scientific.
A quick example calculating the column space and the nullspace of a matrix. Isabel K. Darcy Mathematics Department Applied Math and Computational Sciences.
©2008 I.K. Darcy. All rights reserved This work was partially supported by the Joint DMS/NIGMS Initiative to Support Research in the Area of Mathematical.
I. Homomorphisms & Isomorphisms II. Computing Linear Maps III. Matrix Operations VI. Change of Basis V. Projection Topics: Line of Best Fit Geometry of.
Simplicial Sets, and Their Application to Computing Homology Patrick Perry November 27, 2002.
A Quick Review of MTH060 Elementary Algebra I Algebraic Notation Algebraic Properties & Simplifying Expressions Linear Equations, Formulas, & Inequalities.
To install the TDA package on a PC: install.packages("TDA") To install the TDA package on a Mac: install.packages("TDA", type = "source") XX = circleUnif(30)
Quandle Cocycle Invariants for Knots, Knotted Surfaces and Knotted 3-Manifolds Witold Rosicki (Gdańsk)
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
MA5209 Algebraic Topology Wayne Lawton Department of Mathematics National University of Singapore S ,
Math 3121 Abstract Algebra I Lecture 3 Sections 2-4: Binary Operations, Definition of Group.
Math 002 College Algebra Final Exam Review.
Planar Graphs: Euler's Formula and Coloring Graphs & Algorithms Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.:
Lecture 4: Addition (and free vector spaces) of a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305) Topics in Topology:
Topological Data Analysis
Lecture 2: Addition (and free abelian groups) of a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305) Topics in Topology:
5.2 Trees  A tree is a connected graph without any cycles.
The homology groups of a partial monoid action category Ahmet A. Husainov
Persistent Homology in Topological Data Analysis Ben Fraser May 27, 2015.
Optional Lecture: A terse introduction to simplicial complexes in a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305)
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
Smooth Shading Gouraud Phong
Lecture 3: Modular Arithmetic of a series of preparatory lectures for the Fall 2013 online course MATH:7450 (22M:305) Topics in Topology: Scientific and.
Planar Graphs Lecture 10: Oct 21. This Lecture Today we will talk about planar graphs, and how to color a map using 6 colors. Planar graphs Euler’s formula.
MA5209 Algebraic Topology Wayne Lawton Department of Mathematics National University of Singapore S ,
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Sept 9, 2013: Create your own homology. Fall 2013.
Welcome to MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Week 1: Introduction to Topological Data.
Sajid Ghuffar 24.June  Introduction  Simplicial Complex  Boundary Operator  Homology  Triangulation  Persistent Homology 6/24/ Persistence.
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Sept 16, 2013: Persistent homology III Fall 2013.
1 ALGEBRAIC TOPOLOGY SIMPLICAL COMPLEX ALGEBRAIC TOPOLOGY SIMPLICAL COMPLEX Tsau Young (‘T. Y.’) Lin Institute of Data Science and Computing and Computer.
Creating a cell complex = CW complex Building block: n-cells = { x in R n : || x || ≤ 1 } 2-cell = open disk = { x in R 2 : ||x || < 1 } Examples: 0-cell.
Sept 25, 2013: Applicable Triangulations.
Algebraic Topology Simplicial Homology Wayne Lawton
Chapter 4: Induction and Recursion
Cardinality with Applications to Computability
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
Zigzag Persistent Homology Survey
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
Creating a cell complex = CW complex
Oct 16, 2013: Zigzag Persistence and installing Dionysus part I.
Dec 2, 2013: Hippocampal spatial map formation
Sept 23, 2013: Image data Application.
Main Project total points: 500
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Nov 20, 2013: Intro to RNA & Topological Landscapes.
Induction and Recursion
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Nov 22, 2013: Topological methods for exploring low-density.
Dec 4, 2013: Hippocampal spatial map formation
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Nov 8, 2013: DNA Topology Fall 2013 course offered.
Chapter P Prerequisites. Chapter P Prerequisites.
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
Guest lecturer: Isabel K. Darcy
Elements of Combinatorial Topology
Clustering Via Persistent Homology
Topological Data Analysis
Friday, November 6, 2015 Adding & Subtracting Linear Expressions
2D Geometric Transformations
e2 e1 e5 e4 e3 v1 v2 v3 v4 f The dimension of f = 2
Planarity.
10.5 Permutations and Combinations.
A Portrait of a Group on a Surface with Boundary
Chapter 3: Simplicial Homology Instructor: Yusu Wang
Lecture 5: Triangulations & simplicial complexes (and cell complexes).
Presentation transcript:

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 http://www.math.uiowa.edu/~idarcy/AppliedTopology.html

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

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

#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

# 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

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> 2.500000 Interval (2, 3) 5: Adding <1, 2> 2.900000 Interval (3, 4) 6: Adding <0, 2> 3.500000 7: Adding <0, 1, 2> Interval (6, 6) 1 2

# 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> 3.500000 Interval (8, 8) 10: Removing <1, 2> 2.900000 11: Removing <0, 1> 2.500000 1 2

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

http://link.springer.com/article/10.1007%2Fs00454-011-9344-x

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

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.

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 24000-dimensional.

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), … }

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

Example: Principle component analysis (PCA) http://en.wikipedia.org/wiki/File:GaussianScatterPCA.png

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.

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

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

Note S1 is a ring:

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

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

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} .

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 } .

→ 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 →

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 →

θ : X → R/Z = S1

(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).

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)

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

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

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

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

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

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