Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions docs/contributing/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ should not break any test.
Workflow of a contribution
===========================

The best way to start contributing is by finding a part of the project that is more familiar to you (e.g. a specific manifold or metric, a learning algoritgm, etc). Instead, if these concepts are new to you and you would like to contribute while learning, look at some of the existing issues.
The best way to start contributing is by finding a part of the project that is more familiar to you (e.g. a specific manifold or metric, a learning algorithm, etc). Instead, if these concepts are new to you and you would like to contribute while learning, look at some of the existing issues.


.. _new-contributors:
Expand Down Expand Up @@ -678,7 +678,7 @@ guidelines:
objects living in several namespaces which creates confusion (see
`Language Constructs You Should Not Use <https://docs.python.org/2/howto/doanddont.html#language-constructs-you-should-not-use>`_).
Keeping the original namespace ensures naming consistency in the codebase
and speeds up the code reviews: co-developpers and maintainers do not have
and speeds up the code reviews: co-developers and maintainers do not have
to check if you are using the original module's method or if you have
overwritten it.

Expand Down Expand Up @@ -725,7 +725,7 @@ Building the documentation requires installing specific requirements::

pip install -e .[doc]

To build the documentation, follow the steps discussed in `build the docs`_ to install other dependecies
To build the documentation, follow the steps discussed in `build the docs`_ to install other dependencies
and build the documentation.

Writing Docstrings
Expand Down Expand Up @@ -951,7 +951,7 @@ from high-level questions to a more detailed check-list.
Reporting bugs and features
===========================

Sharing bugs and potential new features for the geomstats project is an equally significant conteibution.
Sharing bugs and potential new features for the geomstats project is an equally significant contribution.
We encourage reports for any module including documentation and missing tests.

Issue tracker
Expand All @@ -975,15 +975,15 @@ Issue Triaging
==============

Other than reporting bugs, another important aspect of contribution is `issue triaging`. This is
about issue mamanagement and includes certain aspects that are described in the sequel.
about issue management and includes certain aspects that are described in the sequel.

Reproducing issues
------------------

Sometimes reported issues need to be verified to acertain if they are actual issues or false alarms. Part of
Sometimes reported issues need to be verified to ascertain if they are actual issues or false alarms. Part of
triaging is trying to simulate the bugs in their reported environments and other relevant environments.

We encourage you to help with this and comment on the issue if you can or can not reproduce it as decribed.
We encourage you to help with this and comment on the issue if you can or can not reproduce it as described.
This allows core devs to close the issue if it does not require fixing.

Commenting on alternative solutions
Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started/first-steps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ If you use the flag ``-e``, geomstats will be installed in editable mode, i.e. l

**CHOOSE THE BACKEND**

Geomstats can run seemlessly with ``numpy`` or ``pytorch``. Note that ``pytorch`` requirement is optional, as geomstats can be used with ``numpy`` only. By default, the ``numpy`` backend is used. The visualizations are only available with this backend.
Geomstats can run seamlessly with ``numpy`` or ``pytorch``. Note that ``pytorch`` requirement is optional, as geomstats can be used with ``numpy`` only. By default, the ``numpy`` backend is used. The visualizations are only available with this backend.

To get the ``autograd`` and ``pytorch`` versions compatible with geomstats, install the optional requirements::

Expand Down
2 changes: 1 addition & 1 deletion docs/hackathons.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Hackathons
Geomstats core developers organize several hackathons a year, with the following goals:
* Train new users, e.g. pairing a new user with an experienced Geomstats developer.
* On-board new contributors, e.g. on collaborative coding practices.
* Foster new collaborations and strenghten existing ones
* Foster new collaborations and strengthen existing ones
* Bring the community of geometric statistics and learning together.


Expand Down
2 changes: 1 addition & 1 deletion geomstats/information_geometry/multinomial.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ def tangent_sphere_to_simplex(tangent_vec, base_point):
def exp(self, tangent_vec, base_point):
"""Compute the exponential map.

Comute the exponential map associated to the Fisher information
Compute the exponential map associated to the Fisher information
metric by pulling back the exponential map on the sphere by the
simplex_to_sphere map.

Expand Down
2 changes: 1 addition & 1 deletion geomstats/information_geometry/poisson.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def belongs(self, point, atol=gs.atol):
return gs.squeeze(point >= -atol)

def random_point(self, n_samples=1, bound=1.0):
"""Sample parameters of Possion distributions.
"""Sample parameters of Poisson distributions.

The uniform distribution on (0, bound) is used.

Expand Down
8 changes: 4 additions & 4 deletions geomstats/visualization/pre_shape.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ class KendallSphere:
pole : array-like, shape=[3,2]
Equilateral triangle (north pole).
ua : array-like, shape=[3,2]
Tangent vector toward isocele triangle at vertex A.
Tangent vector toward isosceles triangle at vertex A.
ub : array-like, shape=[3,2]
Tangent vector toward isocele triangle at vertex B.
Tangent vector toward isosceles triangle at vertex B.
na : array-like, shape=[3,2]
Tangent vector such that (ua,na) is a positively oriented
orthonormal basis of the horizontal space at north pole.
Expand Down Expand Up @@ -285,9 +285,9 @@ class KendallDisk:
centre : array-like, shape=[3,3]
Equilateral triangle in 3D (centre).
ua : array-like, shape=[3,2]
Tangent vector at north pole toward isocele triangle at vertex A.
Tangent vector at north pole toward isosceles triangle at vertex A.
ub : array-like, shape=[3,2]
Tangent vector at north pole toward isocele triangle at vertex B.
Tangent vector at north pole toward isosceles triangle at vertex B.
na : array-like, shape=[3,2]
Tangent vector such that (ua,na) is a positively oriented
orthonormal basis of the horizontal space at north pole.
Expand Down
2 changes: 1 addition & 1 deletion geomstats/visualization/spd_matrices.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def draw_points(self, points=None, ax=None, **plot_kwargs):
positive definite matrices.
Optional, default: None.
plot_kwargs : dict
Dictionnary of arguments related to plotting.
Dictionary of arguments related to plotting.
"""
if ax is None:
ax = self.set_ax()
Expand Down
4 changes: 2 additions & 2 deletions notebooks/00_foundations__introduction_to_geomstats.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"id": "5cdd76be",
"metadata": {},
"source": [
"Analyzing data that lie on manifolds is often possible without Riemannain Geometry, but choosing to analyze data on manifolds is advantageous for three reasons:\n",
"Analyzing data that lie on manifolds is often possible without Riemannian Geometry, but choosing to analyze data on manifolds is advantageous for three reasons:\n",
"\n",
"1. Analyzing data on the manifold it lies on allows you to reduce the degrees of freedom of the system, which makes computations less complicated and more intuitive and interpretable.\n",
"2. Knowing the manifold that a data set belongs to will give you a better understanding of the data's evolution.\n",
Expand Down Expand Up @@ -251,7 +251,7 @@
"id": "5cd75c7e",
"metadata": {},
"source": [
"Geomstats is designed to be intuitive and user friendly, but having some knowledge about Riemannian Geometry will put you in a good position to understand how to use Geomstats most effectively. Therefore, in the next three notebooks, we will give you an overview of three of the most important parent classes in Geomstats, along with a description of the matematical concepts implemented in each class."
"Geomstats is designed to be intuitive and user friendly, but having some knowledge about Riemannian Geometry will put you in a good position to understand how to use Geomstats most effectively. Therefore, in the next three notebooks, we will give you an overview of three of the most important parent classes in Geomstats, along with a description of the mathematical concepts implemented in each class."
]
},
{
Expand Down
12 changes: 6 additions & 6 deletions notebooks/01_foundations__manifolds.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@
"id": "deb3926b",
"metadata": {},
"source": [
"A hyperphere is one type of manifold, but there are many other types of manifolds that are commonly used and seen in nature. We will show a few examples here to help you build intuition about what a manifold is and what a manifold can look like."
"A hypersphere is one type of manifold, but there are many other types of manifolds that are commonly used and seen in nature. We will show a few examples here to help you build intuition about what a manifold is and what a manifold can look like."
]
},
{
Expand Down Expand Up @@ -334,7 +334,7 @@
"id": "cdce00c5",
"metadata": {},
"source": [
"The `Manifold` class describes different types of manifolds. The `Manifold` class and its subclasses implement methods that establish the properties of different types of manifolds, and the manifolds that exist under these subclasses inherit the properties implemented in their respective sublclasses.\n",
"The `Manifold` class describes different types of manifolds. The `Manifold` class and its subclasses implement methods that establish the properties of different types of manifolds, and the manifolds that exist under these subclasses inherit the properties implemented in their respective subclasses.\n",
"\n",
"Note: The words \"class\", \"subclass\", \"methods\" refer to [object oriented programming](https://www.educative.io/blog/object-oriented-programming)."
]
Expand Down Expand Up @@ -438,7 +438,7 @@
"source": [
"As discussed in the previous section, one of the primary purposes of the `Manifold` class is to hold information about various types of manifolds. Rules that are universally true for all manifolds are implemented in methods in the parent class `Manifold`. Rules that are true for some types of manifolds are implemented in the subclasses of `Manifold`: `LevelSet`, `OpenSet`, `FiberBundle`, `ProductManifold`, `VectorSpace`, `MatrixLieAlgebra`, and `MatrixLieGroup`. Specific types of manifolds are described in methods within these subclasses.\n",
"\n",
"In this notebook, we will focus on describing the subclasses pertenant to the geometry module of geomstats: `LevelSet`, `OpenSet`, `ProductManifold` and `VectorSpace`.\n",
"In this notebook, we will focus on describing the subclasses pertinent to the geometry module of geomstats: `LevelSet`, `OpenSet`, `ProductManifold` and `VectorSpace`.\n",
"\n",
"In the following subsections, we will discuss the methods and ideas implemented in the parent class and its subclasses."
]
Expand All @@ -456,7 +456,7 @@
"id": "578faea8",
"metadata": {},
"source": [
"The Manifold parent class is an abstract base class which provides the minimal skeleton of attributes and methods expected in its subclasses. Note that the methods of the abstract parent class are declared, but they contain no implementation, and they are overridden by the subclasses. The properties that are declared in the `Manifold` class are properties that all types of manifold must posess. For example, the following methods and attributes are implemented in `Manifold`:\n",
"The Manifold parent class is an abstract base class which provides the minimal skeleton of attributes and methods expected in its subclasses. Note that the methods of the abstract parent class are declared, but they contain no implementation, and they are overridden by the subclasses. The properties that are declared in the `Manifold` class are properties that all types of manifold must possess. For example, the following methods and attributes are implemented in `Manifold`:\n",
"\n",
"1. `dim`: $\\textit{attribute}$. the dimension of the manifold. \"How many coordinates are necessary to fully describe the manifold?\"\n",
"2. `belongs()`: $\\textit{method}$. evaluates whether a given element belongs to that manifold\n",
Expand Down Expand Up @@ -855,7 +855,7 @@
"id": "3bb824a3",
"metadata": {},
"source": [
"Earlier in the notebook, we were able to say that a set of points is a manifold if it satisfied one of three constraints. We also said that every manifold can be described by any three of these definitions, and the choice of defintion is merely a question of which definition is most convenient. `OpenSet` provides a way of describing manifolds with local parametrization, which was labeled (1) on our definition list.\n",
"Earlier in the notebook, we were able to say that a set of points is a manifold if it satisfied one of three constraints. We also said that every manifold can be described by any three of these definitions, and the choice of definition is merely a question of which definition is most convenient. `OpenSet` provides a way of describing manifolds with local parametrization, which was labeled (1) on our definition list.\n",
"\n",
"One such way to describe a manifold is with the concept of an $\\textbf{Open Set}$: a manifold is the open sets of a d-dimensional vector space, called $\\textbf{ambient space}$."
]
Expand Down Expand Up @@ -1077,7 +1077,7 @@
"id": "f2b6b387",
"metadata": {},
"source": [
"Another elementary class of manifolds are $\\textbf{Level Sets}$. A level set is the set of values $x$ for which a function f(x) is equal to a given constant. In other words, a level set is a set of curves for which the fucntion describing a manifold is constant along that curve. \n",
"Another elementary class of manifolds are $\\textbf{Level Sets}$. A level set is the set of values $x$ for which a function f(x) is equal to a given constant. In other words, a level set is a set of curves for which the function describing a manifold is constant along that curve. \n",
"\n",
"In the same way that `OpenSet` is an implementation of the first definition of a manifold (Local Parametrization), `LevelSet` is an implementation of the second definition of a manifold (Local Implicit Function). a level set is a set of points for which the function $f$ takes the exact same value. This value is called the \"level\", and does not need to be a scalar, it could also be a vector.\n",
"\n",
Expand Down
4 changes: 2 additions & 2 deletions notebooks/02_foundations__connection_riemannian_metric.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
"id": "7432cd4a",
"metadata": {},
"source": [
"$\\textbf{2. Now, let's consider the conditions that the connection must satsify.}$ \n",
"$\\textbf{2. Now, let's consider the conditions that the connection must satisfy.}$ \n",
"1. (linearity of the $1^{st}$ argument): $\\nabla_{f X} Y = f \\nabla_{X} Y$\n",
"\n",
"2. (Leibniz rule in $2^{nd}$ argument): $\\nabla_{X} (fY) = X(f)Y+ f\\nabla_{X} Y$\n",
Expand Down Expand Up @@ -340,7 +340,7 @@
"id": "04c152fc",
"metadata": {},
"source": [
"# 3. Defining Geodesics with the Conneciton"
"# 3. Defining Geodesics with the Connection"
]
},
{
Expand Down