*Dionysus* in Python.

Topological Data Analysis main points, extremely informally:

- Topology is classes of surfaces continuously deformable into each other.
- Surface is infinitely stretchy and compressible, but no ripping of the surface allowed.
- Topological data is a discretization of ideas from topology.
- Provides access to invariants (and more) under deformation.
- Data has shape, and shape has meaning.
- Difficult to understand high-dimensional (>3) space.

Famously, "the coffee cup is topologically equivalent to a donut".

**Think of rescaling features as a deformation**

```
In [38]:
```import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Local companion package
from topology.data import coffee_mug
from topology.data import pail
from topology.plotting import plot_mug_3D
from topology.plotting import plot_pail_3D
from topology.plotting import plot_circle_2D
%matplotlib notebook

```
In [1]:
```from IPython.display import Image
from IPython.display import display
#https://en.wikipedia.org/wiki/File:Mug_and_Torus_morph.gif
display(Image(url="images/Mug_and_Torus_morph.gif"))

```
```

**Dionysus** is a package for analyzing the topology (think holes, circles, handles, and the higher dimensional analogues) of data.

- PRO: It's one of the few TDA options out there.
- PRO: Accessible through python bindings.
- PRO: Provides access to quite a few features.
- CON: Not very well documented.
- CON: Not completely accessible through Python.
- CON: Code is difficult to read and navigate. (Especially C++ code for non-specialists).

It uses "persistent homology":

- Connect points at each length scale from a range of scales.
- Persistence: Feature stays over many length scales -- more important.
- Add points, then add lines, then eventually circles, ...

```
In [39]:
```plot_circle_2D()

```
Out[39]:
```

```
In [ ]:
```

```
In [35]:
```plot_mug_3D()
plot_pail_3D()

```
Out[35]:
```

```
In [8]:
```%run pca_demo.py

```
```

```
In [1]:
```%run d_explore.py

```
```

```
In [ ]:
```