Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1><center>Topological Data Analysis</center></h1>\n",
"\n",
"\n",
"\n",
"<p style=\"text-align: center;\">Gif from: https://gfycat.com/disgustingblanddromedary</p>"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from ripser import ripser\n",
"from persim import plot_diagrams\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Background"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Simplicial Complex"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Homology"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Betti Number"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Euler-Poincare Formula"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Persistent Homology"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 25\n",
"\n",
"r = np.random.uniform(-0.2, 0.2, N) # radious\n",
"theta = np.random.uniform(-np.pi, np.pi, N) # angles\n",
"\n",
"x = (1+r)*np.cos(theta) # x-corodinate\n",
"y = (1+r)*np.sin(theta) # y-coordinate\n",
"\n",
"X = np.column_stack((x,y)) # data set\n",
"\n",
"plt.scatter(X[:,0], X[:,1])\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from matplotlib import pyplot as plt\n",
"from matplotlib import animation\n",
"def create_circle():\n",
" circle = plt.Circle((0, 0), 0.05)\n",
" return circle\n",
"def update_radius(i, circle):\n",
" circle.radius = i*0.5\n",
" return circle,\n",
"def create_animation():\n",
" fig = plt.gcf()\n",
" ax = plt.axes(xlim=(-10, 10), ylim=(-10, 10))\n",
" ax.set_aspect('equal')\n",
" circle = create_circle()\n",
" ax.add_patch(circle)\n",
" anim = animation.FuncAnimation(\n",
" fig, update_radius, fargs = (circle,), frames=30, interval=50)\n",
" plt.title('Simple Circle Animation')\n",
" plt.show()\n",
"if __name__ == '__main__':\n",
" create_animation()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### References"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}