manifolds-0.5.0.4: Coordinate-free hypersurfaces

Copyright(c) Justus Sagemüller 2015
LicenseGPL v3
Maintainer(@) jsag $ hvl.no
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.Manifold.Types

Contents

Description

Several commonly-used manifolds, represented in some simple way as Haskell data types. All these are in the PseudoAffine class.

Synopsis

Index / ASCII names

type Real1 = Source #

type Disk1 = Source #

type Disk2 = Source #

type Cone = CD¹ Source #

data FibreBundle b f #

A fibre bundle combines points in the base space b with points in the fibre f. The type FibreBundle b f is thus isomorphic to the tuple space (b,f), but it can have a different topology, the prime example being TangentBundle, where nearby points may have differently-oriented tangent spaces.

Constructors

FibreBundle 

Fields

Instances
(AdditiveGroup f, x ~ Interior x) => NaturallyEmbedded x (FibreBundle x f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

Methods

embed :: x -> FibreBundle x f Source #

coEmbed :: FibreBundle x f -> x Source #

(Show (CoordinateIdentifier b), Show (CoordinateIdentifier f), Eq b, Eq (CoordinateIdentifier f), Arbitrary b, Show b) => Show (CoordinateIdentifier (FibreBundle b f)) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

(CoordDifferential m, f ~ Needle m, m ~ Interior m, Arbitrary m, Arbitrary (CoordinateIdentifier m), Arbitrary (CoordinateIdentifier f)) => Arbitrary (CoordinateIdentifier (FibreBundle m f)) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

(Show b, Show f) => Show (FibreBundle b f) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Methods

showsPrec :: Int -> FibreBundle b f -> ShowS #

show :: FibreBundle b f -> String #

showList :: [FibreBundle b f] -> ShowS #

Generic (FibreBundle b f) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Rep (FibreBundle b f) :: Type -> Type #

Methods

from :: FibreBundle b f -> Rep (FibreBundle b f) x #

to :: Rep (FibreBundle b f) x -> FibreBundle b f #

(Arbitrary m, Arbitrary f) => Arbitrary (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

arbitrary :: Gen (FibreBundle m f) #

shrink :: FibreBundle m f -> [FibreBundle m f] #

(ParallelTransporting (LinearFunction (Scalar f)) m f, AdditiveGroup m, VectorSpace f) => AdditiveGroup (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

(ParallelTransporting ((->) :: Type -> Type -> Type) m (Interior f), Semimanifold f, ParallelTransporting (LinearFunction s) (Needle m) (Needle f), s ~ Scalar (Needle m)) => Semimanifold (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

Associated Types

type Needle (FibreBundle m f) :: Type #

type Interior (FibreBundle m f) :: Type #

(ParallelTransporting ((->) :: Type -> Type -> Type) m f, ParallelTransporting ((->) :: Type -> Type -> Type) m (Interior f), PseudoAffine f, ParallelTransporting (LinearFunction s) (Needle m) (Needle f), s ~ Scalar (Needle m)) => PseudoAffine (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

(Show m, Show f) => Show (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

showsPrec :: Int -> FibreBundle m f -> ShowS #

show :: FibreBundle m f -> String #

showList :: [FibreBundle m f] -> ShowS #

Rotatable (FibreBundle ℝ²) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

Associated Types

type AxisSpace (FibreBundle ℝ²) :: Type #

(Connected x, Connected y, PseudoAffine (FibreBundle x y)) => Connected (FibreBundle x y) Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Methods

(.−.) :: FibreBundle x y -> FibreBundle x y -> Needle (FibreBundle x y) Source #

(HasCoordinates b, HasCoordinates f) => HasCoordinates (FibreBundle b f) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Associated Types

data CoordinateIdentifier (FibreBundle b f) :: Type Source #

(AdditiveGroup y, AdditiveGroup g) => NaturallyEmbedded (FibreBundle x f) (FibreBundle (x, y) (f, g)) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

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 # 
Instance details

Defined in Data.Manifold.FibreBundle

NaturallyEmbedded (FibreBundle ) (FibreBundle ℝ² ℝ²) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

NaturallyEmbedded (FibreBundle ℝ²) (FibreBundle ℝ³ ℝ³) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle v) (FibreBundle w) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle ℝ⁴ v) (FibreBundle ℝ⁴ w) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle ℝ³ v) (FibreBundle ℝ³ w) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

NaturallyEmbedded v w => NaturallyEmbedded (FibreBundle ℝ² v) (FibreBundle ℝ² w) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

type Rep (FibreBundle b f) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Rep (FibreBundle b f) = D1 (MetaData "FibreBundle" "Math.Manifold.Core.PseudoAffine" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "FibreBundle" PrefixI True) (S1 (MetaSel (Just "baseSpace") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 b) :*: S1 (MetaSel (Just "fibreSpace") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 f)))
type Interior (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

type Needle (FibreBundle m f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

type AxisSpace (FibreBundle ℝ²) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

data CoordinateIdentifier (FibreBundle b f) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

type TangentBundle m = FibreBundle m (Needle m) #

Points on a manifold, combined with vectors in the respective tangent space.

Linear manifolds

data ZeroDim s #

Constructors

Origin 
Instances
Connected ℝ⁰ Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

LtdErrorShow ℝ⁰ Source # 
Instance details

Defined in Data.Manifold.Shade

Refinable ℝ⁰ Source # 
Instance details

Defined in Data.Manifold.Shade

HasCoordinates ℝ⁰ Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Associated Types

data CoordinateIdentifier ℝ⁰ :: Type Source #

NaturallyEmbedded ℝ⁰ ℝ⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Eq (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

(==) :: ZeroDim s -> ZeroDim s -> Bool #

(/=) :: ZeroDim s -> ZeroDim s -> Bool #

Functor (AbstractSimplex ℝ⁰) Source # 
Instance details

Defined in Data.Simplex.Abstract

Show (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

showsPrec :: Int -> ZeroDim s -> ShowS #

show :: ZeroDim s -> String #

showList :: [ZeroDim s] -> ShowS #

Applicative (AbstractSimplex ℝ⁰) Source # 
Instance details

Defined in Data.Simplex.Abstract

Foldable (AbstractSimplex ℝ⁰) Source # 
Instance details

Defined in Data.Simplex.Abstract

Methods

fold :: Monoid m => AbstractSimplex ℝ⁰ m -> m #

foldMap :: Monoid m => (a -> m) -> AbstractSimplex ℝ⁰ a -> m #

foldr :: (a -> b -> b) -> b -> AbstractSimplex ℝ⁰ a -> b #

foldr' :: (a -> b -> b) -> b -> AbstractSimplex ℝ⁰ a -> b #

foldl :: (b -> a -> b) -> b -> AbstractSimplex ℝ⁰ a -> b #

foldl' :: (b -> a -> b) -> b -> AbstractSimplex ℝ⁰ a -> b #

foldr1 :: (a -> a -> a) -> AbstractSimplex ℝ⁰ a -> a #

foldl1 :: (a -> a -> a) -> AbstractSimplex ℝ⁰ a -> a #

toList :: AbstractSimplex ℝ⁰ a -> [a] #

null :: AbstractSimplex ℝ⁰ a -> Bool #

length :: AbstractSimplex ℝ⁰ a -> Int #

elem :: Eq a => a -> AbstractSimplex ℝ⁰ a -> Bool #

maximum :: Ord a => AbstractSimplex ℝ⁰ a -> a #

minimum :: Ord a => AbstractSimplex ℝ⁰ a -> a #

sum :: Num a => AbstractSimplex ℝ⁰ a -> a #

product :: Num a => AbstractSimplex ℝ⁰ a -> a #

Traversable (AbstractSimplex ℝ⁰) Source # 
Instance details

Defined in Data.Simplex.Abstract

Semigroup (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

(<>) :: ZeroDim s -> ZeroDim s -> ZeroDim s #

sconcat :: NonEmpty (ZeroDim s) -> ZeroDim s #

stimes :: Integral b => b -> ZeroDim s -> ZeroDim s #

Monoid (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

mempty :: ZeroDim s #

mappend :: ZeroDim s -> ZeroDim s -> ZeroDim s #

mconcat :: [ZeroDim s] -> ZeroDim s #

Binary (ZeroDim a) Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: ZeroDim a -> Put #

get :: Get (ZeroDim a) #

putList :: [ZeroDim a] -> Put #

AdditiveGroup (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

zeroV :: ZeroDim s #

(^+^) :: ZeroDim s -> ZeroDim s -> ZeroDim s #

negateV :: ZeroDim s -> ZeroDim s #

(^-^) :: ZeroDim s -> ZeroDim s -> ZeroDim s #

AdditiveGroup s => InnerSpace (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

(<.>) :: ZeroDim s -> ZeroDim s -> Scalar (ZeroDim s) #

VectorSpace (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Associated Types

type Scalar (ZeroDim s) :: Type #

Methods

(*^) :: Scalar (ZeroDim s) -> ZeroDim s -> ZeroDim s #

HasBasis (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Associated Types

type Basis (ZeroDim s) :: Type #

AffineSpace (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Associated Types

type Diff (ZeroDim s) :: Type #

Methods

(.-.) :: ZeroDim s -> ZeroDim s -> Diff (ZeroDim s) #

(.+^) :: ZeroDim s -> Diff (ZeroDim s) -> ZeroDim s #

RieszDecomposable (ZeroDim ℝ) 
Instance details

Defined in Math.VectorSpace.Docile

Methods

rieszDecomposition :: (FiniteDimensional v, v ~ DualVector v, Scalar v ~ Scalar (ZeroDim ℝ)) => (v +> ZeroDim ℝ) -> [(Basis (ZeroDim ℝ), v)]

TensorDecomposable (ZeroDim ℝ) 
Instance details

Defined in Math.VectorSpace.Docile

Methods

tensorDecomposition :: (ZeroDim w) -> [(Basis (ZeroDim ℝ), w)]

showsPrecBasis :: Functor p => p (ZeroDim ℝ) -> Int -> Basis (ZeroDim ℝ) -> ShowS

(Fractional' s, SemiInner s) => SemiInner (ZeroDim s) 
Instance details

Defined in Math.VectorSpace.Docile

Num' s => FiniteDimensional (ZeroDim s) 
Instance details

Defined in Math.VectorSpace.Docile

Associated Types

data SubBasis (ZeroDim s) :: Type #

Num' s => TensorSpace (ZeroDim s) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type TensorProduct (ZeroDim s) w :: Type #

Methods

scalarSpaceWitness :: ScalarSpaceWitness (ZeroDim s) #

linearManifoldWitness :: LinearManifoldWitness (ZeroDim s) #

zeroTensor :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => ZeroDim s w #

toFlatTensor :: ZeroDim s -+> (ZeroDim s Scalar (ZeroDim s)) #

fromFlatTensor :: (ZeroDim s Scalar (ZeroDim s)) -+> ZeroDim s #

addTensors :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) -> (ZeroDim s w) -> ZeroDim s w #

subtractTensors :: (TensorSpace (ZeroDim s), TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) -> (ZeroDim s w) -> ZeroDim s w #

scaleTensor :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => Bilinear (Scalar (ZeroDim s)) (ZeroDim s w) (ZeroDim s w) #

negateTensor :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) -+> (ZeroDim s w) #

tensorProduct :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => Bilinear (ZeroDim s) w (ZeroDim s w) #

tensorProducts :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => [(ZeroDim s, w)] -> ZeroDim s w #

transposeTensor :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) -+> (w ZeroDim s) #

fmapTensor :: (TensorSpace w, TensorSpace x, Scalar w ~ Scalar (ZeroDim s), Scalar x ~ Scalar (ZeroDim s)) => Bilinear (w -+> x) (ZeroDim s w) (ZeroDim s x) #

fzipTensorWith :: (TensorSpace u, TensorSpace w, TensorSpace x, Scalar u ~ Scalar (ZeroDim s), Scalar w ~ Scalar (ZeroDim s), Scalar x ~ Scalar (ZeroDim s)) => Bilinear ((w, x) -+> u) (ZeroDim s w, ZeroDim s x) (ZeroDim s u) #

coerceFmapTensorProduct :: Functor p => p (ZeroDim s) -> Coercion a b -> Coercion (TensorProduct (ZeroDim s) a) (TensorProduct (ZeroDim s) b) #

wellDefinedVector :: ZeroDim s -> Maybe (ZeroDim s) #

wellDefinedTensor :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) -> Maybe (ZeroDim s w) #

Num' s => LinearSpace (ZeroDim s) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type DualVector (ZeroDim s) :: Type #

Methods

dualSpaceWitness :: DualSpaceWitness (ZeroDim s) #

linearId :: ZeroDim s +> ZeroDim s #

idTensor :: ZeroDim s DualVector (ZeroDim s) #

sampleLinearFunction :: (TensorSpace w, Scalar (ZeroDim s) ~ Scalar w) => (ZeroDim s -+> w) -+> (ZeroDim s +> w) #

toLinearForm :: DualVector (ZeroDim s) -+> (ZeroDim s +> Scalar (ZeroDim s)) #

fromLinearForm :: (ZeroDim s +> Scalar (ZeroDim s)) -+> DualVector (ZeroDim s) #

coerceDoubleDual :: Coercion (ZeroDim s) (DualVector (DualVector (ZeroDim s))) #

trace :: (ZeroDim s +> ZeroDim s) -+> Scalar (ZeroDim s) #

contractTensorMap :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s +> (ZeroDim s w)) -+> w #

contractMapTensor :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s (ZeroDim s +> w)) -+> w #

contractTensorFn :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s -+> (ZeroDim s w)) -+> w #

contractLinearMapAgainst :: (LinearSpace w, Scalar w ~ Scalar (ZeroDim s)) => Bilinear (ZeroDim s +> w) (w -+> ZeroDim s) (Scalar (ZeroDim s)) #

applyDualVector :: Bilinear (DualVector (ZeroDim s)) (ZeroDim s) (Scalar (ZeroDim s)) #

applyLinear :: (TensorSpace w, Scalar w ~ Scalar (ZeroDim s)) => Bilinear (ZeroDim s +> w) (ZeroDim s) w #

composeLinear :: (LinearSpace w, TensorSpace x, Scalar w ~ Scalar (ZeroDim s), Scalar x ~ Scalar (ZeroDim s)) => Bilinear (w +> x) (ZeroDim s +> w) (ZeroDim s +> x) #

tensorId :: (LinearSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) +> (ZeroDim s w) #

applyTensorFunctional :: (LinearSpace u, Scalar u ~ Scalar (ZeroDim s)) => Bilinear (DualVector (ZeroDim s u)) (ZeroDim s u) (Scalar (ZeroDim s)) #

applyTensorLinMap :: (LinearSpace u, TensorSpace w, Scalar u ~ Scalar (ZeroDim s), Scalar w ~ Scalar (ZeroDim s)) => Bilinear ((ZeroDim s u) +> w) (ZeroDim s u) w #

Semimanifold (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle (ZeroDim k) :: Type #

type Interior (ZeroDim k) :: Type #

PseudoAffine (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Atlas (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.Atlas

Associated Types

type ChartIndex (ZeroDim s) :: Type Source #

Geodesic (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.Riemannian

(PseudoAffine m, m ~ Interior m, s ~ Scalar (Needle m), Num' s) => ParallelTransporting (Discrete :: Type -> Type -> Type) m (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

(PseudoAffine m, m ~ Interior m, s ~ Scalar (Needle m), Num' s) => ParallelTransporting (LinearFunction s) m (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

NumPrime s => LocallyCoercible (V0 s) (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

NumPrime s => LocallyCoercible (ZeroDim s) (V0 s) Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

NumPrime s => LocallyCoercible (ZeroDim s) (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

(PseudoAffine m, m ~ Interior m, s ~ Scalar (Needle m), Num' s) => ParallelTransporting ((->) :: Type -> Type -> Type) m (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

(NaturallyEmbedded m v, VectorSpace f) => NaturallyEmbedded (FibreBundle m ℝ⁰) (FibreBundle v f) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

data AbstractSimplex ℝ⁰ x Source # 
Instance details

Defined in Data.Simplex.Abstract

data CoordinateIdentifier ℝ⁰ Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

type Scalar (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

type Scalar (ZeroDim s) = s
type Basis (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

type Basis (ZeroDim s) = Void
type Diff (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

type Diff (ZeroDim s) = ZeroDim s
data SubBasis (ZeroDim s) 
Instance details

Defined in Math.VectorSpace.Docile

type DualVector (ZeroDim s) 
Instance details

Defined in Math.LinearMap.Category.Class

type Interior (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Interior (ZeroDim k) = ZeroDim k
type Needle (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle (ZeroDim k) = ZeroDim k
type ChartIndex (ZeroDim s) Source # 
Instance details

Defined in Data.Manifold.Atlas

type ChartIndex (ZeroDim s) = ()
type TensorProduct (ZeroDim s) v 
Instance details

Defined in Math.LinearMap.Category.Class

type = Double #

Hyperspheres

General form: Stiefel manifolds

newtype Stiefel1 v Source #

Constructors

Stiefel1 
Instances
Show (DualVector v) => Show (Stiefel1 v) Source # 
Instance details

Defined in Data.Manifold.Types.Stiefel

Methods

showsPrec :: Int -> Stiefel1 v -> ShowS #

show :: Stiefel1 v -> String #

showList :: [Stiefel1 v] -> ShowS #

(LinearSpace v, FiniteFreeSpace v, FiniteFreeSpace (DualVector v), StiefelScalar (Scalar v)) => Semimanifold (Stiefel1 v) Source # 
Instance details

Defined in Data.Manifold.Types

Associated Types

type Needle (Stiefel1 v) :: Type #

type Interior (Stiefel1 v) :: Type #

(LinearSpace v, FiniteFreeSpace v, FiniteFreeSpace (DualVector v), StiefelScalar (Scalar v)) => PseudoAffine (Stiefel1 v) Source # 
Instance details

Defined in Data.Manifold.Types

(Geodesic v, FiniteFreeSpace v, FiniteFreeSpace (DualVector v), LinearSpace v, Scalar v ~ , Geodesic (DualVector v), InnerSpace (DualVector v)) => Geodesic (Stiefel1 v) Source # 
Instance details

Defined in Data.Manifold.Riemannian

type Interior (Stiefel1 v) Source # 
Instance details

Defined in Data.Manifold.Types

type Needle (Stiefel1 v) Source # 
Instance details

Defined in Data.Manifold.Types

type Needle (Stiefel1 v)

stiefel1Project Source #

Arguments

:: LinearSpace v 
=> DualVector v

Must be nonzero.

-> Stiefel1 v 

Specific examples

class (PseudoAffine v, InnerSpace v, NaturallyEmbedded (UnitSphere v) (DualVector v)) => HasUnitSphere v where Source #

Minimal complete definition

Nothing

Associated Types

type UnitSphere v :: * Source #

data S⁰ #

The zero-dimensional sphere is actually just two points. Implementation might therefore change to ℝ⁰ + ℝ⁰: the disjoint sum of two single-point spaces.

Instances
Eq S⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

(==) :: S⁰ -> S⁰ -> Bool #

(/=) :: S⁰ -> S⁰ -> Bool #

Show S⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> S⁰ -> ShowS #

show :: S⁰ -> String #

showList :: [S⁰] -> ShowS #

Generic S⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep S⁰ :: Type -> Type #

Methods

from :: S⁰ -> Rep S⁰ x #

to :: Rep S⁰ x -> S⁰ #

Function S⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

function :: (S⁰ -> b) -> S⁰ :-> b #

Arbitrary S⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

arbitrary :: Gen S⁰ #

shrink :: S⁰ -> [S⁰] #

CoArbitrary S⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

coarbitrary :: S⁰ -> Gen b -> Gen b #

Binary S⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: S⁰ -> Put #

get :: Get S⁰ #

putList :: [S⁰] -> Put #

Semimanifold S⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle S⁰ :: Type #

type Interior S⁰ :: Type #

PseudoAffine S⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Show S⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

showsPrec :: Int -> S⁰ -> ShowS #

show :: S⁰ -> String #

showList :: [S⁰] -> ShowS #

Atlas S⁰ Source # 
Instance details

Defined in Data.Manifold.Atlas

Associated Types

type ChartIndex S⁰ :: Type Source #

Geodesic S⁰ Source # 
Instance details

Defined in Data.Manifold.Riemannian

NaturallyEmbedded S⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

embed :: S⁰ -> Source #

coEmbed :: -> S⁰ Source #

type Rep S⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep S⁰ = D1 (MetaData "S\8304" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "PositiveHalfSphere" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "NegativeHalfSphere" PrefixI False) (U1 :: Type -> Type))
type Interior S⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle S⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type ChartIndex S⁰ Source # 
Instance details

Defined in Data.Manifold.Atlas

newtype #

The unit circle.

Constructors

S¹Polar 

Fields

Instances
Eq  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

(==) :: -> -> Bool #

(/=) :: -> -> Bool #

Show  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> -> ShowS #

show :: -> String #

showList :: [] -> ShowS #

Generic  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep :: Type -> Type #

Methods

from :: -> Rep x #

to :: Rep x -> #

Function Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

function :: ( -> b) -> :-> b #

Arbitrary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

arbitrary :: Gen #

shrink :: -> [] #

CoArbitrary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

coarbitrary :: -> Gen b -> Gen b #

Binary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: -> Put #

get :: Get #

putList :: [] -> Put #

Semimanifold  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle :: Type #

type Interior :: Type #

PseudoAffine  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Show Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

showsPrec :: Int -> -> ShowS #

show :: -> String #

showList :: [] -> ShowS #

Rotatable  
Instance details

Defined in Math.Rotations.Class

Associated Types

type AxisSpace :: Type #

Methods

rotateAbout :: AxisSpace -> -> -> #

Connected Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Methods

(.−.) :: -> -> Needle Source #

Atlas Source # 
Instance details

Defined in Data.Manifold.Atlas

Associated Types

type ChartIndex :: Type Source #

Geodesic Source # 
Instance details

Defined in Data.Manifold.Riemannian

HasAzimuth Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

CoordDifferential Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

HasCoordinates Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Associated Types

data CoordinateIdentifier :: Type Source #

NaturallyEmbedded ℝ² Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

(Category k, Object k ) => ParallelTransporting k Source # 
Instance details

Defined in Data.Manifold.FibreBundle

Eq (CoordinateIdentifier ) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Show (CoordinateIdentifier ) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Arbitrary (CoordinateIdentifier ) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

NaturallyEmbedded (FibreBundle ) (FibreBundle ℝ² ℝ²) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

type Rep  
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep = D1 (MetaData "S\185" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" True) (C1 (MetaCons "S\185Polar" PrefixI True) (S1 (MetaSel (Just "\966ParamS\185") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Double)))
type Interior  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle =
type AxisSpace  
Instance details

Defined in Math.Rotations.Class

type ChartIndex Source # 
Instance details

Defined in Data.Manifold.Atlas

data CoordinateIdentifier Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

pattern :: Double -> #

data #

The ordinary unit sphere.

Constructors

S²Polar 

Fields

Instances
Eq  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

(==) :: -> -> Bool #

(/=) :: -> -> Bool #

Show  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> -> ShowS #

show :: -> String #

showList :: [] -> ShowS #

Generic  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep :: Type -> Type #

Methods

from :: -> Rep x #

to :: Rep x -> #

Function Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

function :: ( -> b) -> :-> b #

Arbitrary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

arbitrary :: Gen #

shrink :: -> [] #

CoArbitrary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

coarbitrary :: -> Gen b -> Gen b #

Binary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: -> Put #

get :: Get #

putList :: [] -> Put #

Semimanifold Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Associated Types

type Needle :: Type #

type Interior :: Type #

PseudoAffine Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Show Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

showsPrec :: Int -> -> ShowS #

show :: -> String #

showList :: [] -> ShowS #

Rotatable  
Instance details

Defined in Math.Rotations.Class

Associated Types

type AxisSpace :: Type #

Methods

rotateAbout :: AxisSpace -> -> -> #

Connected Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Methods

(.−.) :: -> -> Needle Source #

Atlas Source # 
Instance details

Defined in Data.Manifold.Atlas

Associated Types

type ChartIndex :: Type Source #

HasZenithDistance Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

HasAzimuth Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

CoordDifferential Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

HasCoordinates Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Associated Types

data CoordinateIdentifier :: Type Source #

NaturallyEmbedded ℝ³ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

(EnhancedCat k (LinearMap ), Object k ℝ²) => ParallelTransporting k ℝ² Source # 
Instance details

Defined in Data.Manifold.FibreBundle

Eq (CoordinateIdentifier ) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Show (CoordinateIdentifier ) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Arbitrary (CoordinateIdentifier ) Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

Rotatable (FibreBundle ℝ²) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

Associated Types

type AxisSpace (FibreBundle ℝ²) :: Type #

NaturallyEmbedded (FibreBundle ℝ²) (FibreBundle ℝ³ ℝ³) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

type Rep  
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep = D1 (MetaData "S\178" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "S\178Polar" PrefixI True) (S1 (MetaSel (Just "\977ParamS\178") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double) :*: S1 (MetaSel (Just "\966ParamS\178") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double)))
type Interior Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

type Needle Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

type AxisSpace  
Instance details

Defined in Math.Rotations.Class

type ChartIndex Source # 
Instance details

Defined in Data.Manifold.Atlas

data CoordinateIdentifier Source # 
Instance details

Defined in Math.Manifold.Real.Coordinates

type AxisSpace (FibreBundle ℝ²) Source # 
Instance details

Defined in Data.Manifold.FibreBundle

pattern :: Double -> Double -> #

Projective spaces

data ℝP⁰ #

Constructors

ℝPZero 
Instances
Eq ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

(==) :: ℝP⁰ -> ℝP⁰ -> Bool #

(/=) :: ℝP⁰ -> ℝP⁰ -> Bool #

Show ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Generic ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep ℝP⁰ :: Type -> Type #

Methods

from :: ℝP⁰ -> Rep ℝP⁰ x #

to :: Rep ℝP⁰ x -> ℝP⁰ #

Arbitrary ℝP⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Binary ℝP⁰ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: ℝP⁰ -> Put #

get :: Get ℝP⁰ #

putList :: [ℝP⁰] -> Put #

Semimanifold ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle ℝP⁰ :: Type #

type Interior ℝP⁰ :: Type #

PseudoAffine ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Connected ℝP⁰ Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

type Rep ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep ℝP⁰ = D1 (MetaData "\8477P\8304" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "\8477PZero" PrefixI False) (U1 :: Type -> Type))
type Interior ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle ℝP⁰ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

newtype ℝP¹ #

Constructors

HemisphereℝP¹Polar 

Fields

Instances
Show ℝP¹ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Generic ℝP¹ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep ℝP¹ :: Type -> Type #

Methods

from :: ℝP¹ -> Rep ℝP¹ x #

to :: Rep ℝP¹ x -> ℝP¹ #

Arbitrary ℝP¹ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Binary ℝP¹ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: ℝP¹ -> Put #

get :: Get ℝP¹ #

putList :: [ℝP¹] -> Put #

Semimanifold ℝP¹ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle ℝP¹ :: Type #

type Interior ℝP¹ :: Type #

PseudoAffine ℝP¹ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Connected ℝP¹ Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

type Rep ℝP¹ 
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep ℝP¹ = D1 (MetaData "\8477P\185" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" True) (C1 (MetaCons "Hemisphere\8477P\185Polar" PrefixI True) (S1 (MetaSel (Just "\966Param\8477P\185") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Double)))
type Interior ℝP¹ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle ℝP¹ 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

pattern ℝP¹ :: Double -> ℝP¹ #

data ℝP² #

The two-dimensional real projective space, implemented as a disk with opposing points on the rim glued together. Image this disk as the northern hemisphere of a unit sphere; ℝP² is the space of all straight lines passing through the origin of ℝ³, and each of these lines is represented by the point at which it passes through the hemisphere.

Constructors

HemisphereℝP²Polar 

Fields

Instances
Show ℝP² 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Generic ℝP² 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep ℝP² :: Type -> Type #

Methods

from :: ℝP² -> Rep ℝP² x #

to :: Rep ℝP² x -> ℝP² #

Arbitrary ℝP² Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Binary ℝP² Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: ℝP² -> Put #

get :: Get ℝP² #

putList :: [ℝP²] -> Put #

Semimanifold ℝP² Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Associated Types

type Needle ℝP² :: Type #

type Interior ℝP² :: Type #

PseudoAffine ℝP² Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

Connected ℝP² Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

NaturallyEmbedded ℝP² ℝ³ Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

type Rep ℝP² 
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep ℝP² = D1 (MetaData "\8477P\178" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "Hemisphere\8477P\178Polar" PrefixI True) (S1 (MetaSel (Just "\977Param\8477P\178") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double) :*: S1 (MetaSel (Just "\966Param\8477P\178") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double)))
type Interior ℝP² Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

type Needle ℝP² Source # 
Instance details

Defined in Data.Manifold.PseudoAffine

pattern ℝP² :: Double -> Double -> ℝP² #

Intervals/disks/cones

newtype #

The “one-dimensional disk” – really just the line segment between the two points -1 and 1 of S⁰, i.e. this is simply a closed interval.

Constructors

 

Fields

Instances
Show  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> -> ShowS #

show :: -> String #

showList :: [] -> ShowS #

Generic  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep :: Type -> Type #

Methods

from :: -> Rep x #

to :: Rep x -> #

Arbitrary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

arbitrary :: Gen #

shrink :: -> [] #

Binary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: -> Put #

get :: Get #

putList :: [] -> Put #

Semimanifold  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle :: Type #

type Interior :: Type #

PseudoAffine  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

IntervalLike Source # 
Instance details

Defined in Data.Manifold.Riemannian

NaturallyEmbedded Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

embed :: -> Source #

coEmbed :: -> Source #

type Rep  
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep = D1 (MetaData "D\185" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" True) (C1 (MetaCons "D\185" PrefixI True) (S1 (MetaSel (Just "xParamD\185") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Double)))
type Interior  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle  
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle =

data #

The standard, closed unit disk. Homeomorphic to the cone over , but not in the the obvious, “flat” way. (In is not homeomorphic, despite the almost identical ADT definition, to the projective space ℝP²!)

Constructors

D²Polar 

Fields

Instances
Show  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> -> ShowS #

show :: -> String #

showList :: [] -> ShowS #

Generic  
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep :: Type -> Type #

Methods

from :: -> Rep x #

to :: Rep x -> #

Arbitrary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

arbitrary :: Gen #

shrink :: -> [] #

Binary Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: -> Put #

get :: Get #

putList :: [] -> Put #

type Rep  
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep = D1 (MetaData "D\178" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "D\178Polar" PrefixI True) (S1 (MetaSel (Just "rParamD\178") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double) :*: S1 (MetaSel (Just "\966ParamD\178") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double)))

pattern :: Double -> Double -> #

type ℝay = Cℝay ℝ⁰ Source #

Better known as ℝ⁺ (which is not a legal Haskell name), the ray of positive numbers (including zero, i.e. closed on one end).

data CD¹ x #

A (closed) cone over a space x is the product of x with the closed interval of “heights”, except on its “tip”: here, x is smashed to a single point.

This construct becomes (homeomorphic-to-) an actual geometric cone (and to ) in the special case x = .

Constructors

CD¹ 

Fields

Instances
Show x => Show (CD¹ x) 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> CD¹ x -> ShowS #

show :: CD¹ x -> String #

showList :: [CD¹ x] -> ShowS #

Generic (CD¹ x) 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep (CD¹ x) :: Type -> Type #

Methods

from :: CD¹ x -> Rep (CD¹ x) x0 #

to :: Rep (CD¹ x) x0 -> CD¹ x #

Binary y => Binary (CD¹ y) Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: CD¹ y -> Put #

get :: Get (CD¹ y) #

putList :: [CD¹ y] -> Put #

ConeSemimfd m => Semimanifold (CD¹ m) Source # 
Instance details

Defined in Data.Manifold.Cone

Associated Types

type Needle (CD¹ m) :: Type #

type Interior (CD¹ m) :: Type #

type Rep (CD¹ x) 
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep (CD¹ x) = D1 (MetaData "CD\185" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "CD\185" PrefixI True) (S1 (MetaSel (Just "hParamCD\185") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double) :*: S1 (MetaSel (Just "pParamCD\185") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 x)))
type Interior (CD¹ m) Source # 
Instance details

Defined in Data.Manifold.Cone

type Interior (CD¹ m)
type Needle (CD¹ m) Source # 
Instance details

Defined in Data.Manifold.Cone

type Needle (CD¹ m)

data Cℝay x #

An open cone is homeomorphic to a closed cone without the “lid”, i.e. without the “last copy” of x, at the far end of the height interval. Since that means the height does not include its supremum, it is actually more natural to express it as the entire real ray, hence the name.

Constructors

Cℝay 

Fields

Instances
Show x => Show (Cℝay x) 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Methods

showsPrec :: Int -> Cℝay x -> ShowS #

show :: Cℝay x -> String #

showList :: [Cℝay x] -> ShowS #

Generic (Cℝay x) 
Instance details

Defined in Math.Manifold.Core.Types.Internal

Associated Types

type Rep (Cℝay x) :: Type -> Type #

Methods

from :: Cℝay x -> Rep (Cℝay x) x0 #

to :: Rep (Cℝay x) x0 -> Cℝay x #

Binary y => Binary (Cℝay y) Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

put :: Cℝay y -> Put #

get :: Get (Cℝay y) #

putList :: [Cℝay y] -> Put #

ConeSemimfd m => Semimanifold (Cℝay m) Source # 
Instance details

Defined in Data.Manifold.Cone

Associated Types

type Needle (Cℝay m) :: Type #

type Interior (Cℝay m) :: Type #

NaturallyEmbedded x p => NaturallyEmbedded (Cℝay x) (p, ) Source # 
Instance details

Defined in Data.Manifold.Types.Primitive

Methods

embed :: Cℝay x -> (p, ) Source #

coEmbed :: (p, ) -> Cℝay x Source #

type Rep (Cℝay x) 
Instance details

Defined in Math.Manifold.Core.Types.Internal

type Rep (Cℝay x) = D1 (MetaData "C\8477ay" "Math.Manifold.Core.Types.Internal" "manifolds-core-0.5.0.4-B8Kp6L8TW711kRSgoVKNgU" False) (C1 (MetaCons "C\8477ay" PrefixI True) (S1 (MetaSel (Just "hParamC\8477ay") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Double) :*: S1 (MetaSel (Just "pParamC\8477ay") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 x)))
type Interior (Cℝay m) Source # 
Instance details

Defined in Data.Manifold.Cone

type Interior (Cℝay m)
type Needle (Cℝay m) Source # 
Instance details

Defined in Data.Manifold.Cone

type Needle (Cℝay m)

Affine subspaces

Lines

data Line x Source #

Constructors

Line 

Hyperplanes

data Cutplane x Source #

Oriented hyperplanes, naïvely generalised to PseudoAffine manifolds: Cutplane p w represents the set of all points q such that (q.-~.p) ^<.> w ≡ 0.

In vector spaces this is indeed a hyperplane; for general manifolds it should behave locally as a plane, globally as an (n−1)-dimensional submanifold.

Constructors

Cutplane 

Fields

Instances
(Show x, Show (Needle' x)) => Show (Cutplane x) Source # 
Instance details

Defined in Data.Manifold.Types

Methods

showsPrec :: Int -> Cutplane x -> ShowS #

show :: Cutplane x -> String #

showList :: [Cutplane x] -> ShowS #

normalPlane Source #

Arguments

:: x

Some point lying in the desired plane.

-> Needle' x

Co-vector perpendicular to the plane. Must be nonzero.

-> Cutplane x 

fathomCutDistance Source #

Arguments

:: (WithField PseudoAffine x, LinearSpace (Needle x)) 
=> Cutplane x

Hyperplane to measure the distance from.

-> Metric' x

Metric to use for measuring that distance. This can only be accurate if the metric is valid both around the cut-plane's sawHandle, and around the points you measure. (Strictly speaking, we would need parallel transport to ensure this).

-> x

Point to measure the distance to.

-> Maybe

A signed number, giving the distance from plane to point with indication on which side the point lies. Nothing if the point isn't reachable from the plane.

Linear mappings

data LinearMap s v w #

The tensor product between one space's dual space and another space is the space spanned by vector–dual-vector pairs, in bra-ket notation written as

m = ∑ |w⟩⟨v|

Any linear mapping can be written as such a (possibly infinite) sum. The TensorProduct data structure only stores the linear independent parts though; for simple finite-dimensional spaces this means e.g. LinearMap ℝ ℝ³ ℝ³ effectively boils down to an ordinary matrix type, namely an array of column-vectors |w⟩.

(The ⟨v| dual-vectors are then simply assumed to come from the canonical basis.)

For bigger spaces, the tensor product may be implemented in a more efficient sparse structure; this can be defined in the TensorSpace instance.

Instances
(Show (SubBasis (DualVector u)), Show (SubBasis v)) => Show (SubBasis (LinearMap s u v)) 
Instance details

Defined in Math.VectorSpace.Docile

Methods

showsPrec :: Int -> SubBasis (LinearMap s u v) -> ShowS #

show :: SubBasis (LinearMap s u v) -> String #

showList :: [SubBasis (LinearMap s u v)] -> ShowS #

Num' s => Morphism (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

first :: (ObjectPair (LinearMap s) b d, ObjectPair (LinearMap s) c d) => LinearMap s b c -> LinearMap s (b, d) (c, d) #

second :: (ObjectPair (LinearMap s) d b, ObjectPair (LinearMap s) d c) => LinearMap s b c -> LinearMap s (d, b) (d, c) #

(***) :: (ObjectPair (LinearMap s) b b', ObjectPair (LinearMap s) c c') => LinearMap s b c -> LinearMap s b' c' -> LinearMap s (b, b') (c, c') #

Num' s => PreArrow (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

(&&&) :: (Object (LinearMap s) b, ObjectPair (LinearMap s) c c') => LinearMap s b c -> LinearMap s b c' -> LinearMap s b (c, c') #

terminal :: Object (LinearMap s) b => LinearMap s b (UnitObject (LinearMap s)) #

fst :: ObjectPair (LinearMap s) x y => LinearMap s (x, y) x #

snd :: ObjectPair (LinearMap s) x y => LinearMap s (x, y) y #

Category (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type Object (LinearMap s) o :: Constraint #

Methods

id :: Object (LinearMap s) a => LinearMap s a a #

(.) :: (Object (LinearMap s) a, Object (LinearMap s) b, Object (LinearMap s) c) => LinearMap s b c -> LinearMap s a b -> LinearMap s a c #

Num' s => Cartesian (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type PairObjects (LinearMap s) a b :: Constraint #

type UnitObject (LinearMap s) :: Type #

Methods

swap :: (ObjectPair (LinearMap s) a b, ObjectPair (LinearMap s) b a) => LinearMap s (a, b) (b, a) #

attachUnit :: (unit ~ UnitObject (LinearMap s), ObjectPair (LinearMap s) a unit) => LinearMap s a (a, unit) #

detachUnit :: (unit ~ UnitObject (LinearMap s), ObjectPair (LinearMap s) a unit) => LinearMap s (a, unit) a #

regroup :: (ObjectPair (LinearMap s) a b, ObjectPair (LinearMap s) b c, ObjectPair (LinearMap s) a (b, c), ObjectPair (LinearMap s) (a, b) c) => LinearMap s (a, (b, c)) ((a, b), c) #

regroup' :: (ObjectPair (LinearMap s) a b, ObjectPair (LinearMap s) b c, ObjectPair (LinearMap s) a (b, c), ObjectPair (LinearMap s) (a, b) c) => LinearMap s ((a, b), c) (a, (b, c)) #

Num' s => EnhancedCat (LinearMap s) (LinearFunction s) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

arr :: (Object (LinearFunction s) b, Object (LinearFunction s) c, Object (LinearMap s) b, Object (LinearMap s) c) => LinearFunction s b c -> LinearMap s b c #

Num' s => EnhancedCat (LinearFunction s) (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

arr :: (Object (LinearMap s) b, Object (LinearMap s) c, Object (LinearFunction s) b, Object (LinearFunction s) c) => LinearMap s b c -> LinearFunction s b c #

EnhancedCat (Affine s) (LinearMap s) Source # 
Instance details

Defined in Data.Function.Affine

Methods

arr :: (Object (LinearMap s) b, Object (LinearMap s) c, Object (Affine s) b, Object (Affine s) c) => LinearMap s b c -> Affine s b c #

Num' s => EnhancedCat ((->) :: Type -> Type -> Type) (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

arr :: (Object (LinearMap s) b, Object (LinearMap s) c, Object (->) b, Object (->) c) => LinearMap s b c -> b -> c #

(Num' s, LinearSpace v, Scalar v ~ s) => Monoidal (LinearMap s v) (LinearFunction s) (LinearFunction s) 
Instance details

Defined in Math.LinearMap.Category.Class

(LinearSpace v, Num' s, Scalar v ~ s) => Functor (LinearMap s v) (LinearFunction s) (LinearFunction s) 
Instance details

Defined in Math.LinearMap.Category.Class

(LinearSpace v, Scalar v ~ s) => Functor (LinearMap s v) (Coercion :: Type -> Type -> Type) (Coercion :: Type -> Type -> Type) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

fmap :: (Object Coercion a, Object Coercion (LinearMap s v a), Object Coercion b, Object Coercion (LinearMap s v b)) => Coercion a b -> Coercion (LinearMap s v a) (LinearMap s v b) #

(LinearSpace v, TensorSpace w, Scalar v ~ s, Scalar w ~ s) => AdditiveGroup (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

zeroV :: LinearMap s v w #

(^+^) :: LinearMap s v w -> LinearMap s v w -> LinearMap s v w #

negateV :: LinearMap s v w -> LinearMap s v w #

(^-^) :: LinearMap s v w -> LinearMap s v w -> LinearMap s v w #

(LinearSpace v, TensorSpace w, Scalar v ~ s, Scalar w ~ s) => VectorSpace (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type Scalar (LinearMap s v w) :: Type #

Methods

(*^) :: Scalar (LinearMap s v w) -> LinearMap s v w -> LinearMap s v w #

(LinearSpace u, TensorSpace v, s ~ Scalar u, s ~ Scalar v) => AffineSpace (LinearMap s u v) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type Diff (LinearMap s u v) :: Type #

Methods

(.-.) :: LinearMap s u v -> LinearMap s u v -> Diff (LinearMap s u v) #

(.+^) :: LinearMap s u v -> Diff (LinearMap s u v) -> LinearMap s u v #

(LinearSpace u, SemiInner (DualVector u), SemiInner v, Scalar u ~ s, Scalar v ~ s) => SemiInner (LinearMap s u v) 
Instance details

Defined in Math.VectorSpace.Docile

(LSpace u, FiniteDimensional (DualVector u), FiniteDimensional v, Scalar u ~ s, Scalar v ~ s, Scalar (DualVector v) ~ s, Fractional' (Scalar v)) => FiniteDimensional (LinearMap s u v) 
Instance details

Defined in Math.VectorSpace.Docile

Associated Types

data SubBasis (LinearMap s u v) :: Type #

Methods

entireBasis :: SubBasis (LinearMap s u v) #

enumerateSubBasis :: SubBasis (LinearMap s u v) -> [LinearMap s u v] #

subbasisDimension :: SubBasis (LinearMap s u v) -> Int #

decomposeLinMap :: (LSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v +> w) -> (SubBasis (LinearMap s u v), DList w) #

decomposeLinMapWithin :: (LSpace w, Scalar w ~ Scalar (LinearMap s u v)) => SubBasis (LinearMap s u v) -> (LinearMap s u v +> w) -> Either (SubBasis (LinearMap s u v), DList w) (DList w) #

recomposeSB :: SubBasis (LinearMap s u v) -> [Scalar (LinearMap s u v)] -> (LinearMap s u v, [Scalar (LinearMap s u v)]) #

recomposeSBTensor :: (FiniteDimensional w, Scalar w ~ Scalar (LinearMap s u v)) => SubBasis (LinearMap s u v) -> SubBasis w -> [Scalar (LinearMap s u v)] -> (LinearMap s u v w, [Scalar (LinearMap s u v)]) #

recomposeLinMap :: (LSpace w, Scalar w ~ Scalar (LinearMap s u v)) => SubBasis (LinearMap s u v) -> [w] -> (LinearMap s u v +> w, [w]) #

recomposeContraLinMap :: (LinearSpace w, Scalar w ~ Scalar (LinearMap s u v), Functor f) => (f (Scalar w) -> w) -> f (DualVector (LinearMap s u v)) -> LinearMap s u v +> w #

recomposeContraLinMapTensor :: (FiniteDimensional u0, LinearSpace w, Scalar u0 ~ Scalar (LinearMap s u v), Scalar w ~ Scalar (LinearMap s u v), Functor f) => (f (Scalar w) -> w) -> f (LinearMap s u v +> DualVector u0) -> (LinearMap s u v u0) +> w #

uncanonicallyFromDual :: DualVector (LinearMap s u v) -+> LinearMap s u v #

uncanonicallyToDual :: LinearMap s u v -+> DualVector (LinearMap s u v) #

(LinearSpace u, TensorSpace v, Scalar u ~ s, Scalar v ~ s) => TensorSpace (LinearMap s u v) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type TensorProduct (LinearMap s u v) w :: Type #

Methods

scalarSpaceWitness :: ScalarSpaceWitness (LinearMap s u v) #

linearManifoldWitness :: LinearManifoldWitness (LinearMap s u v) #

zeroTensor :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => LinearMap s u v w #

toFlatTensor :: LinearMap s u v -+> (LinearMap s u v Scalar (LinearMap s u v)) #

fromFlatTensor :: (LinearMap s u v Scalar (LinearMap s u v)) -+> LinearMap s u v #

addTensors :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v w) -> (LinearMap s u v w) -> LinearMap s u v w #

subtractTensors :: (TensorSpace (LinearMap s u v), TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v w) -> (LinearMap s u v w) -> LinearMap s u v w #

scaleTensor :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => Bilinear (Scalar (LinearMap s u v)) (LinearMap s u v w) (LinearMap s u v w) #

negateTensor :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v w) -+> (LinearMap s u v w) #

tensorProduct :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => Bilinear (LinearMap s u v) w (LinearMap s u v w) #

tensorProducts :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => [(LinearMap s u v, w)] -> LinearMap s u v w #

transposeTensor :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v w) -+> (w LinearMap s u v) #

fmapTensor :: (TensorSpace w, TensorSpace x, Scalar w ~ Scalar (LinearMap s u v), Scalar x ~ Scalar (LinearMap s u v)) => Bilinear (w -+> x) (LinearMap s u v w) (LinearMap s u v x) #

fzipTensorWith :: (TensorSpace u0, TensorSpace w, TensorSpace x, Scalar u0 ~ Scalar (LinearMap s u v), Scalar w ~ Scalar (LinearMap s u v), Scalar x ~ Scalar (LinearMap s u v)) => Bilinear ((w, x) -+> u0) (LinearMap s u v w, LinearMap s u v x) (LinearMap s u v u0) #

coerceFmapTensorProduct :: Functor p => p (LinearMap s u v) -> Coercion a b -> Coercion (TensorProduct (LinearMap s u v) a) (TensorProduct (LinearMap s u v) b) #

wellDefinedVector :: LinearMap s u v -> Maybe (LinearMap s u v) #

wellDefinedTensor :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v w) -> Maybe (LinearMap s u v w) #

(LinearSpace u, LinearSpace v, Scalar u ~ s, Scalar v ~ s) => LinearSpace (LinearMap s u v) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type DualVector (LinearMap s u v) :: Type #

Methods

dualSpaceWitness :: DualSpaceWitness (LinearMap s u v) #

linearId :: LinearMap s u v +> LinearMap s u v #

idTensor :: LinearMap s u v DualVector (LinearMap s u v) #

sampleLinearFunction :: (TensorSpace w, Scalar (LinearMap s u v) ~ Scalar w) => (LinearMap s u v -+> w) -+> (LinearMap s u v +> w) #

toLinearForm :: DualVector (LinearMap s u v) -+> (LinearMap s u v +> Scalar (LinearMap s u v)) #

fromLinearForm :: (LinearMap s u v +> Scalar (LinearMap s u v)) -+> DualVector (LinearMap s u v) #

coerceDoubleDual :: Coercion (LinearMap s u v) (DualVector (DualVector (LinearMap s u v))) #

trace :: (LinearMap s u v +> LinearMap s u v) -+> Scalar (LinearMap s u v) #

contractTensorMap :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v +> (LinearMap s u v w)) -+> w #

contractMapTensor :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v (LinearMap s u v +> w)) -+> w #

contractTensorFn :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v -+> (LinearMap s u v w)) -+> w #

contractLinearMapAgainst :: (LinearSpace w, Scalar w ~ Scalar (LinearMap s u v)) => Bilinear (LinearMap s u v +> w) (w -+> LinearMap s u v) (Scalar (LinearMap s u v)) #

applyDualVector :: Bilinear (DualVector (LinearMap s u v)) (LinearMap s u v) (Scalar (LinearMap s u v)) #

applyLinear :: (TensorSpace w, Scalar w ~ Scalar (LinearMap s u v)) => Bilinear (LinearMap s u v +> w) (LinearMap s u v) w #

composeLinear :: (LinearSpace w, TensorSpace x, Scalar w ~ Scalar (LinearMap s u v), Scalar x ~ Scalar (LinearMap s u v)) => Bilinear (w +> x) (LinearMap s u v +> w) (LinearMap s u v +> x) #

tensorId :: (LinearSpace w, Scalar w ~ Scalar (LinearMap s u v)) => (LinearMap s u v w) +> (LinearMap s u v w) #

applyTensorFunctional :: (LinearSpace u0, Scalar u0 ~ Scalar (LinearMap s u v)) => Bilinear (DualVector (LinearMap s u v u0)) (LinearMap s u v u0) (Scalar (LinearMap s u v)) #

applyTensorLinMap :: (LinearSpace u0, TensorSpace w, Scalar u0 ~ Scalar (LinearMap s u v), Scalar w ~ Scalar (LinearMap s u v)) => Bilinear ((LinearMap s u v u0) +> w) (LinearMap s u v u0) w #

(LinearSpace v, TensorSpace w, Scalar v ~ s, Scalar w ~ s) => Semimanifold (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type Needle (LinearMap s v w) :: Type #

type Interior (LinearMap s v w) :: Type #

(LinearSpace v, TensorSpace w, Scalar v ~ s, Scalar w ~ s) => PseudoAffine (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

(.-~.) :: LinearMap s v w -> LinearMap s v w -> Maybe (Needle (LinearMap s v w)) #

(.-~!) :: LinearMap s v w -> LinearMap s v w -> Needle (LinearMap s v w) #

pseudoAffineWitness :: PseudoAffineWitness (LinearMap s v w) #

(LinearSpace v, Scalar v ~ s, TensorSpace w, Scalar w ~ s) => Atlas (LinearMap s v w) Source # 
Instance details

Defined in Data.Manifold.Atlas

Associated Types

type ChartIndex (LinearMap s v w) :: Type Source #

(LinearSpace v, Scalar v ~ , TensorSpace w, Scalar w ~ ) => Geodesic (LinearMap v w) Source # 
Instance details

Defined in Data.Manifold.Riemannian

(HilbertSpace v, SemiInner v, FiniteDimensional v, LtdErrorShow v, Scalar v ~ ) => LtdErrorShow (LinearMap v (, )) Source # 
Instance details

Defined in Data.Manifold.Shade

(HilbertSpace v, SemiInner v, FiniteDimensional v, LtdErrorShow v, Scalar v ~ ) => LtdErrorShow (LinearMap v ) Source # 
Instance details

Defined in Data.Manifold.Shade

(SimpleSpace a, SimpleSpace b, Refinable a, Refinable b, Scalar a ~ , Scalar b ~ , Scalar (DualVector a) ~ , Scalar (DualVector b) ~ , Scalar (DualVector (DualVector a)) ~ , Scalar (DualVector (DualVector b)) ~ ) => Refinable (LinearMap a b) Source # 
Instance details

Defined in Data.Manifold.Shade

type UnitObject (LinearMap s) 
Instance details

Defined in Math.LinearMap.Category.Class

type Object (LinearMap s) v 
Instance details

Defined in Math.LinearMap.Category.Class

type Object (LinearMap s) v = (LinearSpace v, Scalar v ~ s)
type PairObjects (LinearMap s) a b 
Instance details

Defined in Math.LinearMap.Category.Class

type PairObjects (LinearMap s) a b = ()
type Scalar (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

type Scalar (LinearMap s v w) = s
type Diff (LinearMap s u v) 
Instance details

Defined in Math.LinearMap.Category.Class

type Diff (LinearMap s u v) = LinearMap s u v
data SubBasis (LinearMap s u v) 
Instance details

Defined in Math.VectorSpace.Docile

type DualVector (LinearMap s u v) 
Instance details

Defined in Math.LinearMap.Category.Class

type DualVector (LinearMap s u v) = Tensor s u (DualVector v)
type Interior (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

type Interior (LinearMap s v w) = LinearMap s v w
type Needle (LinearMap s v w) 
Instance details

Defined in Math.LinearMap.Category.Class

type Needle (LinearMap s v w) = LinearMap s v w
type ChartIndex (LinearMap s v w) Source # 
Instance details

Defined in Data.Manifold.Atlas

type ChartIndex (LinearMap s v w) = ()
type TensorProduct (LinearMap s u v) w 
Instance details

Defined in Math.LinearMap.Category.Class

Misc

Orphan instances