Copyright | (c) Justus Sagemüller 2015 |
---|---|
License | GPL v3 |
Maintainer | (@) sagemueller $ geo.uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
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..)
- class Semimanifold x => Geodesic x where
- geodesicBetween :: x -> x -> Maybe (D¹ -> x)
- interpolate :: (Geodesic x, IntervalLike i) => x -> x -> Maybe (i -> x)
- class WithField ℝ PseudoAffine i => IntervalLike i where
- toClosedInterval :: i -> D¹
- class Geodesic m => Riemannian m where
- middleBetween :: Geodesic m => m -> m -> Maybe m
Documentation
class Semimanifold x => Geodesic x where Source
Geodesic S⁰ Source | |
Geodesic S¹ Source | |
Geodesic ℝ Source | |
Geodesic ℝ⁴ Source | |
Geodesic ℝ³ Source | |
Geodesic ℝ² Source | |
Geodesic ℝ¹ Source | |
Geodesic (V0 ℝ) Source | |
Geodesic (ZeroDim ℝ) Source | |
(Geodesic v, FiniteFreeSpace v, WithField ℝ HilbertManifold v) => Geodesic (Stiefel1 v) Source | |
(WithField ℝ AffineManifold x, Geodesic x, SimpleSpace (Needle x)) => Geodesic (Shade' x) Source | |
(WithField ℝ PseudoAffine x, Geodesic (Interior x), SimpleSpace (Needle x)) => Geodesic (Shade x) Source | |
(Geodesic a, Geodesic b) => Geodesic (a, b) Source | |
(Geodesic a, Geodesic b, Geodesic c) => Geodesic (a, b, c) Source |
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.
toClosedInterval :: i -> D¹ Source
middleBetween :: Geodesic m => m -> m -> Maybe m Source