summary |
shortlog |
changelog |
graph |
tags |
bookmarks |
branches |
files |
changeset |
file |
latest |
revisions |
annotate |
diff |
comparison |
raw |
help

doc/python/cohomology-persistence.rst

author | Dmitriy Morozov <dmitriy@mrzv.org> |

Thu, 15 Jul 2010 10:19:18 -0700 | |

branch | dev |

changeset 213 | 3568e0bfe2cd |

parent 173 | 5fd3f43e6fbf |

child 256 | 0f632dc3f53b |

permissions | -rw-r--r-- |

Removed the warning about compiler versions (seems unnecessary after Andrew's fixes)

:class:`CohomologyPersistence` class ==================================== The :ref:`rips-pairwise-cohomology` illustrates the use of :class:`CohomologyPersistence`. .. class:: CohomologyPersistence .. method:: __init__(prime) Initializes :class:`CohomologyPersistence` with the given `prime`; from this point on all the computation will be performed with coefficients coming from :math:`\mathbb{Z}/prime \mathbb{Z}`. .. method:: add(boundary, birth, [store = True], [image = True], [coefficients = []]) Adds a simplex with the given `boundary` to the complex, i.e. :math:`K_{i+1} = K_i \cup \sigma` and `boundary` = :math:`\partial \sigma`. If a new class is born as a result of the addition, `birth` is stored with it for future reference. If `store` is ``False`` and a class is born, it will not be stored in :class:`CohomologyPersistence`. This is useful to not waste space on the classes of the dimension equal to the maximum-dimensional simplices of the complex since such classes will never die. The `image` parameter allows one to work with a case of a space :math:`L \subseteq K` where the filtration of :math:`K` induces a filtration of :math:`L`. In this case, one may want to compute **image persistence** (i.e. the persistence of the sequences of the images given by the inclusion of :math:`L` in :math:`K`). `image` indicates whether the simplex added belongs to :math:`L` or not. If given, `coefficients` is a list parallel to `boundary` that provides coefficients for the corresponding boundary elements. If empty, it is assumed to be :math:`(-1)^i`. :returns: a pair (`i`, `d`). The first element is the index `i`. It is the internal representation of the newly added simplex, and should be used later for removal or when constructing the boundaries of its cofaces. In other words, `boundary` must consist of these indices. The second element `d` is the death element. It is `None` if a birth occurred, otherwise it contains the value passed as `birth` to :meth:`~CohomologyPersistence.add` when the class that just died was born. .. method:: __iter__() Iterator over the live cocycles stored in :class:`CohomologyPersistence`. The returned elements are of the type :class:`Cocycle` below. .. class:: Cocycle .. attribute:: birth The birth value associated with the cocycle. It is passed to :class:`CohomologyPersistence` in method :meth:`~CohomologyPersistence.add`. .. method:: __iter__() Iterator over the individual nodes (simplices) of the cocycle, each of type :class:`CHSNode`. .. class:: CHSNode .. attribute:: si The index of the simplex, of type :class:`CHSimplexIndex`. .. attribute:: coefficient Coefficient in :math:`\mathbb{Z}/prime \mathbb{Z}` associated with the simplex. .. class:: CHSimplexIndex .. attribute:: order The count associated with the simplex when it is inserted into :class:`CohomologyPersistence`.