Skip to content

Commit

Permalink
added references
Browse files Browse the repository at this point in the history
  • Loading branch information
atorras1618 committed Jan 20, 2020
1 parent bab9646 commit 46d2b12
Show file tree
Hide file tree
Showing 10 changed files with 86 additions and 46 deletions.
20 changes: 11 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# Python3 dev files
__pycache__
_build/
*_build*
build/
.cache
*coverage*
dist
*.egg-info
*_build*
generated/
.ipynb_checkpoints
__pycache__
.pytest_cache
setup.cfg
*_static*
*_templates*
*.swp
*coverage*
setup.cfg
.pytest_cache
.ipynb_checkpoints
_build/
generated/
*_templates*
9 changes: 6 additions & 3 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ formats: all

# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.7
install:
- requirements: docs/requirements.txt
version: 3.7
install:
- requirements: docs/requirements.txt
- method: setuptools
path: PerMaViss
system_packages: true
15 changes: 15 additions & 0 deletions CITATION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Please use the following to cite the latest version of PerMaViss::

@misc{permaviss,
author = \'Alvaro Torras Casas,
title = {PerMaViss:<RELEASE TITLE>},
year = 2020,
doi = {<DOI INFORMATION>},
url = {http://doi.org/10.5281/zenodo.<DOI NUMBER>}
}

To check the details (RELEASE TITLE, DOI INFORMATION and DOI NUMBER) please view
the Zenodo page for the project.

.. image:: https://zenodo.org/badge/222728935.svg
:target: https://zenodo.org/badge/latestdoi/222728935
13 changes: 9 additions & 4 deletions INSTALLATION.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@
Installation
============

Permaviss is built on Python 3, and relies only on `NumPy <http://www.numpy.org/>`_, `Math <https://docs.python.org/2/library/math.html>`_ and `Scipy <https://www.scipy.org/>`_.
Additionally, Matplotlib and mpl_toolkits are used for the tutorials.
Permaviss is built on Python 3, and relies only on `NumPy <http://www.numpy.org/>`_ and `Scipy <https://www.scipy.org/>`_.

To install, clone from GitHub repository and install::
Additionally, `Matplotlib <https://matplotlib.org/>`_ and `mpl_toolkits <https://matplotlib.org/mpl_toolkits/>`_ are used for the tutorials.


To install using :code:`pip3`::

$ pip3 install permaviss

If you prefer to install from source, clone from GitHub repository::

$ git clone https://github.com/atorras1618/PerMaViss
$ cd PerMaViss
$ pip3 install -e .

17 changes: 13 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
.. image:: https://github.com/atorras1618/permaviss/workflows/test/badge.svg
:target: https://github.com/atorras1618/PerMaViss/actions?query=workflow%3Atest+branch%3Amaster

.. image:: https://readthedocs.org/projects/permaviss/badge/?version=latest
:target: https://permaviss.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://zenodo.org/badge/222728935.svg
:target: https://zenodo.org/badge/latestdoi/222728935

Expand Down Expand Up @@ -39,10 +43,15 @@ Optional for examples and notebooks:
Installation
============

Permaviss is built on Python 3, and relies only on `NumPy <http://www.numpy.org/>`_, `Math <https://docs.python.org/2/library/math.html>`_ and `Scipy <https://www.scipy.org/>`_.
Additionally, Matplotlib and mpl_toolkits are used for the tutorials.
Permaviss is built on Python 3, and relies only on `NumPy <http://www.numpy.org/>`_ and `Scipy <https://www.scipy.org/>`_.

Additionally, `Matplotlib <https://matplotlib.org/>`_ and `mpl_toolkits <https://matplotlib.org/mpl_toolkits/>`_ are used for the tutorials.

To install using :code:`pip3`::

$ pip3 install permaviss

To install, clone from GitHub repository and install::
If you prefer to install from source, clone from GitHub repository::

$ git clone https://github.com/atorras1618/PerMaViss
$ cd PerMaViss
Expand Down Expand Up @@ -135,7 +144,7 @@ SOFTWARE.**
How to cite
===========

Álvaro Torras Casas (20th of January 2020). PerMaViss: Persistence Mayer Vietoris spectral sequence (Version 0.0.1)
Álvaro Torras Casas (20th of January 2020). PerMaViss: Persistence Mayer Vietoris spectral sequence (Version 0.0.1). Zenodo. http://doi.org/10.5281/zenodo.3613423

Reference
=========
Expand Down
2 changes: 1 addition & 1 deletion docs/about/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Notice that in this case, there was no need to solve the extension problem. See
How to cite
===========

Álvaro Torras Casas (20th of January 2020). PerMaViss: Persistence Mayer Vietoris spectral sequence (Version 0.0.1)
Álvaro Torras Casas (20th of January 2020). PerMaViss: Persistence Mayer Vietoris spectral sequence (Version 0.0.1). Zenodo. http://doi.org/10.5281/zenodo.3613423


Reference
Expand Down
24 changes: 13 additions & 11 deletions docs/examples/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -251,17 +251,19 @@ Here we look at the extension information on one dimensional persistence classes
>>> for k in range(diag + 1):
>>> if k == diag and current_rad == b[0]:
>>> break
>>> for i, rad in enumerate(MV_ss.Hom[
>>> MV_ss.no_pages - 1][diag - k][k].barcode[:,0]):
>>> if np.allclose(rad, current_rad):
>>> next_rad = MV_ss.Hom[
>>> MV_ss.no_pages - 1][diag - k][k].barcode[i,1]
>>> ax.fill([current_rad, next_rad, next_rad, current_rad],
>>> [y_coord,y_coord,y_coord+step,y_coord+step],
>>> c=colors[k + no_diag - diag - 1])
>>> current_rad = next_rad
>>> # end if
>>> # end for
>>> if len(MV_ss.Hom[MV_ss.no_pages - 1][diag - k][k]) != 0:
>>> for i, rad in enumerate(MV_ss.Hom[
>>> MV_ss.no_pages - 1][diag - k][k].barcode[:,0]):
>>> if np.allclose(rad, current_rad):
>>> next_rad = MV_ss.Hom[
>>> MV_ss.no_pages - 1][diag - k][k].barcode[i,1]
>>> ax.fill([current_rad, next_rad, next_rad, current_rad],
>>> [y_coord,y_coord,y_coord+step,y_coord+step],
>>> c=colors[k + no_diag - diag - 1])
>>> current_rad = next_rad
>>> # end if
>>> # end for
>>> # end if
>>>
>>> # end for
>>> if current_rad < b[1]:
Expand Down
6 changes: 3 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to PerMaViss 0.0.1 documentation!
=========================================
Welcome to PerMaViss documentation!
===================================

Welcome to PerMaViss 0.0.1! This is a Python3 implementation of the Persistence Mayer Vietoris spectral sequence.
Welcome to PerMaViss! This is a Python3 implementation of the Persistence Mayer Vietoris spectral sequence.
For a mathematical description of the procedure, see `Distributing Persistent Homology via Spectral Sequences <https://arxiv.org/abs/1907.05228>`_.

In a nutshell, this library is intended to be a `proof of concept` for persistence homology parallelization. That is, one can divide a point cloud into covering regions, compute persistent homology on each part, and combine all results to obtain the global persistent homology again. This is done by means of the Persistence Mayer Vietoris spectral sequence. Here we present two examples, the torus and random point clouds in three dimensions. Both of these are divided into `8` mutually overlapping regions, and the spectral sequence is computed with respect to this cover. The resulting barcodes coincide with that which would be obtained by computing persistent homology directly.
Expand Down
24 changes: 13 additions & 11 deletions examples/Random 3D cube.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -301,17 +301,19 @@
" for k in range(diag + 1):\n",
" if k == diag and current_rad == b[0]:\n",
" break\n",
" for i, rad in enumerate(MV_ss.Hom[\n",
" MV_ss.no_pages - 1][diag - k][k].barcode[:,0]):\n",
" if np.allclose(rad, current_rad):\n",
" next_rad = MV_ss.Hom[\n",
" MV_ss.no_pages - 1][diag - k][k].barcode[i,1]\n",
" ax.fill([current_rad, next_rad, next_rad, current_rad],\n",
" [y_coord,y_coord,y_coord+step,y_coord+step],\n",
" c=colors[k + no_diag - diag - 1])\n",
" current_rad = next_rad\n",
" # end if\n",
" # end for\n",
" if len(MV_ss.Hom[MV_ss.no_pages - 1][diag - k][k]) != 0:\n",
" for i, rad in enumerate(MV_ss.Hom[\n",
" MV_ss.no_pages - 1][diag - k][k].barcode[:,0]):\n",
" if np.allclose(rad, current_rad):\n",
" next_rad = MV_ss.Hom[\n",
" MV_ss.no_pages - 1][diag - k][k].barcode[i,1]\n",
" ax.fill([current_rad, next_rad, next_rad, current_rad],\n",
" [y_coord,y_coord,y_coord+step,y_coord+step],\n",
" c=colors[k + no_diag - diag - 1])\n",
" current_rad = next_rad\n",
" # end if\n",
" # end for\n",
" # end if\n",
"\n",
" # end for\n",
" if current_rad < b[1]:\n",
Expand Down
2 changes: 2 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
long_description_content_type="text/x-rst",
author_email="atorras1618@gmail.com",
author="Alvaro Torras Casas",
url="https://github.com/atorras1618/PerMaViss",
download_url="https://github.com/atorras1618/PerMaViss/tarball/v0.0.1",
licence="MIT",
keywords=["spectral sequence", "persistent homology", "Mayer Vietoris"],
packages=find_packages("src"),
Expand Down

0 comments on commit 46d2b12

Please sign in to comment.