linearmap-category-0.6.0.1: Native, complete-ish, matrix-free linear algebra.
Copyright(c) Justus Sagemüller 2016
LicenseGPL v3
Maintainer(@) jsag $ hvl.no
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.VectorSpace.ZeroDimensional

Description

 

Documentation

data ZeroDim s #

Constructors

Origin 

Instances

Instances details
Dimensional 0 (ZeroDim s) Source # 
Instance details

Defined in Math.LinearMap.Category.Class

Methods

knownDimensionalitySing :: Sing 0 Source #

unsafeFromArrayWithOffset :: Vector α (Scalar (ZeroDim s)) => Int -> α (Scalar (ZeroDim s)) -> ZeroDim s Source #

unsafeWriteArrayWithOffset :: forall (α :: Type -> Type) σ. Vector α (Scalar (ZeroDim s)) => Mutable α σ (Scalar (ZeroDim s)) -> Int -> ZeroDim s -> ST σ () Source #

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 #

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 #

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 #

Eq (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Methods

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

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

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

Defined in Math.LinearMap.Category.Class

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 :: VSCCoercion (Scalar (ZeroDim s)) (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 #

useTupleLinearSpaceComponents :: ZeroDim s ~ (x, y) => ((LinearSpace x, LinearSpace y, Scalar x ~ Scalar y) => φ) -> φ Source #

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

Defined in Math.LinearMap.Category.Class

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 #

tensorUnsafeFromArrayWithOffset :: forall w α (n :: Nat) (m :: Nat). (Dimensional n (ZeroDim s), TensorSpace w, Dimensional m w, Scalar w ~ Scalar (ZeroDim s), Vector α (Scalar (ZeroDim s))) => Int -> α (Scalar (ZeroDim s)) -> ZeroDim s w Source #

tensorUnsafeWriteArrayWithOffset :: forall w (α :: Type -> Type) σ (n :: Nat) (m :: Nat). (Dimensional n (ZeroDim s), TensorSpace w, Dimensional m w, Scalar w ~ Scalar (ZeroDim s), Vector α (Scalar (ZeroDim s))) => Mutable α σ (Scalar (ZeroDim s)) -> Int -> (ZeroDim s w) -> ST σ () Source #

coerceFmapTensorProduct :: (Functor p, TensorSpace a, Scalar a ~ Scalar (ZeroDim s), TensorSpace b, Scalar b ~ Scalar (ZeroDim s)) => p (ZeroDim s) -> VSCCoercion (Scalar (ZeroDim s)) 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 #

DimensionAware (ZeroDim s) Source # 
Instance details

Defined in Math.LinearMap.Category.Class

Associated Types

type StaticDimension (ZeroDim s) :: Maybe Nat Source #

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

Defined in Math.VectorSpace.Docile

Associated Types

data SubBasis (ZeroDim s) Source #

Methods

entireBasis :: SubBasis (ZeroDim s) Source #

enumerateSubBasis :: SubBasis (ZeroDim s) -> [ZeroDim s] Source #

subbasisDimension :: SubBasis (ZeroDim s) -> Int Source #

decomposeLinMap :: (LSpace w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s +> w) -> (SubBasis (ZeroDim s), DList w) Source #

decomposeLinMapWithin :: (LSpace w, Scalar w ~ Scalar (ZeroDim s)) => SubBasis (ZeroDim s) -> (ZeroDim s +> w) -> Either (SubBasis (ZeroDim s), DList w) (DList w) Source #

recomposeSB :: SubBasis (ZeroDim s) -> [Scalar (ZeroDim s)] -> (ZeroDim s, [Scalar (ZeroDim s)]) Source #

recomposeSBTensor :: (FiniteDimensional w, Scalar w ~ Scalar (ZeroDim s)) => SubBasis (ZeroDim s) -> SubBasis w -> [Scalar (ZeroDim s)] -> (ZeroDim s w, [Scalar (ZeroDim s)]) Source #

recomposeLinMap :: (LSpace w, Scalar w ~ Scalar (ZeroDim s)) => SubBasis (ZeroDim s) -> [w] -> (ZeroDim s +> w, [w]) Source #

recomposeContraLinMap :: (LinearSpace w, Scalar w ~ Scalar (ZeroDim s), Functor f) => (f (Scalar w) -> w) -> f (DualVector (ZeroDim s)) -> ZeroDim s +> w Source #

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

uncanonicallyFromDual :: DualVector (ZeroDim s) -+> ZeroDim s Source #

uncanonicallyToDual :: ZeroDim s -+> DualVector (ZeroDim s) Source #

tensorEquality :: (TensorSpace w, Eq w, Scalar w ~ Scalar (ZeroDim s)) => (ZeroDim s w) -> (ZeroDim s w) -> Bool Source #

dualFinitenessWitness :: DualFinitenessWitness (ZeroDim s) Source #

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

Defined in Math.VectorSpace.Docile

PseudoAffine (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Semimanifold (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

Associated Types

type Needle (ZeroDim k) #

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 #

AffineSpace (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Associated Types

type Diff (ZeroDim s) #

Methods

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

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

HasBasis (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

Associated Types

type Basis (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) #

Methods

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

Show (LinearMap s v (ZeroDim s)) Source # 
Instance details

Defined in Math.VectorSpace.Docile

Methods

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

show :: LinearMap s v (ZeroDim s) -> String #

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

type DualVector (ZeroDim s) Source # 
Instance details

Defined in Math.LinearMap.Category.Class

type StaticDimension (ZeroDim s) Source # 
Instance details

Defined in Math.LinearMap.Category.Class

data SubBasis (ZeroDim s) Source # 
Instance details

Defined in Math.VectorSpace.Docile

type Needle (ZeroDim k) 
Instance details

Defined in Math.Manifold.Core.PseudoAffine

type Needle (ZeroDim k) = ZeroDim k
type Diff (ZeroDim s) 
Instance details

Defined in Math.Manifold.VectorSpace.ZeroDimensional

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

Defined in Math.Manifold.VectorSpace.ZeroDimensional

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

Defined in Math.Manifold.VectorSpace.ZeroDimensional

type Scalar (ZeroDim s) = s
type TensorProduct (ZeroDim s) v Source # 
Instance details

Defined in Math.LinearMap.Category.Class