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

Safe HaskellSafe-Infered

Math.Algebras.Structures

Description

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

Synopsis

Documentation

class Mon m whereSource

Monoid

Methods

munit :: mSource

mmult :: m -> m -> mSource

Instances

Mon LaurentMonomial 
Mon [a] 
Mon (NonComMonomial v) 
Ord a => Mon (SymmetricAlgebra a) 
Mon (TensorAlgebra a) 
Ord v => Mon (Grevlex v) 
Ord v => Mon (Glex v) 
Ord v => Mon (Lex v) 
Ord v => Mon (MonImpl v) 
(Mon a, Mon b) => Mon (Elim2 a b) 

class Algebra k b whereSource

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 bSource

mult :: Vect k (Tensor b b) -> Vect k bSource

Instances

(Eq k, Num k) => Algebra k () 
(Eq k, Num k) => Algebra k LaurentMonomial 
(Eq k, Num k) => Algebra k M3 
(Eq k, Num k) => Algebra k Mat2 
(Eq k, Num k) => Algebra k HBasis 
(Eq k, Num k) => Algebra k OBasis 
(Eq k, Num k) => Algebra k QSymF 
(Eq k, Num k) => Algebra k QSymM 
(Eq k, Num k) => Algebra k YSymM 
(Eq k, Num k) => Algebra k SSymM 
(Eq k, Num k) => Algebra k SSymF 
(Eq k, Num k) => Algebra k QNFBasis 
(Eq k, Num k, Ord v) => Algebra k (GlexMonomial v) 
(Eq k, Num k, Ord v) => Algebra k (NonComMonomial v) 
(Eq k, Num k, Ord a) => Algebra k (ExteriorAlgebra a) 
(Eq k, Num k, Ord a) => Algebra k (SymmetricAlgebra a) 
(Eq k, Num k, Ord a) => Algebra k (TensorAlgebra a) 
(Eq k, Num k, Ord v, Show v) => Algebra k (Grevlex v) 
(Eq k, Num k, Ord v, Show v) => Algebra k (Glex v) 
(Eq k, Num k, Ord v, Show v) => Algebra k (Lex v) 
(Eq k, Num k, Ord a) => Algebra k [a] 
(Eq k, Num k) => Algebra k (Permutation Int) 
(Eq k, Num k, Ord a) => Algebra k (YSymF a) 
(Eq k, Num k, Ord a) => Algebra k (Shuffle a) 
(Eq k, Num k, Ord a) => Algebra k (Interval a)

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 ].

Algebra Q (SL2 ABCD) 
(Eq k, Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (Tensor a b)

The tensor product of k-algebras can itself be given the structure of a k-algebra

(Eq k, Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (DSum a b)

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.

(Eq k, Num k, Ord a, Mon a, Ord b, Mon b) => Algebra k (Elim2 a b) 
Algebra (LaurentPoly Q) (SL2q String) 
Algebra (LaurentPoly Q) (M2q String) 
Algebra (LaurentPoly Q) (Aq02 String) 
Algebra (LaurentPoly Q) (Aq20 String) 

class Coalgebra k b whereSource

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 -> kSource

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

Instances

(Eq k, Num k) => Coalgebra k EBasis 
(Eq k, Num k) => Coalgebra k () 
(Eq k, Num k) => Coalgebra k Mat2' 
(Eq k, Num k) => Coalgebra k QSymF 
(Eq k, Num k) => Coalgebra k QSymM 
(Eq k, Num k) => Coalgebra k YSymM 
(Eq k, Num k) => Coalgebra k SSymM 
(Eq k, Num k) => Coalgebra k SSymF 
(Eq k, Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) 
(Eq k, Num k) => Coalgebra k (SetCoalgebra b) 
(Eq k, Num k) => Coalgebra k (GlexMonomial v) 
(Eq k, Num k, Ord c) => Coalgebra k (TensorCoalgebra c) 
(Eq k, Num k) => Coalgebra k (Dual HBasis) 
(Eq k, Num k) => Coalgebra k (Permutation Int) 
(Eq k, Num k, Ord a) => Coalgebra k (YSymF a) 
(Eq k, Num k, Ord a) => Coalgebra k (Shuffle a) 
(Eq k, Num k, Ord a) => Coalgebra k (Interval a) 
Coalgebra Q (SL2 ABCD) 
(Eq k, Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (Tensor a b)

The tensor product of k-coalgebras can itself be given the structure of a k-coalgebra

(Eq k, Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (DSum a b)

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.

Coalgebra (LaurentPoly Q) (SL2q String) 
Coalgebra (LaurentPoly Q) (M2q String) 

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 QSymF 
(Eq k, Num k) => Bialgebra k QSymM 
(Eq k, Num k) => Bialgebra k YSymM 
(Eq k, Num k) => Bialgebra k SSymM 
(Eq k, Num k) => Bialgebra k SSymF 
(Eq k, Num k) => Bialgebra k (Permutation Int) 
(Eq k, Num k, Ord a) => Bialgebra k (YSymF a) 
(Eq k, Num k, Ord a) => Bialgebra k (Shuffle a) 
Bialgebra Q (SL2 ABCD) 
Bialgebra (LaurentPoly Q) (SL2q String) 
Bialgebra (LaurentPoly Q) (M2q String) 

class Bialgebra k b => HopfAlgebra k b whereSource

Methods

antipode :: Vect k b -> Vect k bSource

Instances

(Eq k, Num k) => HopfAlgebra k QSymF 
(Eq k, Num k) => HopfAlgebra k QSymM 
(Eq k, Num k) => HopfAlgebra k YSymM 
(Eq k, Num k) => HopfAlgebra k SSymM 
(Eq k, Num k) => HopfAlgebra k SSymF 
(Eq k, Num k) => HopfAlgebra k (Permutation Int) 
(Eq k, Num k, Ord a) => HopfAlgebra k (YSymF a) 
(Eq k, Num k, Ord a) => HopfAlgebra k (Shuffle a) 
HopfAlgebra Q (SL2 ABCD) 
HopfAlgebra (LaurentPoly Q) (SL2q String) 

unit' :: (Eq k, Num k, Algebra k b) => Trivial k -> Vect k bSource

counit' :: (Eq k, Num k, Coalgebra k b) => Vect k b -> Trivial kSource

newtype SetCoalgebra b Source

Constructors

SC b 

Instances

(Eq k, Num k) => Coalgebra k (SetCoalgebra b) 
Eq b => Eq (SetCoalgebra b) 
Ord b => Ord (SetCoalgebra b) 
Show b => Show (SetCoalgebra b) 

newtype MonoidCoalgebra m Source

Constructors

MC m 

Instances

(Eq k, Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) 
Eq m => Eq (MonoidCoalgebra m) 
Ord m => Ord (MonoidCoalgebra m) 
Show m => Show (MonoidCoalgebra m) 

class Algebra k a => Module k a m whereSource

Methods

action :: Vect k (Tensor a m) -> Vect k mSource

Instances

Algebra k a => Module k a a 
(Eq k, Num k) => Module k Mat2 EBasis 
(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) 
(Eq k, Num k) => Module k (Permutation Int) Int 
(Eq k, Num k) => Module k (Permutation Int) [Int] 
(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) 

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

class Coalgebra k c => Comodule k c n whereSource

Methods

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

Instances

Coalgebra k c => Comodule k c c 
(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) 
Comodule (LaurentPoly Q) (M2q String) (Aq20 String)