Understanding Euclidean Spaces

In mathematics and science, Euclidean space is a fundamental concept. Is a sort of space characterized by its flat geometry. This means that regardless of where they are in space, all distances and angles are measured the same manner. In mathematics and physics, Euclidean space is the most frequent type of space.

We can think of it as a straight line in a 1-dimensional Euclidean space. It becomes a plane in a 2-dimensional Euclidean space, the common canvas of our high-school geometry. However, when we progress into higher dimensions, visual intuition can become difficult.

Let’s create an easy-to-understand graphic depiction of 2D Euclidean space.

import matplotlib.pyplot as plt
import geomstats.backend as gs
import geomstats.datasets.utils as data_utils

# Euclidean Space
fig1 = plt.figure(figsize=(6, 6))
point_a = gs.array([0, 1])
point_b = gs.array([1, 2])
vector = point_b - point_a
ax1.scatter(point_a, point_b, label="Points")
ax1.arrow(gs.to_numpy(point_a[0]), gs.to_numpy(point_a[1]), dx=gs.to_numpy(vector[0]), dy=gs.to_numpy(vector[1]), width=0.008, length_includes_head=True, color="black")
ax1.legend()
plt.show()


Euclidean Spaces: Strengths and Weaknesses

• Strengths

• Intuitiveness: Our everyday experience is in a 3-dimensional Euclidean world, making it naturally understandable.
• Mathematical simplicity: Many mathematical constructs are more manageable in Euclidean spaces.
• Weaknesses

• Limited scope: Euclidean geometry struggles to explain certain phenomena in modern physics. For instance, spacetime’s geometry per general relativity is non-Euclidean.

Understanding Manifolds

A space that is not flat is called a manifold. This implies that measurements of angles and distances can vary depending on where you are in the space. Curved surfaces like the surface of a sphere or a doughnut are frequently modeled using manifolds.

A space that is locally equivalent to Euclidean space is known as a manifold. In other words, a manifold begins to resemble Euclidean space as you zoom in on any particular point on it.

The surface of a sphere, which is a 2-dimensional manifold, is another well-known illustration of a manifold. Any point on the sphere begins to resemble a two-dimensional plane when you zoom closer on it.

Let’s create a 3D model of the 2D manifold. (the surface of a sphere).

import matplotlib.pyplot as plt
from geomstats.visualization import Sphere, Arrow3D
import geomstats.datasets.utils as data_utils
import geomstats.visualization as visualization

visualization.tutorial_matplotlib()
from geomstats.geometry.hypersphere import Hypersphere

# Manifold
sphere = Hypersphere(dim=2)

paris = data[19]
vector = gs.array([1, 0, 0.8])
tangent_vector = sphere.to_tangent(vector, base_point=paris)
result = sphere.metric.exp(tangent_vector, base_point=paris)

geodesic = sphere.metric.geodesic(initial_point=paris, initial_tangent_vec=tangent_vector)
points_on_geodesic = geodesic(gs.linspace(0.0, 1.0, 30))

fig2 = plt.figure(figsize=(10, 10))
visualization.plot(data[15:20], ax=ax2, space="S2", label=names[15:20], s=80, alpha=0.5)
arrow = visualization.Arrow3D(paris, vector=vector)
arrow.draw(ax2, color="black")
ax2.legend()
plt.show()