HaskellForMaths-0.4.9: 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
  - munit :: m
  - mmult :: m -> m -> m
- class Algebra k b where
  - unit :: k -> Vect k b
  - mult :: Vect k (Tensor b b) -> Vect k b
- unit' :: (Eq k, Num k, Algebra k b) => Vect k () -> Vect k b
- class Coalgebra k b where
  - counit :: Vect k b -> k
  - comult :: Vect k b -> Vect k (Tensor b b)
- 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
  - antipode :: Vect k b -> Vect k b
- newtype Op b = Op b
- newtype SetCoalgebra b = SC b
- newtype MonoidCoalgebra m = MC m
- class Algebra k a => Module k a m where
  - action :: Vect k (Tensor a m) -> Vect k m
- (*.) :: (Module k a m, Num k) => Vect k a -> Vect k m -> Vect k m
- class Coalgebra k c => Comodule k c n where
  - coaction :: Vect k n -> Vect k (Tensor c n)
- class HasPairing k u v where
  - pairing :: Vect k (Tensor u v) -> Vect k ()
- pairing' :: (Num k, HasPairing k u v) => Vect k u -> Vect k v -> k

# Documentation

class Mon m where Source #

Monoid

Methods

munit :: m Source #

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

#### Instances

Instances details

Mon LaurentMonomial Source # |
Instance details Defined in Math.Algebras.LaurentPoly Methods munit :: LaurentMonomial Source # mmult :: LaurentMonomial -> LaurentMonomial -> LaurentMonomial Source #
Mon [a] Source # |
Instance details Defined in Math.QuantumAlgebra.Tangle Methods munit :: [a] Source # mmult :: [a] -> [a] -> [a] Source #
Ord v => Mon (Grevlex v) Source # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial Methods munit :: Grevlex v Source # mmult :: Grevlex v -> Grevlex v -> Grevlex v Source #
Ord v => Mon (Glex v) Source # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial Methods munit :: Glex v Source # mmult :: Glex v -> Glex v -> Glex v Source #
Ord v => Mon (Lex v) Source # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial Methods munit :: Lex v Source # mmult :: Lex v -> Lex v -> Lex v Source #
Ord v => Mon (MonImpl v) Source # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial Methods munit :: MonImpl v Source # mmult :: MonImpl v -> MonImpl v -> MonImpl v Source #
Ord a => Mon (SymmetricAlgebra a) Source # |
Instance details Defined in Math.Algebras.TensorAlgebra Methods munit :: SymmetricAlgebra a Source # mmult :: SymmetricAlgebra a -> SymmetricAlgebra a -> SymmetricAlgebra a Source #
Mon (TensorAlgebra a) Source # |
Instance details Defined in Math.Algebras.TensorAlgebra Methods munit :: TensorAlgebra a Source # mmult :: TensorAlgebra a -> TensorAlgebra a -> TensorAlgebra a Source #
Mon (NonComMonomial v) Source # |
Instance details Defined in Math.Algebras.NonCommutative Methods munit :: NonComMonomial v Source # mmult :: NonComMonomial v -> NonComMonomial v -> NonComMonomial v Source #
(Mon a, Mon b) => Mon (Elim2 a b) Source # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial 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.

Methods

unit :: k -> Vect k b Source #

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

#### Instances

Instances details

(Eq k, Num k) => Algebra k () Source # |
Instance details Defined in Math.Algebras.Structures Methods unit :: k -> Vect k () Source # mult :: Vect k (Tensor () ()) -> Vect k () Source #
(Eq k, Num k) => Algebra k HBasis Source # |
Instance details Defined in Math.Algebras.Quaternions Methods unit :: k -> Vect k HBasis Source # mult :: Vect k (Tensor HBasis HBasis) -> Vect k HBasis Source #
(Eq k, Num k) => Algebra k NSym Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods unit :: k -> Vect k SSymF Source # mult :: Vect k (Tensor SSymF SSymF) -> Vect k SSymF Source #
(Eq k, Num k) => Algebra k OBasis Source # |
Instance details Defined in Math.Algebras.Octonions Methods unit :: k -> Vect k OBasis Source # mult :: Vect k (Tensor OBasis OBasis) -> Vect k OBasis Source #
(Eq k, Num k) => Algebra k M3 Source # |
Instance details Defined in Math.Algebras.Matrix 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 # |
Instance details Defined in Math.Algebras.Matrix Methods unit :: k -> Vect k Mat2 Source # mult :: Vect k (Tensor Mat2 Mat2) -> Vect k Mat2 Source #
(Eq k, Num k) => Algebra k LaurentMonomial Source # |
Instance details Defined in Math.Algebras.LaurentPoly Methods unit :: k -> Vect k LaurentMonomial Source # mult :: Vect k (Tensor LaurentMonomial LaurentMonomial) -> Vect k LaurentMonomial Source #
(Eq k, Num k) => Algebra k QNFBasis Source # |
Instance details Defined in Math.NumberTheory.QuadraticField Methods unit :: k -> Vect k QNFBasis Source # mult :: Vect k (Tensor QNFBasis QNFBasis) -> Vect k QNFBasis Source #
(Eq k, Num k, Ord b, Algebra k b) => Algebra k (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods unit :: k -> Vect k (Op b) Source # mult :: Vect k (Tensor (Op b) (Op b)) -> Vect k (Op b) Source #
(Eq k, Num k, Ord v, Show v) => Algebra k (Grevlex v) Source # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial 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 # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial 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 # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial 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) => Algebra k (Permutation Int) Source # |
Instance details Defined in Math.Algebras.GroupAlgebra Methods unit :: k -> Vect k (Permutation Int) Source # mult :: Vect k (Tensor (Permutation Int) (Permutation Int)) -> Vect k (Permutation Int) Source #
(Eq k, Num k, Ord a) => Algebra k (YSymF a) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 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 ].

Instance details Defined in Math.Combinatorics.IncidenceAlgebra Methods unit :: k -> Vect k (Interval a) Source # mult :: Vect k (Tensor (Interval a) (Interval a)) -> Vect k (Interval a) Source #
(Eq k, Num k, Ord a) => Algebra k (ExteriorAlgebra a) Source # |
Instance details Defined in Math.Algebras.TensorAlgebra 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 # |
Instance details Defined in Math.Algebras.TensorAlgebra 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 # |
Instance details Defined in Math.Algebras.TensorAlgebra 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 v) => Algebra k (NonComMonomial v) Source # |
Instance details Defined in Math.Algebras.NonCommutative 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 v) => Algebra k (GlexMonomial v) Source # |
Instance details Defined in Math.Algebras.Commutative 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 a) => Algebra k [a] Source # |
Instance details Defined in Math.QuantumAlgebra.Tangle Methods unit :: k -> Vect k [a] Source # mult :: Vect k (Tensor [a] [a]) -> Vect k [a] Source #
Algebra Q (SL2 ABCD) Source # |
Instance details Defined in Math.Algebras.AffinePlane 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
Instance details Defined in Math.Algebras.Structures 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.
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details Defined in Math.CommutativeAlgebra.Polynomial 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 # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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 # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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 # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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 # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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.

Methods

counit :: Vect k b -> k Source #

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

#### Instances

Instances details

(Eq k, Num k) => Coalgebra k EBasis Source # |
Instance details Defined in Math.Algebras.Structures Methods counit :: Vect k EBasis -> k Source # comult :: Vect k EBasis -> Vect k (Tensor EBasis EBasis) Source #
(Eq k, Num k) => Coalgebra k () Source # |
Instance details Defined in Math.Algebras.Structures Methods counit :: Vect k () -> k Source # comult :: Vect k () -> Vect k (Tensor () ()) Source #
(Eq k, Num k) => Coalgebra k NSym Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Algebras.Matrix 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 # |
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details Defined in Math.Algebras.Structures 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, Ord b, Coalgebra k b) => Coalgebra k (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods counit :: Vect k (Op b) -> k Source # comult :: Vect k (Op b) -> Vect k (Tensor (Op b) (Op b)) Source #
(Eq k, Num k) => Coalgebra k (Dual HBasis) Source # |
Instance details Defined in Math.Algebras.Quaternions 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) => Coalgebra k (Permutation Int) Source # |
Instance details Defined in Math.Algebras.GroupAlgebra Methods counit :: Vect k (Permutation Int) -> k Source # comult :: Vect k (Permutation Int) -> Vect k (Tensor (Permutation Int) (Permutation Int)) Source #
(Eq k, Num k, Ord a) => Coalgebra k (YSymF a) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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, Ord a) => Coalgebra k (Interval a) Source # |
Instance details Defined in Math.Combinatorics.IncidenceAlgebra Methods counit :: Vect k (Interval a) -> k Source # comult :: Vect k (Interval a) -> Vect k (Tensor (Interval a) (Interval a)) Source #
(Eq k, Num k, Ord c) => Coalgebra k (TensorCoalgebra c) Source # |
Instance details Defined in Math.Algebras.TensorAlgebra 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) => Coalgebra k (GlexMonomial v) Source # |
Instance details Defined in Math.Algebras.Commutative Methods counit :: Vect k (GlexMonomial v) -> k Source # comult :: Vect k (GlexMonomial v) -> Vect k (Tensor (GlexMonomial v) (GlexMonomial v)) Source #
Coalgebra Q (SL2 ABCD) Source # |
Instance details Defined in Math.Algebras.AffinePlane 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
Instance details Defined in Math.Algebras.Structures 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.
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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 # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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

Instances details

(Eq k, Num k) => Bialgebra k NSym Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k SymH Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k SymE Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k SymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k QSymF Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k QSymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k YSymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k SSymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k SSymF Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k (Permutation Int) Source # |
Instance details Defined in Math.Algebras.GroupAlgebra
(Eq k, Num k, Ord a) => Bialgebra k (YSymF a) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k) => Bialgebra k (Dual SSymF) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
(Eq k, Num k, Ord a) => Bialgebra k (Shuffle a) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra
Bialgebra Q (SL2 ABCD) Source # |
Instance details Defined in Math.Algebras.AffinePlane
Bialgebra (LaurentPoly Q) (SL2q String) Source # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane
Bialgebra (LaurentPoly Q) (M2q String) Source # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane

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

Methods

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

#### Instances

Instances details

(Eq k, Num k) => HopfAlgebra k NSym Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k NSym -> Vect k NSym Source #
(Eq k, Num k) => HopfAlgebra k SymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k SymM -> Vect k SymM Source #
(Eq k, Num k) => HopfAlgebra k QSymF Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k QSymF -> Vect k QSymF Source #
(Eq k, Num k) => HopfAlgebra k QSymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k QSymM -> Vect k QSymM Source #
(Eq k, Num k) => HopfAlgebra k YSymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k YSymM -> Vect k YSymM Source #
(Eq k, Num k) => HopfAlgebra k SSymM Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k SSymM -> Vect k SSymM Source #
(Eq k, Num k) => HopfAlgebra k SSymF Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k SSymF -> Vect k SSymF Source #
(Eq k, Num k) => HopfAlgebra k (Permutation Int) Source # |
Instance details Defined in Math.Algebras.GroupAlgebra Methods antipode :: Vect k (Permutation Int) -> Vect k (Permutation Int) Source #
(Eq k, Num k, Ord a) => HopfAlgebra k (YSymF a) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k (YSymF a) -> Vect k (YSymF a) Source #
(Eq k, Num k) => HopfAlgebra k (Dual SSymF) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k (Dual SSymF) -> Vect k (Dual SSymF) Source #
(Eq k, Num k, Ord a) => HopfAlgebra k (Shuffle a) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods antipode :: Vect k (Shuffle a) -> Vect k (Shuffle a) Source #
HopfAlgebra Q (SL2 ABCD) Source # |
Instance details Defined in Math.Algebras.AffinePlane Methods antipode :: Vect Q (SL2 ABCD) -> Vect Q (SL2 ABCD) Source #
HopfAlgebra (LaurentPoly Q) (SL2q String) Source # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane Methods antipode :: Vect (LaurentPoly Q) (SL2q String) -> Vect (LaurentPoly Q) (SL2q String) Source #

newtype Op b Source #

Constructors

Op b |

#### Instances

Instances details

(Eq k, Num k, Ord b, Coalgebra k b) => Coalgebra k (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods counit :: Vect k (Op b) -> k Source # comult :: Vect k (Op b) -> Vect k (Tensor (Op b) (Op b)) Source #
(Eq k, Num k, Ord b, Algebra k b) => Algebra k (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods unit :: k -> Vect k (Op b) Source # mult :: Vect k (Tensor (Op b) (Op b)) -> Vect k (Op b) Source #
Eq b => Eq (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods (==) :: Op b -> Op b -> Bool (/=) :: Op b -> Op b -> Bool
Ord b => Ord (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods compare :: Op b -> Op b -> Ordering (<) :: Op b -> Op b -> Bool (<=) :: Op b -> Op b -> Bool (>) :: Op b -> Op b -> Bool (>=) :: Op b -> Op b -> Bool max :: Op b -> Op b -> Op b min :: Op b -> Op b -> Op b
Show b => Show (Op b) Source # |
Instance details Defined in Math.Algebras.Structures Methods showsPrec :: Int -> Op b -> ShowS show :: Op b -> String showList :: [Op b] -> ShowS

newtype SetCoalgebra b Source #

Constructors

SC b |

#### Instances

Instances details

(Eq k, Num k) => Coalgebra k (SetCoalgebra b) Source # |
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details Defined in Math.Algebras.Structures Methods (==) :: SetCoalgebra b -> SetCoalgebra b -> Bool (/=) :: SetCoalgebra b -> SetCoalgebra b -> Bool
Ord b => Ord (SetCoalgebra b) Source # |

Instance details

Defined in Math.Algebras.Structures

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 # |
Instance details Defined in Math.Algebras.Structures Methods showsPrec :: Int -> SetCoalgebra b -> ShowS show :: SetCoalgebra b -> String showList :: [SetCoalgebra b] -> ShowS

newtype MonoidCoalgebra m Source #

Constructors

MC m |

#### Instances

Instances details

(Eq k, Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) Source # |
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details Defined in Math.Algebras.Structures Methods (==) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool (/=) :: MonoidCoalgebra m -> MonoidCoalgebra m -> Bool
Ord m => Ord (MonoidCoalgebra m) Source # |

Instance details

Defined in Math.Algebras.Structures

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 # |
Instance details Defined in Math.Algebras.Structures Methods showsPrec :: Int -> MonoidCoalgebra m -> ShowS show :: MonoidCoalgebra m -> String showList :: [MonoidCoalgebra m] -> ShowS

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

Methods

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

#### Instances

Instances details

Algebra k a => Module k a a Source # |
Instance details Defined in Math.Algebras.Structures Methods action :: Vect k (Tensor a a) -> Vect k a Source #
(Eq k, Num k) => Module k Mat2 EBasis Source # |
Instance details Defined in Math.Algebras.Matrix 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 # |
Instance details Defined in Math.Algebras.Structures Methods action :: Vect k (Tensor a (Tensor u v)) -> Vect k (Tensor u v) Source #
(Eq k, Num k) => Module k (Permutation Int) Int Source # |
Instance details Defined in Math.Algebras.GroupAlgebra Methods action :: Vect k (Tensor (Permutation Int) Int) -> Vect k Int Source #
(Eq k, Num k) => Module k (Permutation Int) [Int] Source # |
Instance details Defined in Math.Algebras.GroupAlgebra Methods action :: Vect k (Tensor (Permutation Int) [Int]) -> Vect k [Int] 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 # |
Instance details Defined in Math.Algebras.Structures Methods action :: Vect k (Tensor (Tensor a a) (Tensor u v)) -> Vect k (Tensor u v) Source #

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

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

Methods

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

#### Instances

Instances details

Coalgebra k c => Comodule k c c Source # |
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details Defined in Math.Algebras.Structures Methods coaction :: Vect k (Tensor m n) -> Vect k (Tensor a (Tensor m n)) Source #
Comodule (LaurentPoly Q) (M2q String) (Aq20 String) Source # |
Instance details Defined in Math.QuantumAlgebra.QuantumPlane 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.

Methods

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

#### Instances

Instances details

(Eq k, Num k) => HasPairing k () () Source # |
Instance details Defined in Math.Algebras.Structures 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.
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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.
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra Methods pairing :: Vect k (Tensor SSymF SSymF) -> Vect k () Source #
(Eq k, Num k) => HasPairing k SSymF (Dual SSymF) Source # |
Instance details Defined in Math.Combinatorics.CombinatorialHopfAlgebra 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 # |
Instance details Defined in Math.Algebras.Structures 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 # |
Instance details 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