manifolds-0.5.0.1: Coordinate-free hypersurfaces

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

Data.Manifold.FibreBundle

Contents

Description

 

Synopsis

Documentation

pattern TangentBundle :: m -> Needle m -> FibreBundle m (Needle m) Source #

pattern (:@.) :: f -> m -> FibreBundle m f infixr 5 Source #

Provided for convenience. Flipped synonym of FibreBundle, restricted to manifolds without boundary (so the type of the whole can be inferred from its interior).

tangentAt :: (AdditiveGroup (Needle m), m ~ Interior m) => m -> TangentBundle m Source #

A zero vector in the fibre bundle at the given position. Intended to be used with tangent-modifying lenses such as delta.

class (PseudoAffine m, m ~ Interior m, Category k, Object k f) => ParallelTransporting k m f where Source #

Minimal complete definition

parallelTransport

Instances

(EnhancedCat k (LinearMap ), Object k ℝ²) => ParallelTransporting k ℝ² Source # 
(Category k, Object k ) => ParallelTransporting k Source # 
(Category k, Object k ℝ⁴) => ParallelTransporting k ℝ⁴ ℝ⁴ Source # 
(Category k, Object k ℝ³) => ParallelTransporting k ℝ³ ℝ³ Source # 
(Category k, Object k ℝ²) => ParallelTransporting k ℝ² ℝ² Source # 
(Category k, Object k ) => ParallelTransporting k Source # 
(ParallelTransporting k a f, ParallelTransporting k a g, ParallelTransporting (LinearFunction s) (Needle a) (Needle f, Needle g), PseudoAffine f, PseudoAffine g, Morphism k, ObjectPair k f g) => ParallelTransporting k a (f, g) Source # 

Methods

transportOnNeedleWitness :: TransportOnNeedleWitness k a (f, g) Source #

forgetTransportProperties :: ForgetTransportProperties k a (f, g) Source #

parallelTransport :: a -> Needle a -> k (f, g) (f, g) Source #

translateAndInvblyParTransport :: a -> Needle a -> (a, (k (f, g) (f, g), k (f, g) (f, g))) Source #

(ParallelTransporting k a fa, ParallelTransporting k b fb, PseudoAffine fa, PseudoAffine fb, (~) * (Scalar (Needle a)) s, (~) * (Scalar (Needle b)) s, (~) * (Scalar (Needle fa)) s, (~) * (Scalar (Needle fb)) s, Num' s, Morphism k, ObjectPair k fa fb) => ParallelTransporting k (a, b) (fa, fb) Source # 

Methods

transportOnNeedleWitness :: TransportOnNeedleWitness k (a, b) (fa, fb) Source #

forgetTransportProperties :: ForgetTransportProperties k (a, b) (fa, fb) Source #

parallelTransport :: (a, b) -> Needle (a, b) -> k (fa, fb) (fa, fb) Source #

translateAndInvblyParTransport :: (a, b) -> Needle (a, b) -> ((a, b), (k (fa, fb) (fa, fb), k (fa, fb) (fa, fb))) Source #

(PseudoAffine m, (~) * m (Interior m), (~) * s (Scalar (Needle m)), Num' s) => ParallelTransporting (Discrete *) m (ZeroDim s) Source # 
(PseudoAffine m, (~) * m (Interior m), (~) * s (Scalar (Needle m)), Num' s) => ParallelTransporting (LinearFunction s) m (ZeroDim s) Source # 
(PseudoAffine m, (~) * m (Interior m), (~) * s (Scalar (Needle m)), Num' s) => ParallelTransporting ((->) LiftedRep LiftedRep) m (ZeroDim s) Source # 

transformEmbeddedTangents :: forall x f v. (NaturallyEmbedded (FibreBundle x f) (FibreBundle v v), v ~ Interior v) => (v -> v) -> FibreBundle x f -> FibreBundle x f Source #

ex -> ey, ey -> ez, ez -> ex

Orphan instances

(AdditiveGroup f, (~) * x (Interior x)) => NaturallyEmbedded x (FibreBundle x f) Source # 

Methods

embed :: x -> FibreBundle x f Source #

coEmbed :: FibreBundle x f -> x Source #

(ParallelTransporting (LinearFunction (Scalar f)) m f, AdditiveGroup m, VectorSpace f) => AdditiveGroup (FibreBundle m f) Source # 
(ParallelTransporting ((->) LiftedRep LiftedRep) m (Interior f), Semimanifold f, ParallelTransporting (LinearFunction s) (Needle m) (Needle f), (~) * s (Scalar (Needle m))) => Semimanifold (FibreBundle m f) Source # 
(ParallelTransporting ((->) LiftedRep LiftedRep) m f, ParallelTransporting ((->) LiftedRep LiftedRep) m (Interior f), PseudoAffine f, ParallelTransporting (LinearFunction s) (Needle m) (Needle f), (~) * s (Scalar (Needle m))) => PseudoAffine (FibreBundle m f) Source # 
Rotatable (FibreBundle ℝ²) Source # 
(AdditiveGroup y, AdditiveGroup g) => NaturallyEmbedded (FibreBundle x f) (FibreBundle (x, y) (f, g)) Source # 

Methods

embed :: FibreBundle x f -> FibreBundle (x, y) (f, g) Source #

coEmbed :: FibreBundle (x, y) (f, g) -> FibreBundle x f Source #

(NaturallyEmbedded m v, VectorSpace f) => NaturallyEmbedded (FibreBundle m ℝ⁰) (FibreBundle v f) Source # 
NaturallyEmbedded (FibreBundle ) (FibreBundle ℝ² ℝ²) Source # 
NaturallyEmbedded (FibreBundle ℝ²) (FibreBundle ℝ³ ℝ³) Source # 
NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle v) (FibreBundle w) Source # 
NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle ℝ⁴ v) (FibreBundle ℝ⁴ w) Source # 
NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle ℝ³ v) (FibreBundle ℝ³ w) Source # 
NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle ℝ² v) (FibreBundle ℝ² w) Source #