algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Covector

Contents

- Covectors as linear functionals

Synopsis

- newtype Covector r a = Covector ((a -> r) -> r)
- ($*) :: Indexable m => Covector r (Key m) -> m r -> r
- counitM :: UnitalAlgebra r a => a -> Covector r ()
- unitM :: CounitalCoalgebra r c => Covector r c
- comultM :: Algebra r a => a -> Covector r (a, a)
- multM :: Coalgebra r c => c -> c -> Covector r c
- invM :: InvolutiveAlgebra r h => h -> Covector r h
- coinvM :: InvolutiveCoalgebra r h => h -> Covector r h
- antipodeM :: HopfAlgebra r h => h -> Covector r h
- convolveM :: (Algebra r c, Coalgebra r a) => (c -> Covector r a) -> (c -> Covector r a) -> c -> Covector r a
- memoM :: HasTrie a => a -> Covector s a

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

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

# Covectors as linear functionals

counitM :: UnitalAlgebra r a => a -> Covector r ()Source

unitM :: CounitalCoalgebra r c => Covector r cSource

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

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

invM :: InvolutiveAlgebra r h => h -> Covector r hSource

coinvM :: InvolutiveCoalgebra r h => h -> Covector r hSource

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