linearmap-category-0.3.5.0: Native, complete, matrix-free linear algebra.

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

Math.VectorSpace.ZeroDimensional

Description

 

Documentation

data ZeroDim s :: * -> * #

Constructors

Origin 

Instances

Eq (ZeroDim s) 

Methods

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

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

Show (ZeroDim s) 

Methods

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

show :: ZeroDim s -> String #

showList :: [ZeroDim s] -> ShowS #

Monoid (ZeroDim s) 

Methods

mempty :: ZeroDim s #

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

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

AdditiveGroup (ZeroDim s) 

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) 

Methods

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

VectorSpace (ZeroDim s) 

Associated Types

type Scalar (ZeroDim s) :: * #

Methods

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

HasBasis (ZeroDim s) 

Associated Types

type Basis (ZeroDim s) :: * #

AffineSpace (ZeroDim s) 

Associated Types

type Diff (ZeroDim s) :: * #

Methods

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

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

Semimanifold (ZeroDim k) 
PseudoAffine (ZeroDim k) 
Num' s => LinearSpace (ZeroDim s) Source # 

Associated Types

type DualVector (ZeroDim s) :: * Source #

Methods

dualSpaceWitness :: DualSpaceWitness (ZeroDim s) Source #

linearId :: ZeroDim s +> ZeroDim s Source #

idTensor :: ZeroDim s DualVector (ZeroDim s) Source #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Num' s => TensorSpace (ZeroDim s) Source # 

Associated Types

type TensorProduct (ZeroDim s) w :: * Source #

Methods

scalarSpaceWitness :: ScalarSpaceWitness (ZeroDim s) Source #

linearManifoldWitness :: LinearManifoldWitness (ZeroDim s) Source #

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

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

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

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

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

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

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

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

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

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

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

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) Source #

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

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

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

Num' s => FiniteDimensional (ZeroDim s) Source # 

Associated Types

data SubBasis (ZeroDim s) :: * Source #

(Fractional' s, SemiInner s) => SemiInner (ZeroDim s) Source # 
type Scalar (ZeroDim s) 
type Scalar (ZeroDim s) = s
type Basis (ZeroDim s) 
type Basis (ZeroDim s) = Void
type Diff (ZeroDim s) 
type Diff (ZeroDim s) = ZeroDim s
type Interior (ZeroDim k) 
type Interior (ZeroDim k) = ZeroDim k
type Needle (ZeroDim k) 
type Needle (ZeroDim k) = ZeroDim k
type DualVector (ZeroDim s) Source # 
data SubBasis (ZeroDim s) Source # 
type TensorProduct (ZeroDim s) v Source #