Copyright | (c) Justus Sagemüller 2015 |
---|---|
License | GPL v3 |
Maintainer | (@) jsag $ hvl.no |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- class Semimanifold m => Atlas m where
- type ChartIndex m :: *
- chartReferencePoint :: ChartIndex m -> m
- interiorChartReferencePoint :: Functor p => p m -> ChartIndex m -> Interior m
- lookupAtlas :: m -> ChartIndex m
- type AffineManifold m = (Atlas m, Manifold m, AffineSpace m, Needle m ~ Diff m, HasTrie (ChartIndex m))
- type EuclidSpace x = (AffineManifold x, InnerSpace (Diff x), DualVector (Diff x) ~ Diff x, Floating (Scalar (Diff x)))
- euclideanMetric :: EuclidSpace x => proxy x -> Metric x
Documentation
class Semimanifold m => Atlas m where Source #
type ChartIndex m :: * Source #
chartReferencePoint :: ChartIndex m -> m Source #
interiorChartReferencePoint :: Functor p => p m -> ChartIndex m -> Interior m Source #
lookupAtlas :: m -> ChartIndex m Source #
Instances
type AffineManifold m = (Atlas m, Manifold m, AffineSpace m, Needle m ~ Diff m, HasTrie (ChartIndex m)) Source #
The AffineSpace
class plus manifold constraints.
type EuclidSpace x = (AffineManifold x, InnerSpace (Diff x), DualVector (Diff x) ~ Diff x, Floating (Scalar (Diff x))) Source #
An euclidean space is a real affine space whose tangent space is a Hilbert space.
euclideanMetric :: EuclidSpace x => proxy x -> Metric x Source #