algebra-3.1: Constructive abstract algebra

Safe HaskellNone





newtype Covector r a Source

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


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


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

($*) :: Indexable m => Covector r (Key m) -> m r -> rSource

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