Safe Haskell | Safe |
---|---|
Language | Haskell98 |
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 Op b = Op b
- newtype SetCoalgebra b = SC b
- newtype MonoidCoalgebra m = MC m
- class Algebra k a => Module k a m where
- (*.) :: (Module k a m, Num k) => 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
Monoid
Instances
Mon LaurentMonomial Source # | |
Defined in Math.Algebras.LaurentPoly | |
Mon [a] Source # | |
Ord v => Mon (Grevlex v) Source # | |
Ord v => Mon (Glex v) Source # | |
Ord v => Mon (Lex v) Source # | |
Ord v => Mon (MonImpl v) Source # | |
Ord a => Mon (SymmetricAlgebra a) Source # | |
Defined in Math.Algebras.TensorAlgebra munit :: SymmetricAlgebra a Source # mmult :: SymmetricAlgebra a -> SymmetricAlgebra a -> SymmetricAlgebra a Source # | |
Mon (TensorAlgebra a) Source # | |
Defined in Math.Algebras.TensorAlgebra munit :: TensorAlgebra a Source # mmult :: TensorAlgebra a -> TensorAlgebra a -> TensorAlgebra a Source # | |
Mon (NonComMonomial v) Source # | |
Defined in Math.Algebras.NonCommutative munit :: NonComMonomial v Source # mmult :: NonComMonomial v -> NonComMonomial v -> NonComMonomial v Source # | |
(Mon a, Mon b) => Mon (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.
Instances
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.
Instances
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
class Bialgebra k b => HopfAlgebra k b where Source #
Instances
(Eq k, Num k) => HopfAlgebra k NSym Source # | |
(Eq k, Num k) => HopfAlgebra k SymM Source # | |
(Eq k, Num k) => HopfAlgebra k QSymF Source # | |
(Eq k, Num k) => HopfAlgebra k QSymM Source # | |
(Eq k, Num k) => HopfAlgebra k YSymM Source # | |
(Eq k, Num k) => HopfAlgebra k SSymM Source # | |
(Eq k, Num k) => HopfAlgebra k SSymF Source # | |
(Eq k, Num k) => HopfAlgebra k (Permutation Int) Source # | |
Defined in Math.Algebras.GroupAlgebra antipode :: Vect k (Permutation Int) -> Vect k (Permutation Int) Source # | |
(Eq k, Num k, Ord a) => HopfAlgebra k (YSymF a) Source # | |
(Eq k, Num k) => HopfAlgebra k (Dual SSymF) Source # | |
(Eq k, Num k, Ord a) => HopfAlgebra k (Shuffle a) Source # | |
HopfAlgebra Q (SL2 ABCD) Source # | |
HopfAlgebra (LaurentPoly Q) (SL2q String) Source # | |
Defined in Math.QuantumAlgebra.QuantumPlane |
Op b |
newtype SetCoalgebra b Source #
SC b |
Instances
newtype MonoidCoalgebra m Source #
MC m |
Instances
class Algebra k a => Module k a m where Source #
Instances
Algebra k a => Module k a a Source # | |
(Eq k, Num k) => Module k Mat2 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 # | |
(Eq k, Num k) => Module k (Permutation Int) Int Source # | |
(Eq k, Num k) => Module k (Permutation Int) [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 # | |
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.
Instances
(Eq k, Num k) => HasPairing 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. |
(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. |
(Eq k, Num k) => HasPairing k SSymF SSymF Source # | A pairing showing that SSym is self-adjoint |
(Eq k, Num k) => HasPairing k SSymF (Dual SSymF) Source # | |
(Eq k, Num k, HasPairing k u v, HasPairing k u' v') => HasPairing k (Tensor u u') (Tensor v v') 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