Safe Haskell | None |
---|

- 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

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

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

# Covectors as linear functionals

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

unitM :: CounitalCoalgebra r 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