manifolds-0.6.1.0: Coordinate-free hypersurfaces
Copyright(c) Justus Sagemüller 2015
LicenseGPL v3
Maintainer(@) jsag $ hvl.no
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

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 × , not from the “doughnut” embedding; the cone over is simply treated as the unit disk, etc..)

Synopsis

Documentation

class SemimanifoldWithBoundary x => Geodesic x where Source #

Minimal complete definition

geodesicBetween

Methods

geodesicBetween Source #

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 ( -> x)

...then this is the interpolation function. Attention: the type will change to Differentiable in the future.

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

Instances

Instances details
Geodesic ℝ² Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic ℝ³ Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic ℝ¹ Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic ℝ⁴ Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic S⁰ Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic Source # 
Instance details

Defined in Data.Manifold.Riemannian

Geodesic (V0 ) Source # 
Instance details

Defined in Data.Manifold.Riemannian

(AffineSpace x, Manifold x, Diff x ~ Needle x, Atlas x, HasTrie (ChartIndex x), Geodesic x, LinearSpace (Needle x), LinearSpace (Needle' x), Scalar (Needle x) ~ ) => Geodesic (Shade x) Source # 
Instance details

Defined in Data.Manifold.Shade

Methods

geodesicBetween :: Shade x -> Shade x -> Maybe ( -> Shade x) Source #

middleBetween :: Shade x -> Shade x -> Maybe (Shade x) Source #

(WithField AffineManifold x, Geodesic x, SimpleSpace (Needle x)) => Geodesic (Shade' x) Source # 
Instance details

Defined in Data.Manifold.Shade

(Num' s, OpenManifold s) => Geodesic (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.Riemannian

(Geodesic a, Geodesic b, Scalar (Needle (Interior a)) ~ Scalar (Needle (Interior b)), SemimanifoldWithBoundary (a, b)) => Geodesic (a, b) Source # 
Instance details

Defined in Data.Manifold.Riemannian

Methods

geodesicBetween :: (a, b) -> (a, b) -> Maybe ( -> (a, b)) Source #

middleBetween :: (a, b) -> (a, b) -> Maybe (a, b) Source #

(LinearSpace v, Scalar v ~ , LinearSpace w, Scalar w ~ ) => Geodesic (LinearFunction v w) Source # 
Instance details

Defined in Data.Manifold.Riemannian

(LinearSpace v, Scalar v ~ , LinearSpace w, Scalar w ~ ) => Geodesic (LinearMap v w) Source # 
Instance details

Defined in Data.Manifold.Riemannian

(LinearSpace v, Scalar v ~ , LinearSpace w, Scalar w ~ ) => Geodesic (Tensor v w) Source # 
Instance details

Defined in Data.Manifold.Riemannian

Methods

geodesicBetween :: Tensor v w -> Tensor v w -> Maybe ( -> Tensor v w) Source #

middleBetween :: Tensor v w -> Tensor v w -> Maybe (Tensor v w) Source #

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

class WithField PseudoAffine (Interior i) => IntervalLike i where Source #

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

Methods

toClosedInterval :: i -> Source #

Instances

Instances details
IntervalLike Source # 
Instance details

Defined in Data.Manifold.Riemannian

IntervalLike Source # 
Instance details

Defined in Data.Manifold.Riemannian

class Geodesic m => Riemannian m where Source #

Instances

Instances details
Riemannian Source # 
Instance details

Defined in Data.Manifold.Riemannian