# Persistence module

A persistence module is a mathematical structure in persistent homology and topological data analysis that formally captures the persistence of topological features of an object across a range of scale parameters. A persistence module often consists of a collection of homology groups (or vector spaces if using field coefficients) corresponding to a filtration of topological spaces, and a collection of linear maps induced by the inclusions of the filtration. The concept of a persistence module was first introduced in 2005 as an application of graded modules over polynomial rings, thus importing well-developed algebraic ideas from classical commutative algebra theory to the setting of persistent homology. Since then, persistence modules have been one of the primary algebraic structures studied in the field of applied topology.

## Definition
### Single Parameter Persistence Modules

Let $T$ be a totally ordered set and let $K$ be a field. The set $T$ is sometimes called the indexing set. Then a single-parameter persistence module $M$ is a functor $M:T\to \mathbf {Vec} _{K}$ from the poset category of $T$ to the category of vector spaces over $K$ and linear maps. A single-parameter persistence module indexed by a discrete poset such as the integers can be represented intuitively as a diagram of spaces: $\cdots \to M_{-1}\to M_{0}\to M_{1}\to M_{2}\to \cdots$To emphasize the indexing set being used, a persistence module indexed by $T$ is sometimes called a $T$-persistence module, or simply a $T$-module. Common choices of indexing sets include $\mathbb {R} ,\mathbb {Z} ,\mathbb {N}$, etc.
One can alternatively use a set-theoretic definition of a persistence module that is equivalent to the categorical viewpoint: A persistence module is a pair $(V,\pi )$ where $V$ is a collection $\{V_{z}\}_{z\in T}$ of $K$-vector spaces and $\pi$ is a collection $\{\pi _{y,z}\}_{y\leq z\in T}$ of linear maps where $\pi _{y,z}:V_{y}\to V_{z}$ for each $y\leq z\in T$, such that $\pi _{y,z}\circ \pi _{x,y}=\pi _{x,z}$ for any $x\leq y\leq z\in T$ (i.e., all the maps commute).

### Multiparameter Persistence Modules

Let $P$ be a product of $n$ totally ordered sets, i.e., $P=T_{1}\times \dots \times T_{n}$ for some totally ordered sets $T_{i}$. Then by endowing $P$ with the product partial order given by $(s_{1},\dots ,s_{n})\leq (t_{1},\dots ,t_{n})$ only if $s_{i}\leq t_{i}$ for all $i=1,\dots ,n$, we can define a multiparameter persistence module indexed by $P$ as a functor $M:P\to \mathbf {Vec} _{K}$. This is a generalization of single-parameter persistence modules, and in particular, this agrees with the single-parameter definition when $n=1$.
In this case, a $P$-persistence module is referred to as an $n$-dimensional or $n$-parameter persistence module, or simply a multiparameter or multidimensional module if the number of parameters is already clear from context.
Multidimensional persistence modules were first introduced in 2009 by Carlsson and Zomorodian. Since then, there has been a significant amount of research into the theory and practice of working with multidimensional modules, since they provide more structure for studying the shape of data. Namely, multiparameter modules can have greater density sensitivity and robustness to outliers than single-parameter modules, making them a potentially useful tool for data analysis.
One downside of multiparameter persistence is its inherent complexity. This makes performing computations related to multiparameter persistence modules difficult. In the worst case, the computational complexity of multidimensional persistent homology is exponential.
The most common way to measure the similarity of two multiparameter persistence modules is using the interleaving distance, which is an extension of the bottleneck distance.

## Examples
### Homology Modules

When using homology with coefficients in a field, a homology group has the structure of a vector space. Therefore, given a filtration of spaces $F:P\to \mathbf {Top}$, by applying the homology functor at each index we obtain a persistence module $H_{i}(F):P\to \mathbf {Vec} _{K}$ for each $i=1,2,\dots$ called the ($i$th-dimensional) homology module of $F$. The vector spaces of the homology module can be defined index-wise as $H_{i}(F)_{z}=H_{i}(F_{z})$ for all $z\in P$, and the linear maps are induced by the inclusion maps of $F$.
Homology modules are the most ubiquitous examples of persistence modules, as they encode information about the number and scale of topological features of an object (usually derived from building a filtration on a point cloud) in a purely algebraic structure, thus making understanding the shape of the data amenable to algebraic techniques, imported from well-developed areas of mathematics such as commutative algebra and representation theory.

### Interval Modules

A primary concern in the study of persistence modules is whether modules can be decomposed into "simpler pieces", roughly speaking. In particular, it is algebraically and computationally convenient if a persistence module can be expressed as a direct sum of smaller modules known as interval modules.
Let $J$ be a nonempty subset of a poset $P$. Then $J$ is an interval in $P$ if
* For every $x,z\in J$ if $x\leq y\leq z\in P$ then $y\in J$
* For every $x,z\in J$ there is a sequence of elements $p_{1},p_{2},\dots ,p_{n}\in J$ such that $p_{1}=x$, $p_{n}=z$, and $p_{i},p_{j}$ are comparable for all $i,j\in \{1,\dots ,n\}$.
Now given an interval $J\subseteq P$ we can define a persistence module $\mathbb {I} ^{J}$index-wise as follows:
$\mathbb {I} _{z}^{J}:={\begin{cases}K&{\text{if }}z\in J\\0&{\text{otherwise }}\end{cases}}$; $\mathbb {I} _{y,z}^{J}:={\begin{cases}\operatorname {id} _{K}&{\text{if }}y\leq z\in J\\0&{\text{otherwise }}\end{cases}}$.
The module $\mathbb {I} ^{J}$ is called an interval module.

### Free Modules

Let $a\in P$. Then we can define a persistence module $Q^{a}$ with respect to $a$ where the spaces are given by
$Q_{z}^{a}:={\begin{cases}K&{\text{if }}z\geq a\\0&{\text{otherwise }}\end{cases}}$, and the maps defined via $Q_{y,z}^{a}:={\begin{cases}\operatorname {id} _{K}&{\text{if }}z\geq a\\0&{\text{otherwise }}\end{cases}}$.
Then $Q^{a}$ is known as a free (persistence) module.
One can also define a free module in terms of decomposition into interval modules. For each $a\in P$ define the interval $a^{\llcorner }:=\{b\in P\mid b\geq a\}$, sometimes called a "free interval." Then a persistence module $F$ is a free module if there exists a multiset ${\mathfrak {J}}(F)\subseteq P$ such that $F=\bigoplus _{a\in {\mathfrak {J}}(F)}\mathbb {I} ^{a^{\llcorner }}$. In other words, a module is a free module if it can be decomposed as a direct sum of free interval modules.

## Properties
### Finite Type Conditions

A persistence module $M$ indexed over $\mathbb {N}$ is said to be of finite type if the following conditions hold for all $n\in \mathbb {N}$:
* Each vector space $M_{n}$ is finite-dimensional.
* There exists an integer $N$ such that the map $M_{N,n}$ is an isomorphism for all $n\geq N$.
If $M$ satisfies the first condition, then $M$ is commonly said to be pointwise finite-dimensional (p.f.d.). The notion of pointwise finite-dimensionality immediately extends to arbitrary indexing sets.
The definition of finite type can also be adapted to continuous indexing sets. Namely, a module $M$ indexed over $\mathbb {R}$ is of finite type if $M$ is p.f.d., and $M$ contains a finite number of unique vector spaces. Formally speaking, this requires that for all but a finite number of points $x\in \mathbb {R}$ there is a neighborhood $N$ of $x$ such that $M_{y}\cong M_{z}$ for all $y,z\in N$, and also that there is some $w\in \mathbb {R}$ such that $M_{v}=0$ for all $v\leq w$. A module satisfying only the former property is sometimes labeled essentially discrete, whereas a module satisfying both properties is known as essentially finite.
An $\mathbb {R}$-persistence module is said to be semicontinuous if for any $x\in \mathbb {R}$ and any $y\leq x$ sufficiently close to $x$, the map $M_{y,x}:M_{y}\to M_{x}$ is an isomorphism. Note that this condition is redundant if the other finite type conditions above are satisfied, so it is not typically included in the definition, but is relevant in certain circumstances.

### Structure Theorem

One of the primary goals in the study of persistence modules is to classify modules according to their decomposability into interval modules. A persistence module that admits a decomposition as a direct sum of interval modules is often simply called "interval decomposable." One of the primary results in this direction is that any p.f.d. persistence module indexed over a totally ordered set is interval decomposable. This is sometimes referred to as the "structure theorem for persistence modules."
The case when $P$ is finite is a straightforward application of the structure theorem for finitely generated modules over a principal ideal domain. For modules indexed over $\mathbb {Z}$, the first known proof of the structure theorem is due to Webb. The theorem was extended to the case of $\mathbb {R}$ (or any totally ordered set containing a countable subset that is dense in $\mathbb {R}$ with the order topology) by Crawley-Boevey in 2015. The generalized version of the structure theorem, i.e., for p.f.d. modules indexed over arbitrary totally ordered sets, was established by Botnan and Crawley-Boevey in 2019.