algebra-0.9.0.3: Constructive abstract algebra

Numeric.Covector

Contents

Synopsis

Documentation

newtype Covector r a Source

Linear functionals from elements of an (infinite) free module to a scalar

Constructors

 Covector ((a -> r) -> r)

Instances

 RightModule r s => RightModule r (Covector s m) LeftModule r s => LeftModule r (Covector s m) Monad (Covector r) Functor (Covector r) Monoidal r => MonadPlus (Covector r) Applicative (Covector r) Monoidal r => Alternative (Covector r) Monoidal r => Plus (Covector r) Additive r => Alt (Covector r) Apply (Covector r) Bind (Covector r) Idempotent r => Idempotent (Covector r a) Abelian s => Abelian (Covector s a) Additive r => Additive (Covector r a) Monoidal s => Monoidal (Covector s a) Coalgebra r m => Semiring (Covector r m) Coalgebra r m => Multiplicative (Covector r m) Group s => Group (Covector s a) CounitalCoalgebra r m => Unital (Covector r m) (Idempotent r, IdempotentCoalgebra r a) => Band (Covector r a) (Rig r, CounitalCoalgebra r m) => Rig (Covector r m) (Ring r, CounitalCoalgebra r m) => Ring (Covector r m) (Commutative m, Coalgebra r m) => Commutative (Covector r m) Distinguished a => Distinguished (Covector r a) Complicated a => Complicated (Covector r a) Hamiltonian a => Hamiltonian (Covector r a) Infinitesimal a => Infinitesimal (Covector r a) Hyperbolic a => Hyperbolic (Covector r a) Trigonometric a => Trigonometric (Covector r a) Coalgebra r m => RightModule (Covector r m) (Covector r m) Coalgebra r m => LeftModule (Covector r m) (Covector r m)

Covectors as linear functionals

comultM :: Algebra r a => a -> Covector r (a, a)Source

multM :: Coalgebra r c => c -> c -> Covector r cSource

antipodeM :: HopfAlgebra r h => h -> Covector r hSource

convolveM antipodeM return = convolveM return antipodeM = comultM >=> uncurry joinM

convolveM :: (Algebra r c, Coalgebra r a) => (c -> Covector r a) -> (c -> Covector r a) -> c -> Covector r aSource

memoM :: HasTrie a => a -> Covector s aSource