manifolds-0.5.0.4: Coordinate-free hypersurfaces

Copyright (c) Justus Sagemüller 2015 GPL v3 (@) jsag \$ hvl.no experimental portable None Haskell2010

Data.Manifold.Riemannian

Description

Riemannian manifolds are manifolds equipped with a Metric at each point. That means, these manifolds aren't merely topological objects anymore, but have a geometry as well. This gives, in particular, a notion of distance and shortest paths (geodesics) along which you can interpolate.

Keep in mind that the types in this library are generally defined in an abstract-mathematical spirit, which may not always match the intuition if you think about manifolds as embedded in ℝ³. (For instance, the torus inherits its geometry from the decomposition as S¹ × S¹, not from the “doughnut” embedding; the cone over S¹ is simply treated as the unit disk, etc..)

Synopsis

# Documentation

data GeodesicWitness x where Source #

Constructors

 GeodesicWitness :: Geodesic (Interior x) => SemimanifoldWitness x -> GeodesicWitness x

class Semimanifold x => Geodesic x where Source #

Minimal complete definition

geodesicBetween

Methods

Arguments

 :: x Starting point; the interpolation will yield this at -1. -> x End point, for +1.If the two points are actually connected by a path... -> Maybe (D¹ -> x) ...then this is the interpolation function. Attention: the type will change to Differentiable in the future.

middleBetween :: x -> x -> Maybe x Source #

Instances

interpolate :: (Geodesic x, IntervalLike i) => x -> x -> Maybe (i -> x) Source #

class WithField PseudoAffine i => IntervalLike i where Source #

One-dimensional manifolds, whose closure is homeomorpic to the unit interval.

Methods

toClosedInterval :: i -> Source #

Instances
 Source # Instance detailsDefined in Data.Manifold.Riemannian Methods Source # Instance detailsDefined in Data.Manifold.Riemannian Methods

class Geodesic m => Riemannian m where Source #

Methods

Instances
 Source # Instance detailsDefined in Data.Manifold.Riemannian Methods