Copyright | (c) Justus Sagemüller 2015 |
---|---|
License | GPL v3 |
Maintainer | (@) sagemueller $ geo.uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
- data Affine s d c where
- evalAffine :: forall s x y. (Manifold x, Atlas x, HasTrie (ChartIndex x), Manifold y, s ~ Scalar (Needle x), s ~ Scalar (Needle y)) => Affine s x y -> x -> (y, LinearMap s (Needle x) (Needle y))
- fromOffsetSlope :: forall s x y. (LinearSpace x, Atlas x, HasTrie (ChartIndex x), Manifold y, s ~ Scalar x, s ~ Scalar (Needle y)) => y -> LinearMap s x (Needle y) -> Affine s x y
- lensEmbedding :: forall k s x c. (Num' s, LinearSpace x, LinearSpace c, Object k x, Object k c, Scalar x ~ s, Scalar c ~ s, EnhancedCat k (LinearMap s)) => Lens' x c -> Embedding k c x
- correspondingDirections :: forall s x c t. (WithField s AffineManifold c, WithField s AffineManifold x, SemiInner (Needle c), SemiInner (Needle x), RealFrac' s, Traversable t) => (Interior c, Interior x) -> t (Needle c, Needle x) -> Maybe (Embedding (Affine s) c x)
Documentation
data Affine s d c where Source
EnhancedCat (->) (Affine s) Source | |
Num' s => Morphism (Affine s) Source | |
Num' s => PreArrow (Affine s) Source | |
Num' s => WellPointed (Affine s) Source | |
Category (Affine s) Source | |
Num' s => Cartesian (Affine s) Source | |
EnhancedCat (Affine s) (LinearMap s) Source | |
(Atlas x, HasTrie (ChartIndex x), LinearSpace (Needle x), (~) * (Scalar (Needle x)) s, LinearSpace y, (~) * (Scalar y) s, Num' s) => VectorSpace (Affine s x y) Source | |
(Atlas x, HasTrie (ChartIndex x), LinearSpace (Needle x), (~) * (Scalar (Needle x)) s, Manifold y, (~) * (Scalar (Needle y)) s) => AffineSpace (Affine s x y) Source | |
(Atlas x, HasTrie (ChartIndex x), LinearSpace (Needle x), (~) * (Scalar (Needle x)) s, LinearSpace y, (~) * (Scalar y) s, Num' s) => AdditiveGroup (Affine s x y) Source | |
(Atlas x, HasTrie (ChartIndex x), LinearSpace (Needle x), (~) * (Scalar (Needle x)) s, Manifold y, (~) * (Scalar (Needle y)) s) => PseudoAffine (Affine s x y) Source | |
(Atlas x, HasTrie (ChartIndex x), LinearSpace (Needle x), (~) * (Scalar (Needle x)) s, Manifold y, (~) * (Scalar (Needle y)) s) => Semimanifold (Affine s x y) Source | |
type UnitObject (Affine s) = ZeroDim s Source | |
type PointObject (Affine s) x = () | |
type Object (Affine s) x = (Manifold x, (~) * (Interior x) x, Atlas x, LinearSpace (Needle x), (~) * (Scalar (Needle x)) s, HasTrie (ChartIndex x)) Source | |
type PairObjects (Affine s) a b = () | |
type Diff (Affine s x y) = Affine s x (Needle y) Source | |
type Scalar (Affine s x y) = s Source | |
type Interior (Affine s x y) = Affine s x y | |
type Needle (Affine s x y) = Affine s x (Needle y) Source |
evalAffine :: forall s x y. (Manifold x, Atlas x, HasTrie (ChartIndex x), Manifold y, s ~ Scalar (Needle x), s ~ Scalar (Needle y)) => Affine s x y -> x -> (y, LinearMap s (Needle x) (Needle y)) Source
fromOffsetSlope :: forall s x y. (LinearSpace x, Atlas x, HasTrie (ChartIndex x), Manifold y, s ~ Scalar x, s ~ Scalar (Needle y)) => y -> LinearMap s x (Needle y) -> Affine s x y Source
Misc
lensEmbedding :: forall k s x c. (Num' s, LinearSpace x, LinearSpace c, Object k x, Object k c, Scalar x ~ s, Scalar c ~ s, EnhancedCat k (LinearMap s)) => Lens' x c -> Embedding k c x Source
correspondingDirections :: forall s x c t. (WithField s AffineManifold c, WithField s AffineManifold x, SemiInner (Needle c), SemiInner (Needle x), RealFrac' s, Traversable t) => (Interior c, Interior x) -> t (Needle c, Needle x) -> Maybe (Embedding (Affine s) c x) Source