Euclidean Space
as a Riemannian manifold; flat, globally defined, and the baseline against which all other manifolds are measured.
Geometry Summary
| Property | Value |
|---|---|
| Points | All of |
| Tangent space at $p$ | (entire space) |
| Metric | Standard dot product $\langle u, v\rangle = u^\top v$ |
| Cut locus | Empty: geodesics are globally unique |
| Injectivity radius | $\infty$ |
| Sectional curvature | $K \equiv 0$ |
| Ricci tensor | $0$ |
| Scalar curvature | $0$ |
Formula Reference
All formulas are trivial; this manifold is its own tangent space:
Exponential map:
Logarithmic map (always defined, never returns None):
Projection (identity; all points and vectors are already "on" the manifold):
Parallel transport (identity; tangent spaces are all identified with ):
Distance:
Code Examples
use cartan::prelude::*;
use cartan::manifolds::Euclidean;
let r3 = Euclidean::<3>;
let p = [1.0_f64, 2.0, 3.0];
let v = [0.5_f64, -1.0, 0.0];
// exp is just addition.
let q = r3.exp(&p, &v);
assert_eq!(q, [1.5, 1.0, 3.0]);
// log is subtraction; always Some.
let v_back = r3.log(&p, &q).unwrap();
assert_eq!(v_back, v);
// Parallel transport is the identity.
let w = r3.parallel_transport(&p, &q, &v).unwrap();
assert_eq!(w, v);
// Zero curvature everywhere.
let u = [1.0_f64, 0.0, 0.0];
let k = r3.sectional(&p, &u, &v);
assert_eq!(k, 0.0);Role in cartan
Euclidean<N> serves three purposes:
1. Testing baseline. Every algorithm that works on a general manifold should
reduce to standard Euclidean behavior on Euclidean<N>. Use it to verify your
code before testing on curved manifolds.
2. Product manifold component. The product manifold $M_1 \times M_2$ has
factors for unconstrained coordinates. cartan-optim's
ProductManifold uses Euclidean for these.
3. Unconstrained optimization. When your problem has no manifold constraint,
Euclidean lets you use the same optimizer interface as curved manifolds -
Riemannian gradient descent on is just gradient descent.
Connection and Curvature
The Levi-Civita connection on is the ordinary directional derivative; all Christoffel symbols vanish:
The Riemann tensor $R \equiv 0$ and the geodesics $\gamma(t) = p + tv$ are straight lines; consistent with Euclid's parallel postulate.