manifolds-0.4.1.0: Coordinate-free hypersurfaces

Copyright(c) Justus Sagemüller 2015
LicenseGPL v3
Maintainer(@) sagemueller $ geo.uni-koeln.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.Function.Affine

Contents

Description

 

Synopsis

Documentation

data Affine s d c where Source

Constructors

Affine :: (ChartIndex d :->: (c, LinearMap s (Needle d) (Needle c))) -> Affine s d c 

Instances

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