MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Sept 16, 2013: Persistent homology III Fall 2013.

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:
Preliminaries Computing Betti Numbers Computing Persistent Homology.
Homology Groups And Persistence Homology
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.
Topological Data Analysis
Matrix Multiplication To Multiply matrix A by matrix B: Multiply corresponding entries and then add the resulting products (1)(-1)+ (2)(3) Multiply each.
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.
CIS 101: Computer Programming and Problem Solving Lecture 2 Usman Roshan Department of Computer Science NJIT.
Introduction to MATLAB 7 for Engineers
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)

Linux/Bash Commands Damian Gordon. ls List all the visible files in the current folder.
MATLAB Basics With a brief review of linear algebra by Lanyi Xu modified by D.G.E. Robertson.
MATLAB Tutorials Session I Introduction to MATLAB Rajeev Madazhy Dept of Mechanical Engineering LSU.
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:
1 Lab of COMP 406 Teaching Assistant: Pei-Yuan Zhou Contact: Lab 1: 12 Sep., 2014 Introduction of Matlab (I)
Two dimensional arrays in Java Computer Science 3 Gerb Objective: Use matrices in Java.
Topological Data Analysis
Introduction to Matlab Module #2 Page 1 Introduction to Matlab Module #2 – Arrays Topics 1.Numeric arrays (creation, addressing, sizes) 2.Element-by-Element.
CMPS 1371 Introduction to Computing for Engineers FILE Input / Output.
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:
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)
If you use it, cite it.
Creating a simplicial complex Step 0.) Start by adding 0-dimensional vertices (0-simplices)
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.
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Sept 9, 2013: Create your own homology. Fall 2013.
The MatLab Language Mathematics Laboratory The MathWorks
A filtered complex is an increasing sequence of simplicial complexes: C0 C1 C2 …
CSE 455 : Computer Vision MATLAB 101 Getting Started with MATLAB.
A filtered complex is an increasing sequence of simplicial complexes: C 0 C 1 C 2 … UUU.
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.
Recombination:. Different recombinases have different topological mechanisms: Xer recombinase on psi. Unique product Uses topological filter to only perform.
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.
From Natural Images to MRIs: Using TDA to Analyze Image Data
Zigzag Persistent Homology Survey
Two-Dimensional Arrays
Introduction to Matlab
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.
Matrix Multiplication
Application to Natural Image Statistics
MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Oct 21, 2013: Cohomology Fall 2013 course offered.
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.
Defn: degree of si = deg si = time when si enters the filtration. .
INTRODUCTION TO BASIC MATLAB
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.

تصنيف التفاعلات الكيميائية
Clustering Via Persistent Homology
A filtered complex is an increasing sequence of simplicial complexes: C0 C1 C2 …
Topological Data Analysis
Lecture 2 Introduction to MATLAB
CSCI N207 Data Analysis Using Spreadsheet
Communication and Coding Theory Lab(CS491)
e2 e1 e5 e4 e3 v1 v2 v3 v4 f The dimension of f = 2
Dimensions matching Rows times Columns
e2 e1 e5 e4 e3 v1 v2 v3 v4 f The dimension of f =
Betti numbers provide a signature of the underlying topology.
Lecture 5: Triangulations & simplicial complexes (and cell complexes).
Presentation transcript:

MATH:7450 (22M:305) Topics in Topology: Scientific and Engineering Applications of Algebraic Topology Sept 16, 2013: Persistent homology III 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

Computing Persistent Homology by Afra Zomorodian, Gunnar Carlsson C 1  C 0 1

Z 1 = kernel of 1 = null space of M 1 = B 0 = image of 1 = column space of M 1 =

H 0 = Z 0 /B 0 = (kernel of 0 )/ (image of 1 ) null space of M 0 column space of M 1 = = C 1  C 0  0 10

Z 1 = kernel of 1 = null space of M 1 = B 0 = image of 1 = column space of M 1 =

H 1 = Z 1 /B 1 = (kernel of 1 )/ (image of 2 ) null space of M 1 column space of M 2 = < ad + cd + t(bc) + t(ab), ac + t 2 bc + t 2 ab : ??????? > Let z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 /B 1 =. = C 2  C 1  C 0 11

Computing Persistent Homology by Afra Zomorodian, Gunnar Carlsson C 2  C 1 2 M 2 =

Long method for determining column space of M 2

C k+1  C k  C k-1, m k = # of k-simplices k+1k

Short method for determining column space of M 2

H 1 = Z 1 /B 1 = (kernel of 1 )/ (image of 2 ) null space of M 1 column space of M 2 = < ad + cd + t(bc) + t(ab), ac + t 2 bc + t 2 ab : ??????? > Let z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 /B 1 =. = C 2  C 1  C 0 11

image of 2 = kernel of 2 =

image of 2 = kernel of 2 = 0

H 1 = Z 1 /B 1 = (kernel of 1 )/ (image of 2 ) null space of M 1 column space of M 2 = where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab = C 2  C 1  C 0 21

H 2 = Z 2 /B 2 = (kernel of 2 )/ (image of 3 ) null space of M 2 column space of M 3 = 0 = C 3  C 2  C 1 32

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U Note deg z 1 = 2, deg z 2 = 3 H 1 = Z 1 / ( B 1 Z 1 ) = 0 for i < 2 i, p i+pii U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = Z/2Z for p = 2, p 2+p22 U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = Z/2Z for p = 0, 1, 2 2, p 2+p22 U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = 0 for p = 2, p 2+p22 U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = 0 for p = 3 2, p 2+p22 U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = ??? 3, p 3+p33 U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = 4, U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = 4, U

where z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab H 1 = Z 1 / ( B 1 Z 1 ) i, p i+pii U deg z 1 = 2, deg z 2 = 3, deg tz 2 = 4, deg t 3 z 1 + t 2 z 2 = 5 H 1 = Z 1 / ( B 1 Z 1 ) = 5, U

H 0 = H 1 = [ ) [ z 1 = ad + cd + t(bc) + t(ab), z 2 = ac + t 2 bc + t 2 ab

Tausz, Andrew; Vejdemo-Johansson, Mikael; Adams, Henry

Download:

Some useful linux/mac/matlab commands: tar -xvvf foo.tar extract foo.tar tar -xvvzf foo.tar.gz extract gzipped foo.tar.gz cd Directory change directory cd../ go up one directory cd go to main directory pwd print working directory ls list directory content ls –lrt list long format in reverse order time

>> version -java ans = Java 1.6.0_17-b04 ************ javaPlex requires version number 1.5 or higher. >> cd AT/matlab_examples >> load_javaplex Confirm that javaPlex is working properly: >> api.Plex4.createExplicitSimplexStream() ans =

create an empty explicit simplex stream: >> stream = api.Plex4.createExplicitSimplexStream(); add simplicies: >> stream.addVertex(0); >> stream.addVertex(1); >> stream.addVertex(2); >> stream.addElement([0, 1]); >> stream.addElement([0, 2]); >> stream.addElement([1, 2]); >> stream.finalizeStream();

Create filtered complex: >> stream = api.Plex4.createExplicitSimplexStream(); >> stream.addVertex(1, 0); >> stream.addVertex(2, 0); >> stream.addVertex(3, 0); >> stream.addVertex(4, 0); >> stream.addVertex(5, 1); >> stream.addElement([1, 2], 0); >> stream.addElement([2, 3], 0); >> stream.addElement([3, 4], 0); >> stream.addElement([4, 1], 0); >> stream.addElement([3, 5], 2); >> stream.addElement([4, 5], 3); >> stream.addElement([3, 4, 5], 7); >> stream.finalizeStream();

Determine if you have created a simplicial complex: >> stream.validateVerbose() ans = 1 >> stream.addElement([1, 4, 5], 0); >> stream.validateVerbose() Filtration index of face [4,5] exceeds that of element [1,4,5] (3 > 0) Stream does not contain face [1,5] of element [1,4,5] ans = 0

Create 2-dimensional sphere, S 2 >> dimension = 2; >> stream = api.Plex4.createExplicitSimplexStream(); >> stream.addElement(0:(dimension + 1)); >> stream.ensureAllFaces(); >> stream.removeElementIfPresent(0:(dimension + 1)); >> stream.finalizeStream();

Determine H i for i < 3 with Z 2 coefficients: >> persistence = api.Plex4.getModularSimplicialAlgorithm(3, 2); >> intervals = persistence.computeIntervals(stream) intervals = Dimension: 1 [3.0, 7.0) [0.0, infinity) Dimension: 0 [1.0, 2.0) [0.0, infinity)

compute a representative cycle for each barcode: >> intervals = persistence.computeAnnotatedIntervals(stream) intervals = Dimension: 1 [3.0, 7.0): [4,5] + [3,4] + -[3,5] [0.0, infinity): [1,4] + [2,3] + [1,2] + [3,4] Dimension: 0 [1.0, 2.0): -[3] + [5] [0.0, infinity): [1]

To enter a CSV file into Matlab, you can use the following command: >> M = csvread(‘filename’,row,col); reads data from the file starting at the specified row and column. The row and column arguments are zero based, so that row = 0 and col = 0 specify the first value in the file. From: