HaskellForMaths-0.4.8: Combinatorics, group theory, commutative algebra, non-commutative algebra

Safe Haskell | Safe
Language | Haskell98

Math.Algebras.Structures

Contents

- Orphan instances

Description

A module defining various algebraic structures that can be defined on vector spaces - specifically algebra, coalgebra, bialgebra, Hopf algebra, module, comodule

Synopsis

- class Mon m where
- class Algebra k b where
- unit' :: (Eq k, Num k, Algebra k b) => Vect k () -> Vect k b
- class Coalgebra k b where
- counit' :: (Eq k, Num k, Coalgebra k b) => Vect k b -> Vect k ()
- class (Algebra k b, Coalgebra k b) => Bialgebra k b
- class Bialgebra k b => HopfAlgebra k b where
- newtype SetCoalgebra b = SC b
- newtype MonoidCoalgebra m = MC m
- class Algebra k a => Module k a m where
- (*.) :: (Num k, Module k a m) => Vect k a -> Vect k m -> Vect k m
- class Coalgebra k c => Comodule k c n where
- class HasPairing k u v where
- pairing' :: (Num k, HasPairing k u v) => Vect k u -> Vect k v -> k

# Documentation

class Mon m where Source #

Monoid

Minimal complete definition

munit, mmult

Methods

munit :: m Source #

mmult :: m -> m -> m Source #

Instances

Mon LaurentMonomial Source # |
Methods munit :: LaurentMonomial Source # mmult :: LaurentMonomial -> LaurentMonomial -> LaurentMonomial Source #
Ord v => Mon (Grevlex v) Source # |
Methods munit :: Grevlex v Source # mmult :: Grevlex v -> Grevlex v -> Grevlex v Source #
Ord v => Mon (Glex v) Source # |
Methods munit :: Glex v Source # mmult :: Glex v -> Glex v -> Glex v Source #
Ord v => Mon (Lex v) Source # |
Methods munit :: Lex v Source # mmult :: Lex v -> Lex v -> Lex v Source #
Ord v => Mon (MonImpl v) Source # |
Methods munit :: MonImpl v Source # mmult :: MonImpl v -> MonImpl v -> MonImpl v Source #
Mon (NonComMonomial v) Source # |
Methods munit :: NonComMonomial v Source # mmult :: NonComMonomial v -> NonComMonomial v -> NonComMonomial v Source #
Ord a => Mon (SymmetricAlgebra a) Source # |
Methods munit :: SymmetricAlgebra a Source # mmult :: SymmetricAlgebra a -> SymmetricAlgebra a -> SymmetricAlgebra a Source #
Mon (TensorAlgebra a) Source # |
Methods munit :: TensorAlgebra a Source # mmult :: TensorAlgebra a -> TensorAlgebra a -> TensorAlgebra a Source #
(Mon a, Mon b) => Mon (Elim2 a b) Source # |
Methods munit :: Elim2 a b Source # mmult :: Elim2 a b -> Elim2 a b -> Elim2 a b Source #

class Algebra k b where Source #

Caution: If we declare an instance Algebra k b, then we are saying that the vector space Vect k b is a k-algebra. In other words, we are saying that b is the basis for a k-algebra. So a more accurate name for this class would have been AlgebraBasis.

Minimal complete definition

unit, mult

Methods

unit :: k -> Vect k b Source #

mult :: Vect k (Tensor b b) -> Vect k b Source #

Instances

(Eq k, Num k) => Algebra k () Source # |
Methods unit :: k -> Vect k () Source # mult :: Vect k (Tensor () ()) -> Vect k () Source #
(Eq k, Num k) => Algebra k HBasis Source # |
Methods unit :: k -> Vect k HBasis Source # mult :: Vect k (Tensor HBasis HBasis) -> Vect k HBasis Source #
(Eq k, Num k) => Algebra k QNFBasis Source # |
Methods unit :: k -> Vect k QNFBasis Source # mult :: Vect k (Tensor QNFBasis QNFBasis) -> Vect k QNFBasis Source #
(Eq k, Num k) => Algebra k OBasis Source # |
Methods unit :: k -> Vect k OBasis Source # mult :: Vect k (Tensor OBasis OBasis) -> Vect k OBasis Source #
(Eq k, Num k) => Algebra k NSym Source # |
Methods unit :: k -> Vect k NSym Source # mult :: Vect k (Tensor NSym NSym) -> Vect k NSym Source #
(Eq k, Num k) => Algebra k SymH Source # |
Methods unit :: k -> Vect k SymH Source # mult :: Vect k (Tensor SymH SymH) -> Vect k SymH Source #
(Eq k, Num k) => Algebra k SymE Source # |
Methods unit :: k -> Vect k SymE Source # mult :: Vect k (Tensor SymE SymE) -> Vect k SymE Source #
(Eq k, Num k) => Algebra k SymM Source # |
Methods unit :: k -> Vect k SymM Source # mult :: Vect k (Tensor SymM SymM) -> Vect k SymM Source #
(Eq k, Num k) => Algebra k QSymF Source # |
Methods unit :: k -> Vect k QSymF Source # mult :: Vect k (Tensor QSymF QSymF) -> Vect k QSymF Source #
(Eq k, Num k) => Algebra k QSymM Source # |
Methods unit :: k -> Vect k QSymM Source # mult :: Vect k (Tensor QSymM QSymM) -> Vect k QSymM Source #
(Eq k, Num k) => Algebra k YSymM Source # |
Methods unit :: k -> Vect k YSymM Source # mult :: Vect k (Tensor YSymM YSymM) -> Vect k YSymM Source #
(Eq k, Num k) => Algebra k SSymM Source # |
Methods unit :: k -> Vect k SSymM Source # mult :: Vect k (Tensor SSymM SSymM) -> Vect k SSymM Source #
(Eq k, Num k) => Algebra k SSymF Source # |
Methods unit :: k -> Vect k SSymF Source # mult :: Vect k (Tensor SSymF SSymF) -> Vect k SSymF Source #
(Eq k, Num k) => Algebra k LaurentMonomial Source # |
Methods unit :: k -> Vect k LaurentMonomial Source # mult :: Vect k (Tensor LaurentMonomial LaurentMonomial) -> Vect k LaurentMonomial Source #
(Eq k, Num k) => Algebra k M3 Source # |
Methods unit :: k -> Vect k M3 Source # mult :: Vect k (Tensor M3 M3) -> Vect k M3 Source #
(Eq k, Num k) => Algebra k Mat2 Source # |
Methods unit :: k -> Vect k Mat2 Source # mult :: Vect k (Tensor Mat2 Mat2) -> Vect k Mat2 Source #
(Eq k, Num k, Ord v, Show v) => Algebra k (Grevlex v) Source # |
Methods unit :: k -> Vect k (Grevlex v) Source # mult :: Vect k (Tensor (Grevlex v) (Grevlex v)) -> Vect k (Grevlex v) Source #
(Eq k, Num k, Ord v, Show v) => Algebra k (Glex v) Source # |
Methods unit :: k -> Vect k (Glex v) Source # mult :: Vect k (Tensor (Glex v) (Glex v)) -> Vect k (Glex v) Source #
(Eq k, Num k, Ord v, Show v) => Algebra k (Lex v) Source # |
Methods unit :: k -> Vect k (Lex v) Source # mult :: Vect k (Tensor (Lex v) (Lex v)) -> Vect k (Lex v) Source #
(Eq k, Num k, Ord a) => Algebra k (YSymF a) Source # |
Methods unit :: k -> Vect k (YSymF a) Source # mult :: Vect k (Tensor (YSymF a) (YSymF a)) -> Vect k (YSymF a) Source #
(Eq k, Num k) => Algebra k (Dual SSymF) Source # |
Methods unit :: k -> Vect k (Dual SSymF) Source # mult :: Vect k (Tensor (Dual SSymF) (Dual SSymF)) -> Vect k (Dual SSymF) Source #
(Eq k, Num k, Ord a) => Algebra k (Shuffle a) Source # |
Methods unit :: k -> Vect k (Shuffle a) Source # mult :: Vect k (Tensor (Shuffle a) (Shuffle a)) -> Vect k (Shuffle a) Source #
(Eq k, Num k, Ord v) => Algebra k (GlexMonomial v) Source # |
Methods unit :: k -> Vect k (GlexMonomial v) Source # mult :: Vect k (Tensor (GlexMonomial v) (GlexMonomial v)) -> Vect k (GlexMonomial v) Source #
(Eq k, Num k, Ord v) => Algebra k (NonComMonomial v) Source # |
Methods unit :: k -> Vect k (NonComMonomial v) Source # mult :: Vect k (Tensor (NonComMonomial v) (NonComMonomial v)) -> Vect k (NonComMonomial v) Source #
(Eq k, Num k, Ord a) => Algebra k (ExteriorAlgebra a) Source # |
Methods unit :: k -> Vect k (ExteriorAlgebra a) Source # mult :: Vect k (Tensor (ExteriorAlgebra a) (ExteriorAlgebra a)) -> Vect k (ExteriorAlgebra a) Source #
(Eq k, Num k, Ord a) => Algebra k (SymmetricAlgebra a) Source # |
Methods unit :: k -> Vect k (SymmetricAlgebra a) Source # mult :: Vect k (Tensor (SymmetricAlgebra a) (SymmetricAlgebra a)) -> Vect k (SymmetricAlgebra a) Source #
(Eq k, Num k, Ord a) => Algebra k (TensorAlgebra a) Source # |
Methods unit :: k -> Vect k (TensorAlgebra a) Source # mult :: Vect k (Tensor (TensorAlgebra a) (TensorAlgebra a)) -> Vect k (TensorAlgebra a) Source #

(Eq k, Num k, Ord a) => Algebra k (Interval a) Source #

The incidence algebra of a poset is the free k-vector space having as its basis the set of intervals in the poset, with multiplication defined by concatenation of intervals. The incidence algebra can also be thought of as the vector space of functions from intervals to k, with multiplication defined by the convolution (f*g)(x,y) = sum [ f(x,z) g(z,y) | x <= z <= y ].

Methods unit :: k -> Vect k (Interval a) Source # mult :: Vect k (Tensor (Interval a) (Interval a)) -> Vect k (Interval a) Source #
Algebra Q (SL2 ABCD) Source # |
Methods unit :: Q -> Vect Q (SL2 ABCD) Source # mult :: Vect Q (Tensor (SL2 ABCD) (SL2 ABCD)) -> Vect Q (SL2 ABCD) Source #
(Eq k, Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (Tensor a b) Source # | The tensor product of k-algebras can itself be given the structure of a k-algebra
Methods unit :: k -> Vect k (Tensor a b) Source # mult :: Vect k (Tensor (Tensor a b) (Tensor a b)) -> Vect k (Tensor a b) Source #
(Eq k, Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (DSum a b) Source # | The direct sum of k-algebras can itself be given the structure of a k-algebra. This is the product object in the category of k-algebras.
Methods unit :: k -> Vect k (DSum a b) Source # mult :: Vect k (Tensor (DSum a b) (DSum a b)) -> Vect k (DSum a b) Source #
(Eq k, Num k, Ord a, Mon a, Ord b, Mon b) => Algebra k (Elim2 a b) Source # |
Methods unit :: k -> Vect k (Elim2 a b) Source # mult :: Vect k (Tensor (Elim2 a b) (Elim2 a b)) -> Vect k (Elim2 a b) Source #
Algebra (LaurentPoly Q) (SL2q String) Source # |
Methods unit :: LaurentPoly Q -> Vect (LaurentPoly Q) (SL2q String) Source # mult :: Vect (LaurentPoly Q) (Tensor (SL2q String) (SL2q String)) -> Vect (LaurentPoly Q) (SL2q String) Source #
Algebra (LaurentPoly Q) (M2q String) Source # |
Methods unit :: LaurentPoly Q -> Vect (LaurentPoly Q) (M2q String) Source # mult :: Vect (LaurentPoly Q) (Tensor (M2q String) (M2q String)) -> Vect (LaurentPoly Q) (M2q String) Source #
Algebra (LaurentPoly Q) (Aq02 String) Source # |
Methods unit :: LaurentPoly Q -> Vect (LaurentPoly Q) (Aq02 String) Source # mult :: Vect (LaurentPoly Q) (Tensor (Aq02 String) (Aq02 String)) -> Vect (LaurentPoly Q) (Aq02 String) Source #
Algebra (LaurentPoly Q) (Aq20 String) Source # |
Methods unit :: LaurentPoly Q -> Vect (LaurentPoly Q) (Aq20 String) Source # mult :: Vect (LaurentPoly Q) (Tensor (Aq20 String) (Aq20 String)) -> Vect (LaurentPoly Q) (Aq20 String) Source #

unit' :: (Eq k, Num k, Algebra k b) => Vect k () -> Vect k b Source #

Sometimes it is more convenient to work with this version of unit.

class Coalgebra k b where Source #

An instance declaration for Coalgebra k b is saying that the vector space Vect k b is a k-coalgebra.

Minimal complete definition

counit, comult

Methods

counit :: Vect k b -> k Source #

comult :: Vect k b -> Vect k (Tensor b b) Source #

Instances

(Eq k, Num k) => Coalgebra k EBasis Source # |
Methods counit :: Vect k EBasis -> k Source # comult :: Vect k EBasis -> Vect k (Tensor EBasis EBasis) Source #
(Eq k, Num k) => Coalgebra k () Source # |
Methods counit :: Vect k () -> k Source # comult :: Vect k () -> Vect k (Tensor () ()) Source #
(Eq k, Num k) => Coalgebra k NSym Source # |
Methods counit :: Vect k NSym -> k Source # comult :: Vect k NSym -> Vect k (Tensor NSym NSym) Source #
(Eq k, Num k) => Coalgebra k SymH Source # |
Methods counit :: Vect k SymH -> k Source # comult :: Vect k SymH -> Vect k (Tensor SymH SymH) Source #
(Eq k, Num k) => Coalgebra k SymE Source # |
Methods counit :: Vect k SymE -> k Source # comult :: Vect k SymE -> Vect k (Tensor SymE SymE) Source #
(Eq k, Num k) => Coalgebra k SymM Source # |
Methods counit :: Vect k SymM -> k Source # comult :: Vect k SymM -> Vect k (Tensor SymM SymM) Source #
(Eq k, Num k) => Coalgebra k QSymF Source # |
Methods counit :: Vect k QSymF -> k Source # comult :: Vect k QSymF -> Vect k (Tensor QSymF QSymF) Source #
(Eq k, Num k) => Coalgebra k QSymM Source # |
Methods counit :: Vect k QSymM -> k Source # comult :: Vect k QSymM -> Vect k (Tensor QSymM QSymM) Source #
(Eq k, Num k) => Coalgebra k YSymM Source # |
Methods counit :: Vect k YSymM -> k Source # comult :: Vect k YSymM -> Vect k (Tensor YSymM YSymM) Source #
(Eq k, Num k) => Coalgebra k SSymM Source # |
Methods counit :: Vect k SSymM -> k Source # comult :: Vect k SSymM -> Vect k (Tensor SSymM SSymM) Source #
(Eq k, Num k) => Coalgebra k SSymF Source # |
Methods counit :: Vect k SSymF -> k Source # comult :: Vect k SSymF -> Vect k (Tensor SSymF SSymF) Source #
(Eq k, Num k) => Coalgebra k Mat2' Source # |
Methods counit :: Vect k Mat2' -> k Source # comult :: Vect k Mat2' -> Vect k (Tensor Mat2' Mat2') Source #
(Eq k, Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) Source # |
Methods counit :: Vect k (MonoidCoalgebra m) -> k Source # comult :: Vect k (MonoidCoalgebra m) -> Vect k (Tensor (MonoidCoalgebra m) (MonoidCoalgebra m)) Source #
(Eq k, Num k) => Coalgebra k (SetCoalgebra b) Source # |
Methods counit :: Vect k (SetCoalgebra b) -> k Source # comult :: Vect k (SetCoalgebra b) -> Vect k (Tensor (SetCoalgebra b) (SetCoalgebra b)) Source #
(Eq k, Num k) => Coalgebra k (Dual HBasis) Source # |
Methods counit :: Vect k (Dual HBasis) -> k Source # comult :: Vect k (Dual HBasis) -> Vect k (Tensor (Dual HBasis) (Dual HBasis)) Source #
(Eq k, Num k, Ord a) => Coalgebra k (YSymF a) Source # |
Methods counit :: Vect k (YSymF a) -> k Source # comult :: Vect k (YSymF a) -> Vect k (Tensor (YSymF a) (YSymF a)) Source #
(Eq k, Num k) => Coalgebra k (Dual SSymF) Source # |
Methods counit :: Vect k (Dual SSymF) -> k Source # comult :: Vect k (Dual SSymF) -> Vect k (Tensor (Dual SSymF) (Dual SSymF)) Source #
(Eq k, Num k, Ord a) => Coalgebra k (Shuffle a) Source # |
Methods counit :: Vect k (Shuffle a) -> k Source # comult :: Vect k (Shuffle a) -> Vect k (Tensor (Shuffle a) (Shuffle a)) Source #
(Eq k, Num k) => Coalgebra k (GlexMonomial v) Source # |
Methods counit :: Vect k (GlexMonomial v) -> k Source # comult :: Vect k (GlexMonomial v) -> Vect k (Tensor (GlexMonomial v) (GlexMonomial v)) Source #
(Eq k, Num k, Ord c) => Coalgebra k (TensorCoalgebra c) Source # |
Methods counit :: Vect k (TensorCoalgebra c) -> k Source # comult :: Vect k (TensorCoalgebra c) -> Vect k (Tensor (TensorCoalgebra c) (TensorCoalgebra c)) Source #
(Eq k, Num k, Ord a) => Coalgebra k (Interval a) Source # |
Methods counit :: Vect k (Interval a) -> k Source # comult :: Vect k (Interval a) -> Vect k (Tensor (Interval a) (Interval a)) Source #
Coalgebra Q (SL2 ABCD) Source # |
Methods counit :: Vect Q (SL2 ABCD) -> Q Source # comult :: Vect Q (SL2 ABCD) -> Vect Q (Tensor (SL2 ABCD) (SL2 ABCD)) Source #
(Eq k, Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (Tensor a b) Source # | The tensor product of k-coalgebras can itself be given the structure of a k-coalgebra
Methods counit :: Vect k (Tensor a b) -> k Source # comult :: Vect k (Tensor a b) -> Vect k (Tensor (Tensor a b) (Tensor a b)) Source #
(Eq k, Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (DSum a b) Source # | The direct sum of k-coalgebras can itself be given the structure of a k-coalgebra. This is the coproduct object in the category of k-coalgebras.
Methods counit :: Vect k (DSum a b) -> k Source # comult :: Vect k (DSum a b) -> Vect k (Tensor (DSum a b) (DSum a b)) Source #
Coalgebra (LaurentPoly Q) (SL2q String) Source # |
Methods counit :: Vect (LaurentPoly Q) (SL2q String) -> LaurentPoly Q Source # comult :: Vect (LaurentPoly Q) (SL2q String) -> Vect (LaurentPoly Q) (Tensor (SL2q String) (SL2q String)) Source #
Coalgebra (LaurentPoly Q) (M2q String) Source # |
Methods counit :: Vect (LaurentPoly Q) (M2q String) -> LaurentPoly Q Source # comult :: Vect (LaurentPoly Q) (M2q String) -> Vect (LaurentPoly Q) (Tensor (M2q String) (M2q String)) Source #

counit' :: (Eq k, Num k, Coalgebra k b) => Vect k b -> Vect k () Source #

Sometimes it is more convenient to work with this version of counit.

class (Algebra k b, Coalgebra k b) => Bialgebra k b Source #

A bialgebra is an algebra which is also a coalgebra, subject to the compatibility conditions that counit and comult must be algebra morphisms (or equivalently, that unit and mult must be coalgebra morphisms)

Instances

(Eq k, Num k) => Bialgebra k NSym Source # |
(Eq k, Num k) => Bialgebra k SymH Source # |
(Eq k, Num k) => Bialgebra k SymE Source # |
(Eq k, Num k) => Bialgebra k SymM Source # |
(Eq k, Num k) => Bialgebra k QSymF Source # |
(Eq k, Num k) => Bialgebra k QSymM Source # |
(Eq k, Num k) => Bialgebra k YSymM Source # |
(Eq k, Num k) => Bialgebra k SSymM Source # |
(Eq k, Num k) => Bialgebra k SSymF Source # |
(Eq k, Num k, Ord a) => Bialgebra k (YSymF a) Source # |
(Eq k, Num k) => Bialgebra k (Dual SSymF) Source # |
(Eq k, Num k, Ord a) => Bialgebra k (Shuffle a) Source # |
Bialgebra Q (SL2 ABCD) Source # |
Bialgebra (LaurentPoly Q) (SL2q String) Source # |
Bialgebra (LaurentPoly Q) (M2q String) Source # |

class Bialgebra k b => HopfAlgebra k b where Source #

Minimal complete definition

antipode

Methods

antipode :: Vect k b -> Vect k b Source #

Instances

(Eq k, Num k) => HopfAlgebra k NSym Source # |
Methods antipode :: Vect k NSym -> Vect k NSym Source #
(Eq k, Num k) => HopfAlgebra k SymM Source # |
Methods antipode :: Vect k SymM -> Vect k SymM Source #
(Eq k, Num k) => HopfAlgebra k QSymF Source # |
Methods antipode :: Vect k QSymF -> Vect k QSymF Source #
(Eq k, Num k) => HopfAlgebra k QSymM Source # |
Methods antipode :: Vect k QSymM -> Vect k QSymM Source #
(Eq k, Num k) => HopfAlgebra k YSymM Source # |
Methods antipode :: Vect k YSymM -> Vect k YSymM Source #
(Eq k, Num k) => HopfAlgebra k SSymM Source # |
Methods antipode :: Vect k SSymM -> Vect k SSymM Source #
(Eq k, Num k) => HopfAlgebra k SSymF Source # |
Methods antipode :: Vect k SSymF -> Vect k SSymF Source #
(Eq k, Num k, Ord a) => HopfAlgebra k (YSymF a) Source # |
Methods antipode :: Vect k (YSymF a) -> Vect k (YSymF a) Source #
(Eq k, Num k) => HopfAlgebra k (Dual SSymF) Source # |
Methods antipode :: Vect k (Dual SSymF) -> Vect k (Dual SSymF) Source #
(Eq k, Num k, Ord a) => HopfAlgebra k (Shuffle a) Source # |
Methods antipode :: Vect k (Shuffle a) -> Vect k (Shuffle a) Source #
HopfAlgebra Q (SL2 ABCD) Source # |
Methods antipode :: Vect Q (SL2 ABCD) -> Vect Q (SL2 ABCD) Source #
HopfAlgebra (LaurentPoly Q) (SL2q String) Source # |
Methods antipode :: Vect (LaurentPoly Q) (SL2q String) -> Vect (LaurentPoly Q) (SL2q String) Source #

newtype SetCoalgebra b Source #

Constructors

SC b |

Instances

(Eq k, Num k) => Coalgebra k (SetCoalgebra b) Source # |
Methods counit :: Vect k (SetCoalgebra b) -> k Source # comult :: Vect k (SetCoalgebra b) -> Vect k (Tensor (SetCoalgebra b) (SetCoalgebra b)) Source #
Eq b => Eq (SetCoalgebra b) Source # |
Methods (==) :: SetCoalgebra b -> SetCoalgebra b -> Bool # (/=) :: SetCoalgebra b -> SetCoalgebra b -> Bool #
Ord b => Ord (SetCoalgebra b) Source # |
Methods compare :: SetCoalgebra b -> SetCoalgebra b -> Ordering # (<) :: SetCoalgebra b -> SetCoalgebra b -> Bool # (<=) :: SetCoalgebra b -> SetCoalgebra b -> Bool # (>) :: SetCoalgebra b -> SetCoalgebra b -> Bool # (>=) :: SetCoalgebra b -> SetCoalgebra b -> Bool # max :: SetCoalgebra b -> SetCoalgebra b -> SetCoalgebra b # min :: SetCoalgebra b -> SetCoalgebra b -> SetCoalgebra b #
Show b => Show (SetCoalgebra b) Source # |
Methods showsPrec :: Int -> SetCoalgebra b -> ShowS # show :: SetCoalgebra b -> String # showList :: [SetCoalgebra b] -> ShowS #

newtype MonoidCoalgebra m Source #

Constructors

MC m |

Instances

(Eq k, Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) Source # |
Methods counit :: Vect k (MonoidCoalgebra m) -> k Source # comult :: Vect k (MonoidCoalgebra m) -> Vect k (Tensor (MonoidCoalgebra m) (MonoidCoalgebra m)) Source #
Eq m => Eq (MonoidCoalgebra m) Source # |
Methods (==) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool # (/=) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool #
Ord m => Ord (MonoidCoalgebra m) Source # |

Methods

compare :: MonoidCoalgebra m -> MonoidCoalgebra m -> Ordering #

(<) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool #

(<=) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool #

(>) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool #

(>=) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool #

max :: MonoidCoalgebra m -> MonoidCoalgebra m -> MonoidCoalgebra m #

min :: MonoidCoalgebra m -> MonoidCoalgebra m -> MonoidCoalgebra m #

Show m => Show (MonoidCoalgebra m) Source # |
Methods showsPrec :: Int -> MonoidCoalgebra m -> ShowS # show :: MonoidCoalgebra m -> String # showList :: [MonoidCoalgebra m] -> ShowS #

class Algebra k a => Module k a m where Source #

Minimal complete definition

action

Methods

action :: Vect k (Tensor a m) -> Vect k m Source #

Instances

Algebra k a => Module k a a Source # |
Methods action :: Vect k (Tensor a a) -> Vect k a Source #
(Eq k, Num k) => Module k Mat2 EBasis Source # |
Methods action :: Vect k (Tensor Mat2 EBasis) -> Vect k EBasis Source #
(Eq k, Num k, Ord a, Ord u, Ord v, Bialgebra k a, Module k a u, Module k a v) => Module k a (Tensor u v) Source # |
Methods action :: Vect k (Tensor a (Tensor u v)) -> Vect k (Tensor u v) Source #
(Eq k, Num k, Ord a, Ord u, Ord v, Algebra k a, Module k a u, Module k a v) => Module k (Tensor a a) (Tensor u v) Source # |
Methods action :: Vect k (Tensor (Tensor a a) (Tensor u v)) -> Vect k (Tensor u v) Source #

(*.) :: (Num k, Module k a m) => Vect k a -> Vect k m -> Vect k m Source #

class Coalgebra k c => Comodule k c n where Source #

Minimal complete definition

coaction

Methods

coaction :: Vect k n -> Vect k (Tensor c n) Source #

Instances

Coalgebra k c => Comodule k c c Source # |
Methods coaction :: Vect k c -> Vect k (Tensor c c) Source #
(Eq k, Num k, Ord a, Ord m, Ord n, Bialgebra k a, Comodule k a m, Comodule k a n) => Comodule k a (Tensor m n) Source # |
Methods coaction :: Vect k (Tensor m n) -> Vect k (Tensor a (Tensor m n)) Source #
Comodule (LaurentPoly Q) (M2q String) (Aq20 String) Source # |
Methods coaction :: Vect (LaurentPoly Q) (Aq20 String) -> Vect (LaurentPoly Q) (Tensor (M2q String) (Aq20 String)) Source #

class HasPairing k u v where Source #

A pairing is a non-degenerate bilinear form U x V -> k. We are typically interested in pairings having additional properties. For example:

- A bialgebra pairing is a pairing between bialgebras A and B such that the mult in A is adjoint to the comult in B, and vice versa, and the unit in A is adjoint to the counit in B, and vice versa.
- A Hopf pairing is a bialgebra pairing between Hopf algebras A and B such that the antipodes in A and B are adjoint.

Minimal complete definition

pairing

Methods

pairing :: Vect k (Tensor u v) -> Vect k () Source #

Instances

(Eq k, Num k) => HasPairing k () () Source # |
Methods pairing :: Vect k (Tensor () ()) -> Vect k () Source #
(Eq k, Num k) => HasPairing k NSym QSymM Source # | A duality pairing between NSym and QSymM (monomial basis), showing that NSym and QSym are dual.
Methods pairing :: Vect k (Tensor NSym QSymM) -> Vect k () Source #
(Eq k, Num k) => HasPairing k SymH SymM Source # | A duality pairing between the complete and monomial bases of Sym, showing that Sym is self-dual.
Methods pairing :: Vect k (Tensor SymH SymM) -> Vect k () Source #
(Eq k, Num k) => HasPairing k SSymF SSymF Source # | A pairing showing that SSym is self-adjoint
Methods pairing :: Vect k (Tensor SSymF SSymF) -> Vect k () Source #
(Eq k, Num k) => HasPairing k SSymF (Dual SSymF) Source # |
Methods pairing :: Vect k (Tensor SSymF (Dual SSymF)) -> Vect k () Source #
(Eq k, Num k, HasPairing k u v, HasPairing k u' v') => HasPairing k (Tensor u u') (Tensor v v') Source # |
Methods pairing :: Vect k (Tensor (Tensor u u') (Tensor v v')) -> Vect k () Source #

pairing' :: (Num k, HasPairing k u v) => Vect k u -> Vect k v -> k Source #

The pairing function with a more Haskellish type signature

# Orphan instances

(Eq k, Num k, Eq b, Ord b, Show b, Algebra k b) => Num (Vect k b) Source # |
Methods (+) :: Vect k b -> Vect k b -> Vect k b # (-) :: Vect k b -> Vect k b -> Vect k b # (*) :: Vect k b -> Vect k b -> Vect k b # negate :: Vect k b -> Vect k b # abs :: Vect k b -> Vect k b # signum :: Vect k b -> Vect k b # fromInteger :: Integer -> Vect k b #