Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vectorization2 #378

Merged
merged 13 commits into from Apr 6, 2020
Merged

Vectorization2 #378

merged 13 commits into from Apr 6, 2020

Conversation

ammedmar
Copy link
Collaborator

Reference issues/PRs
Fixes #361

ammedmar and others added 3 commits March 13, 2020 10:40
Signed-off-by: ammedmar <anibal@medina-mardones.com>
Signed-off-by: ammedmar <anibal@medina-mardones.com>
Signed-off-by: ammedmar <ammedmar@gmail.com>
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


ammedmar seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@ammedmar ammedmar requested a review from ulupo March 23, 2020 15:23
@@ -65,7 +62,7 @@

A set $\{v_0, \dots, v_n\} \subset \mathbb{R}^N$ is said to be \textit{geometrically independent} if the vectors $\{v_0-v_1, \dots, v_0-v_n\}$ are linearly independent. In this case, we refer to their convex closure as a \textit{simplex}, explicitly
\begin{equation*}
\lbrack v_0, \ldots , v_n \rbrack = \left\{ \sum c_i (v_0 - v_i)\ \big|\ c_1+\dots+c_n = 1,\ c_i \geq 0 \right\}
[v_0, \dots , v_n] = \left\{ \sum c_i (v_0 - v_i)\ \big|\ c_1+\dots+c_n = 1,\ c_i \geq 0 \right\}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\lbrac and \rbrac are necessary unfortunately...

Copy link
Collaborator Author

@ammedmar ammedmar Mar 23, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, ok. I'll change it everywhere then.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A small correction.
No need to do it everywhere: I introduced the change only here, because it was not properly parsed by pandoc: it seems like it has a problem with [ at the beginning of the equation. For example, d_i[...]... is ok.


\subsection*{$L^p$-norm:} \label{l^p_norm}

...
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the plan for this subsection? To leave it to another PR?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It depends on the persistence image entry, TBW concomitantly.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should mention that I included it since it is referenced in persistence landscape.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the reference still exist?
I am not questioning the need for this section.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the word "p-integrable" should link to L^p

Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested review from ulupo and wreise March 24, 2020 10:02
Copy link
Collaborator

@wreise wreise left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!
A few comments about labels.

What about L^p - is it still needed? can i take it?

\end{equation*}
and $c_+ := \max(c,0)$. The function $\lambda_k$ is referred to as the \textit{$k$-layer of the persistence landscape}.

Intuitively, we can describe the set of graphs of a persistence landscape by first joining each of the points in the multiset to the diagonal via a horizontal as well as a vertical line, then clockwise rotating the figure 45 degrees and rescaling it by $1/\sqrt{2}$.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am i correct to say that you are referring to \Lambda and not \lambda ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After reviewing, I think I can do better than I did a few months go explaining this. Will give it another go.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, sorry this took me a few days. It should ready for review.

vectorization of the set of persistence diagrams with target the vector space of real-valued function on $\mathbb N \times \mathbb R$. For any $p = 1,\dots,\infty$ we can restrict attention to persistence diagrams $D$ whose associated persistence landscape $\lambda$ is
%\hyperref[l^p norm]{$p$-integrable}
$p$-integrable, that is to say,
\begin{equation} \label{equation: persistence landscape norm}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would mind if we called it equation:persistence_landscape_norm instead?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

\begin{equation*}
||\lambda_i||_p = \left( \int_{\mathbb R} \lambda_i^p(x)\, dx \right)^{1/p}
\end{equation*}
is finite. In this case we refer to (\ref{equation: persistence landscape norm}) as the
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would \eqref{equation: persistence landscape norm} work for you?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. Should I replace all references to equations by "\eqref"?

@@ -396,54 +387,66 @@

The name is inspired from the case when the persistence diagram comes from persistent homology.

\subsection*{Distances, inner products and kernels} \label{metric_inner_product_and_kernel}
\subsection*{Metric space} \label{metric space}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, would you mind metric_space ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will change it. Sorry for the slip.

\begin{equation*}
d : X \times X \to \mathbb R
\end{equation*}
is said to be a \textit{metric space} if the values of $d$ are all non-negative and for all $x,y,z \in X$ ans $a \in \mathbb R$
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean and?
Also, i can't find where a is used.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch!

In this case the function $\langle -, - \rangle$ is referred to as the \textit{inner product} and the function given by
\begin{equation*}
||u|| = \sqrt{\langle u, u \rangle}
is said to be an \textit{inner product space} if for all $u,v,w \in V$
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, a\in\mathbb R was meant to be here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, will get it fixed.


\subsection*{$L^p$-norm:} \label{l^p_norm}

...
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the reference still exist?
I am not questioning the need for this section.

Signed-off-by: ammedmar <ammedmar@gmail.com>
Signed-off-by: ammedmar <ammedmar@gmail.com>
Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested a review from wreise April 2, 2020 10:04
@ammedmar ammedmar self-assigned this Apr 2, 2020

Intuitively, we can describe the set of graphs of a persistence landscape by first joining each of the points in the multiset to the diagonal via a horizontal as well as a vertical line, then clockwise rotating the figure 45 degrees and rescaling it by $1/\sqrt{2}$.
We describe the graph of each $\lambda_k$ intuitively. For each $i \in I$, draw an isosceles triangle with base the interval $(b_i, d_i)$ on the horizontal $t$-axis, and sides with slope 1 and $-1$. This subdivides the plane into a number of polygonal regions. Label each of these regions by the number of triangles containing it. If $P_k$ is the union of the polygonal regions with values at least $k$, then the graph of $\lambda_k$ is the upper contour of $P_k$, with $\lambda_k(a) = 0$ if the vertical line $t=a$ does not intersect $P_k$.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reads well!
There is a number of double-spaces here, but latex still renders it properly as since spaces, so it's ok imo.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, now fixed

||\lambda||_p = \left( \sum_{i \in \mathbb N} ||\lambda_i||^p_p \right)^{1/p}
\end{equation}
where
\begin{equation*}
||\lambda_i||_p = \left( \int_{\mathbb R} \lambda_i^p(x)\, dx \right)^{1/p}
\end{equation*}
is finite. In this case we refer to (\ref{equation: persistence landscape norm}) as the
is finite. In this case we refer to (\eqref{equation:persistence_landscape_norm}) as the
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove the parentheses, because eqref already produces them. In this case, in the pdf, you see ((1)).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested a review from wreise April 3, 2020 10:56
Copy link
Collaborator

@wreise wreise left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, maybe @ulupo would like to review before you merge.

Copy link
Collaborator

@ulupo ulupo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just asking for some minor changes for future book-keeping, but looks great otherwise!

@@ -307,76 +304,69 @@
\begin{equation*}
\sup_{x \in D_1 \cup \Delta} ||x - \gamma(x)||_{\infty.}
\end{equation*}

The set of persistence diagrams together with any of the distances above is a
%\hyperref[metric space]{metric space}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if this is commented out, I recommend using the correct label, i.e. "metric_space", inside the square brackets.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems still unaddressed, or am I missing something?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry :-(

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still not showing up here :/

||\lambda||_p = \left( \sum_{i \in \mathbb N} ||\lambda_i||^p_p \right)^{1/p}
\end{equation*}
whenever the right hand side exists and is finite.
%\hyperref[persistence diagram] {persistence diagram}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if this is commented out, I recommend using the correct label, i.e. "persistence_diagram", inside the square brackets.

We describe the graph of each $\lambda_k$ intuitively. For each $i \in I$, draw an isosceles triangle with base the interval $(b_i, d_i)$ on the horizontal $t$-axis, and sides with slope 1 and $-1$. This subdivides the plane into a number of polygonal regions. Label each of these regions by the number of triangles containing it. If $P_k$ is the union of the polygonal regions with values at least $k$, then the graph of $\lambda_k$ is the upper contour of $P_k$, with $\lambda_k(a) = 0$ if the vertical line $t=a$ does not intersect $P_k$.

The persistence landscape construction defines a
%\hyperref[vectorization, kernel and amplitude]{vectorization}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if this is commented out, I recommend using the correct label, i.e. "vectorization_kernel_and_amplitude", inside the square brackets.

The persistence landscape construction defines a
%\hyperref[vectorization, kernel and amplitude]{vectorization}
vectorization of the set of persistence diagrams with target the vector space of real-valued function on $\mathbb N \times \mathbb R$. For any $p = 1,\dots,\infty$ we can restrict attention to persistence diagrams $D$ whose associated persistence landscape $\lambda$ is
%\hyperref[l^p norm]{$p$-integrable}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This label format won't work well in the future (when this will hopefully get un-commented) due to the presence of a white space. Maybe we can use "l^p_norm" or even just "lp_norm"?

||\lambda_i||_p = \left( \int_{\mathbb R} \lambda_i^p(x)\, dx \right)^{1/p}
\end{equation*}
is finite. In this case we refer to \eqref{equation:persistence_landscape_norm} as the
%\hyperref[vectorization, kernel and amplitude]{amplitude}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto as above.

% \hyperref[persistence_diagram] {persistence diagram}
persistence diagram. A \textit{weighted silhouette} associated to $D$ is a continuous function $\phi : \mathbb R \to \mathbb R$ of the form
Let $D = \{(b_i, d_i)\}_{i \in I}$ be a
%\hyperref[persistence diagram] {persistence diagram}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto as above. Also there is here a whitespace between brackets and parentheses.

Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested a review from ulupo April 5, 2020 19:52
@@ -307,76 +304,69 @@
\begin{equation*}
\sup_{x \in D_1 \cup \Delta} ||x - \gamma(x)||_{\infty.}
\end{equation*}

The set of persistence diagrams together with any of the distances above is a
%\hyperref[metric space]{metric space}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems still unaddressed, or am I missing something?

Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested a review from ulupo April 6, 2020 07:15
@@ -307,76 +304,69 @@
\begin{equation*}
\sup_{x \in D_1 \cup \Delta} ||x - \gamma(x)||_{\infty.}
\end{equation*}

The set of persistence diagrams together with any of the distances above is a
%\hyperref[metric space]{metric space}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still not showing up here :/

@@ -235,12 +232,12 @@
\subsection*{Vietoris-Rips complex and Vietoris-Rips persistence} \label{vietoris-rips_complex_and_vietoris-rips_persistence}

Let $(X, d)$ be a
% \hyperref[finite_metric_spaces_and_point_clouds]{finite metric space}
% \hyperref[finite_metric_spaces_and_point_clouds]{finite metric_space}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "finite metric_space" should be "finite metric space" (displayed, not label name)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! Only this one still left...

||\lambda||_p = \left( \sum_{i \in \mathbb N} ||\lambda_i||^p_p \right)^{1/p}
\end{equation*}
whenever the right hand side exists and is finite.
%\hyperref[persistence diagram] {persistence_diagram}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the underscore should be in the square brackets, not in the braces? Additionally, that whitespace is still showing up for me.

||u|| = \sqrt{\langle u, u \rangle}
\end{equation*}
and a norm space is naturally a
%\hyperref[metric_space]{metric_space}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be no underscore in the expression in braces I thought.

Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested a review from ulupo April 6, 2020 10:13
@@ -235,12 +232,12 @@
\subsection*{Vietoris-Rips complex and Vietoris-Rips persistence} \label{vietoris-rips_complex_and_vietoris-rips_persistence}

Let $(X, d)$ be a
% \hyperref[finite_metric_spaces_and_point_clouds]{finite metric space}
% \hyperref[finite_metric_spaces_and_point_clouds]{finite metric_space}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! Only this one still left...

Signed-off-by: ammedmar <ammedmar@gmail.com>
@ammedmar ammedmar requested a review from ulupo April 6, 2020 10:40
Copy link
Collaborator

@ulupo ulupo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@ulupo ulupo merged commit 805e912 into giotto-ai:master Apr 6, 2020
ulupo added a commit that referenced this pull request Apr 8, 2020
* Add twine check to CI, attempt fix in README (#379)

* Tests for plotting functions and methods, other increases in test coverage (#384)

* Vectorization2 (#378)

* Fix azure on windows (#388)

* Allow more general input to ripser when metric='precomputed', improve/refactor check_point_clouds and add tests (#386)

* Add citing entry to README.rst and doc/faq.rst (#389)

* Fix markdown subsection formatting (#390)

* Prepare release 0.2.1 (#391)

Co-authored-by: Anibal M. Medina-Mardones <ammedmar@gmail.com>
Co-authored-by: REDS institute <reds-heig@users.noreply.github.com>
Co-authored-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>
wreise added a commit that referenced this pull request Apr 8, 2020
* Add temporary patch to azure-pipelines.yml (#369)

Get around Azure DevOps issues by following a suggestion by Sean Law: https://twitter.com/seanmylaw/status/1239332444865773568

* Remove metatransformers (#368)

Signed-off-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>

* Extend plotting functionalities to more transformers and other modules (#362)

* start plotting for images

* Add the image plotting  file

* Add an imagePlotMixin subclassing the ImagePlot for theimage submodule, add persistenceImage plots

* Add plot_persistence_image to the package

* Add plotting functionalities to filtrations in the image module and forbetticurves

* Preprocessing covered by plots

* Add basic plotting functions for different vectorisation  methods

* Incorporate plotting for diagram representations and images/preprocessing

* Change the docstring for ImagePlotterMixin and add fail on 3d  images

* Correct the samplingsin features, and titles

* Small wording fix

* Change dosctrings for plot in diagrams/features

* Fix typo in variable name

* Change plotting of  heatkernel to the same as persistenceimage, use  samplings

* Cast  images to floats, so as they can be always plotted

* Add a Homology and PointCloud Mixin

* Use the new PlotMixins

* Add todo in Forgetdimensions, in relation to plotting

* Add plotting to point_cloudsrescaling, correctimports

* Wording changes

* Correct n_values to n_bins and  add 's' to n_homologydimensionS

* Correct spelling mistakes

* Change the name of ...PlotterMixin to ...Plotter

* Make SlidingWindowEmbedding a PointCloudPlotter

* Fix typoin import

* Fix linting

* Correct the  way the distance matrices are displayed, and add the  SlidingWindow.plot method

* Change behaviour of transform_plot to return the 0-th sample

* Docstring fixes

* Create diagrams/representations.py, and migrate amplitude to features.py

This change reflects the new documentation structure and the difference now drawn there between feature creation for diagrams (scalars) and vector representations/vectorizations. These changes are mostly invisible to the user.

* Remove unused identity function

* Rename HomologyPlotter as DiagramPlotter

* Add homology_dimensions kwarg to DiagramPlotter, revise docstring

* Small docstring fixes

* Try adding triggers in the yaml

* Remove excessive blank line

* Revert "Change behaviour of transform_plot to return the 0-th sample"

This reverts commit 2fa0209.

* Fix docstring for PlotterMixin

* Further docstring refinements in `PlotterMixin`

* Remove `DiagramPlotter`, differentiate between implementations of `plot`

Also make plot methods static in classes in `gtda.homology` and in ForgetDimensino

* Correctly import PlotterMixin

* Correct the plotting in the lorentz notebook

* Remove PointCloudPlotter and refine plot methods for point clouds

* Thorough refactoring of plotting API

- Eliminate some top-level functions for diagram representations, leave only betti_curves and betti_surfaces
- Remove ImagePlotter mixin and plotting/_plot.py, create top-level plot_heatmap function
- Rename plotting/diagrams.py to plotting/diagrams_representations.py
- Rename plotting/image.py to plotting/images.py
- Rename plotting/homology.py to plotting/persistence_digrams.py
- Fix problem with Binarizer coming from now-removed normalize parameter
- Refactor notebooks to use plotting API
- MIscellaneous small changes elsewhere

The philosophy behind the file changes in gtda/plotting is that file names now reflect data structures and do not try to follow the names of subpackages like diagrams, image, etc.

* Grammar

* Fix default parameter for homology_dimension_ix in HeatKernel

* Change plot_diagrams to allow ForgetDimension to work

* Allow _subdiagrams to better handle infs of different kind

* Add inline comment for future selves

* Write check_diagrams docstring and make it convert to float, revert previous changes to _subdiagrams

* Pass copy=False to astype in check_diagrams

Co-authored-by: Guillaume Tauzin <guillaume.tauzin@epfl.ch>
Co-authored-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>
Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com>
Co-authored-by: Umberto <u.lupo@l2f.ch>

* Glossary entry: distance, inner products & kernels (#370)

* Update P landscapes

* Add distances, inner products and kernels glossary entry

* Update after  W's comments

Signed-off-by: ammedmar <ammedmar@gmail.com>
Co-authored-by: ammedmar <anibal@medina-mardones.com>

* Add reference for images submodules (#372)

* Add reference for images submodules

Signed-off-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>

* Move hera to submodule (#371)

* delete hera repository

* Add hera as submodule

* Remove unnecessary branch for submodule

* Add parameter max_bids_per_round when computing wasserstein

* Fix an inconsistency with wasserstein implementation

In Wasserstein, by default epsilon_common_ratio is equal 5, and it can be
equal 0, which our bindings did not allow

* Add test for python bindings of wasserstein

Add method to retrieve what wasserstein consider to be infinity as an input

* Add test for python bindings of bottleneck

* Add fixes done by author after I contact him

Signed-off-by: julian <julian.burellaperez@heig-vd.ch>

* Miscellaneous refinements to GitHub pages (#363)

* Remove code fetching logo as it is now stored in doc/images

* Fix logo in examples directory

* Partial rewriting of contributing page

* Remove instructions for building documentation

* Simplify path in Makefile

* Remove documentation job in azure-pipelines.yml

* Add @wreise to authors in doc/conf.py

* Remove paper citation from FAQ

* Rename Glossary to Theory Glossary

* Linting in images subpackage

* Add PlotterMixin to base.rst

* Update FAQ

* Improve README with pointers to GH pages

* Implement @wreise's review suggestions

* Fix links to svgs

* Remove remaining mentions of plotting.py

* Rename basic to tutorials and advanced to examples

* Fixes in jupyter notebooks in examples folder

* Add plotting in docs

* Fixes in glossary

* Correct the VBox display

* Add TODO instead of empty reference in Cech docstring

* Fix references in docstrings

* Reintroduce scrollZoom in mapper_quickstart

* Improve landing page and move Lewis' blog post to notebooks/tutorials.rst

Co-authored-by: Wojciech Reise <reisewojtus@gmail.com>

* Pcs different sizes (#318)

* Add a check_point_clouds fct in utils/validation, and apply it throughout classes in ``homology/simplicial.py``

* Adapt and add tests

* Make the output of ImageToPointCloud variable in size,  and adjust the tests (modify the expected values)

* Add mapper and utils to global __init__

* Revise use of check_array throughout

* Linting and code clarity improvements throughout

* Fix some incorrect links to GH pages

* Revert to trivial slicing in transform_plot method of PlotterMixin, to cover case of list input

Co-authored-by: Umberto <u.lupo@l2f.ch>

* Release of v0.2.0 (#375)

* Bump version to 0.2.0, add release notes

* Improve LaTeX rendering in mapper_quickstart.ipynb

* Add @rth as a contributor and code author for v0.2.0 (#376)

* Add @rth to code authors and list of contributors for v0.2.0

* [WIP] Add twine check to CI, attempt fix in README (#379)

* Add twine check to azure-pipelines.yml

* Fix formatting and duplicate issues in README.rst

* Tests for plotting functions and methods, other increases in test coverage (#384)

* Remove images subpackage from code omitted from coverage

* Add tests for Filtering class

* Add tests in diagrams subpackage, linting

- Rename test_features -> test_features_representations
- Create parametrized dummy tests for fit_transform_plot method of transformers in representations.py
- Improve structure and range of tests in test_preprocessing in a similar way
- Create dummy tests of shape for BettiCurve and PersistenceLandscape
- Linting and code style changes elsewhere

* Add fit_transform_plot test for GraphGeodesicDistance

* Add fit_transform_plot tests in gtda.homology

* Fix typo in voids_on_the_plane notebook

* Add fit_transform_plot tests for images subpackage

* Add fit_transform_plot tests for point_clouds subpackage

* Add test for SlidingWindow.plot

* Linting

* Exclude gtda.utils._doc and gtda.utils.intervals from coveragerc

* Implement @wreise's suggestions

- Rename some test functions
- Implement a solution to the automatic tab opening problem, based on setting the default value of plotly.io.renderers in test files

* Upload coverage report only from Azure macOS job

* Exclude test folders from coverage reports

* Vectorization2 (#378)

* Update P landscapes

* Add distances, inner products and kernels glossary entry

Signed-off-by: ammedmar <anibal@medina-mardones.com>

* Fix azure on windows (#388)

* Update ccache

* Update variable used to indicate boost headers location

Official answer from boost devs: https://discourse.cmake.org/t/findboost-difference-between-boost-include-dir-and-boost-include-dirs/855

* Add install boost step in Azure CI, which downloads boost

Signed-off-by: julian <julian.burellaperez@heig-vd.ch>

* Allow more general input to ripser when metric='precomputed', improve/refactor check_point_clouds and add tests (#386)

* Remove boolean mask on infinite values in VietorisRipsPersistence

* Refactoring of check_point_clouds

- Rename distance_matrix kwarg to distance_matrices
- Add checks for square input when distance_matrices is set to True
- More comprehensive/friendly error messages and warnings

* Increase generality of ripser function when metric == 'precomputed'

Sklearn's pairwise_distances is no longer called when metric='precomputed'.

This is because pairwise_distances checks for positivity and finite input in that case, but this is unnecessarily restrictive for ripser. 

pairwise_distances also checks for square input so this is no longer checked in the case metric='precomputed'.  But the ripser function is not meant for use in isolation. It is meant to be called by a VietorisRipsPersistence instance, and input validation can be offloaded to that class. In particular, 9bab872 introduces checks for square input.

* Add tests for check_point_clouds

* Refresh docstrings for VietorisRipsPersistence

- Mention "adjacency matrices of weighted undirected graphs" as well as distance matrices
- Mention compatibility with filtration in docstrings for fit and transform

* Add citing entry to README.rst and doc/faq.rst (#389)

* Add citation section in README

* Add citation info to FAQ page in docs

Signed-off-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>

Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com>

* Fix markdown subsection formatting (#390)

* Fix citing giotto-tda section
* Fix Important link section

* Prepare release 0.2.1 (#391)

* Make the docs and push to a test branch in gtda-docs

* Fix indentation

Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com>
Co-authored-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>
Co-authored-by: Guillaume Tauzin <guillaume.tauzin@epfl.ch>
Co-authored-by: Umberto <u.lupo@l2f.ch>
Co-authored-by: Anibal M. Medina-Mardones <ammedmar@gmail.com>
Co-authored-by: ammedmar <anibal@medina-mardones.com>
Co-authored-by: REDS institute <reds-heig@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Glossary entry for general diagram distances (and diagram kernels)
4 participants