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

Safe Haskell | Safe
Language | Haskell98

Math.QuantumAlgebra.TensorCategory

Description

A module defining classes and example instances of categories, monoidal categories and braided categories

# Documentation

class MCategory c where Source #

Minimal complete definition

id_, source, target, (>>>)

Associated Types

data Ob c :: * Source #

data Ar c :: * Source #

Methods

id_ :: Ob c -> Ar c Source #

source, target :: Ar c -> Ob c Source #

(>>>) :: Ar c -> Ar c -> Ar c Source #

Instances

MCategory Cob2 Source # |
Associated Types data Ob Cob2 :: * Source # data Ar Cob2 :: * Source # Methods id_ :: Ob Cob2 -> Ar Cob2 Source # source :: Ar Cob2 -> Ob Cob2 Source # target :: Ar Cob2 -> Ob Cob2 Source # (>>>) :: Ar Cob2 -> Ar Cob2 -> Ar Cob2 Source #
MCategory Braid Source # |
Associated Types data Ob Braid :: * Source # data Ar Braid :: * Source # Methods id_ :: Ob Braid -> Ar Braid Source # source :: Ar Braid -> Ob Braid Source # target :: Ar Braid -> Ob Braid Source # (>>>) :: Ar Braid -> Ar Braid -> Ar Braid Source #
MCategory FinCard Source # |
Associated Types data Ob FinCard :: * Source # data Ar FinCard :: * Source # Methods id_ :: Ob FinCard -> Ar FinCard Source # source :: Ar FinCard -> Ob FinCard Source # target :: Ar FinCard -> Ob FinCard Source # (>>>) :: Ar FinCard -> Ar FinCard -> Ar FinCard Source #
MCategory FinOrd Source # |
Associated Types data Ob FinOrd :: * Source # data Ar FinOrd :: * Source # Methods id_ :: Ob FinOrd -> Ar FinOrd Source # source :: Ar FinOrd -> Ob FinOrd Source # target :: Ar FinOrd -> Ob FinOrd Source # (>>>) :: Ar FinOrd -> Ar FinOrd -> Ar FinOrd Source #
MCategory OrientedTangle Source # |
Associated Types data Ob OrientedTangle :: * Source # data Ar OrientedTangle :: * Source # Methods id_ :: Ob OrientedTangle -> Ar OrientedTangle Source # source :: Ar OrientedTangle -> Ob OrientedTangle Source # target :: Ar OrientedTangle -> Ob OrientedTangle Source # (>>>) :: Ar OrientedTangle -> Ar OrientedTangle -> Ar OrientedTangle Source #
MCategory Tangle Source # |
Associated Types data Ob Tangle :: * Source # data Ar Tangle :: * Source # Methods id_ :: Ob Tangle -> Ar Tangle Source # source :: Ar Tangle -> Ob Tangle Source # target :: Ar Tangle -> Ob Tangle Source # (>>>) :: Ar Tangle -> Ar Tangle -> Ar Tangle Source #
Num k => MCategory (Vect k) Source # |
Associated Types data Ob (Vect k) :: * Source # data Ar (Vect k) :: * Source # Methods id_ :: Ob (Vect k) -> Ar (Vect k) Source # source :: Ar (Vect k) -> Ob (Vect k) Source # target :: Ar (Vect k) -> Ob (Vect k) Source # (>>>) :: Ar (Vect k) -> Ar (Vect k) -> Ar (Vect k) Source #

class (MCategory a, MCategory b) => MFunctor a b where Source #

Minimal complete definition

fob, far

Methods

fob :: Ob a -> Ob b Source #

far :: Ar a -> Ar b Source #

Instances

MFunctor Braid FinCard Source # |
Methods fob :: Ob Braid -> Ob FinCard Source # far :: Ar Braid -> Ar FinCard Source #
MFunctor FinOrd FinCard Source # |
Methods fob :: Ob FinOrd -> Ob FinCard Source # far :: Ar FinOrd -> Ar FinCard Source #

class MCategory c => Monoidal c where Source #

Minimal complete definition

tunit, tob, tar

Methods

tunit :: Ob c Source #

tob :: Ob c -> Ob c -> Ob c Source #

tar :: Ar c -> Ar c -> Ar c Source #

Instances

Monoidal Cob2 Source # |
Methods tunit :: Ob Cob2 Source # tob :: Ob Cob2 -> Ob Cob2 -> Ob Cob2 Source # tar :: Ar Cob2 -> Ar Cob2 -> Ar Cob2 Source #
Monoidal Braid Source # |
Methods tunit :: Ob Braid Source # tob :: Ob Braid -> Ob Braid -> Ob Braid Source # tar :: Ar Braid -> Ar Braid -> Ar Braid Source #
Monoidal FinCard Source # |
Methods tunit :: Ob FinCard Source # tob :: Ob FinCard -> Ob FinCard -> Ob FinCard Source # tar :: Ar FinCard -> Ar FinCard -> Ar FinCard Source #
Monoidal FinOrd Source # |
Methods tunit :: Ob FinOrd Source # tob :: Ob FinOrd -> Ob FinOrd -> Ob FinOrd Source # tar :: Ar FinOrd -> Ar FinOrd -> Ar FinOrd Source #
Monoidal OrientedTangle Source # |
Methods tunit :: Ob OrientedTangle Source # tob :: Ob OrientedTangle -> Ob OrientedTangle -> Ob OrientedTangle Source # tar :: Ar OrientedTangle -> Ar OrientedTangle -> Ar OrientedTangle Source #
Monoidal Tangle Source # |
Methods tunit :: Ob Tangle Source # tob :: Ob Tangle -> Ob Tangle -> Ob Tangle Source # tar :: Ar Tangle -> Ar Tangle -> Ar Tangle Source #

class Monoidal c => StrictMonoidal c Source #

class Monoidal c => WeakMonoidal c where Source #

Minimal complete definition

assoc, lunit, runit

Methods

assoc :: Ob c -> Ob c -> Ob c -> Ar c Source #

lunit :: Ob c -> Ar c Source #

runit :: Ob c -> Ar c Source #

class Monoidal c => Braided c where Source #

Minimal complete definition

twist

Methods

twist :: Ob c -> Ob c -> Ar c Source #

Instances

Braided Braid Source # |
Methods twist :: Ob Braid -> Ob Braid -> Ar Braid Source #

class Braided c => Symmetric c Source #

data FinOrd Source #

Instances

Monoidal FinOrd Source # |
Methods tunit :: Ob FinOrd Source # tob :: Ob FinOrd -> Ob FinOrd -> Ob FinOrd Source # tar :: Ar FinOrd -> Ar FinOrd -> Ar FinOrd Source #
MCategory FinOrd Source # |
Associated Types data Ob FinOrd :: * Source # data Ar FinOrd :: * Source # Methods id_ :: Ob FinOrd -> Ar FinOrd Source # source :: Ar FinOrd -> Ob FinOrd Source # target :: Ar FinOrd -> Ob FinOrd Source # (>>>) :: Ar FinOrd -> Ar FinOrd -> Ar FinOrd Source #
MFunctor FinOrd FinCard Source # |
Methods fob :: Ob FinOrd -> Ob FinCard Source # far :: Ar FinOrd -> Ar FinCard Source #
Eq (Ob FinOrd) Source # |
Methods (==) :: Ob FinOrd -> Ob FinOrd -> Bool # (/=) :: Ob FinOrd -> Ob FinOrd -> Bool #
Eq (Ar FinOrd) Source # |
Methods (==) :: Ar FinOrd -> Ar FinOrd -> Bool # (/=) :: Ar FinOrd -> Ar FinOrd -> Bool #
Ord (Ob FinOrd) Source # |
Methods compare :: Ob FinOrd -> Ob FinOrd -> Ordering # (<) :: Ob FinOrd -> Ob FinOrd -> Bool # (<=) :: Ob FinOrd -> Ob FinOrd -> Bool # (>) :: Ob FinOrd -> Ob FinOrd -> Bool # (>=) :: Ob FinOrd -> Ob FinOrd -> Bool # max :: Ob FinOrd -> Ob FinOrd -> Ob FinOrd # min :: Ob FinOrd -> Ob FinOrd -> Ob FinOrd #
Ord (Ar FinOrd) Source # |
Methods compare :: Ar FinOrd -> Ar FinOrd -> Ordering # (<) :: Ar FinOrd -> Ar FinOrd -> Bool # (<=) :: Ar FinOrd -> Ar FinOrd -> Bool # (>) :: Ar FinOrd -> Ar FinOrd -> Bool # (>=) :: Ar FinOrd -> Ar FinOrd -> Bool # max :: Ar FinOrd -> Ar FinOrd -> Ar FinOrd # min :: Ar FinOrd -> Ar FinOrd -> Ar FinOrd #
Show (Ob FinOrd) Source # |
Methods showsPrec :: Int -> Ob FinOrd -> ShowS # show :: Ob FinOrd -> String # showList :: [Ob FinOrd] -> ShowS #
Show (Ar FinOrd) Source # |
Methods showsPrec :: Int -> Ar FinOrd -> ShowS # show :: Ar FinOrd -> String # showList :: [Ar FinOrd] -> ShowS #
data Ob FinOrd Source # |
data Ob FinOrd = FinOrdOb Int
data Ar FinOrd Source # |
data Ar FinOrd = FinOrdAr Int Int [Int]

finOrdAr :: Int -> Int -> [Int] -> Ar FinOrd Source #

data FinCard Source #

Instances

Monoidal FinCard Source # |
Methods tunit :: Ob FinCard Source # tob :: Ob FinCard -> Ob FinCard -> Ob FinCard Source # tar :: Ar FinCard -> Ar FinCard -> Ar FinCard Source #
MCategory FinCard Source # |
Associated Types data Ob FinCard :: * Source # data Ar FinCard :: * Source # Methods id_ :: Ob FinCard -> Ar FinCard Source # source :: Ar FinCard -> Ob FinCard Source # target :: Ar FinCard -> Ob FinCard Source # (>>>) :: Ar FinCard -> Ar FinCard -> Ar FinCard Source #
MFunctor Braid FinCard Source # |
Methods fob :: Ob Braid -> Ob FinCard Source # far :: Ar Braid -> Ar FinCard Source #
MFunctor FinOrd FinCard Source # |
Methods fob :: Ob FinOrd -> Ob FinCard Source # far :: Ar FinOrd -> Ar FinCard Source #
Eq (Ob FinCard) Source # |
Methods (==) :: Ob FinCard -> Ob FinCard -> Bool # (/=) :: Ob FinCard -> Ob FinCard -> Bool #
Eq (Ar FinCard) Source # |
Methods (==) :: Ar FinCard -> Ar FinCard -> Bool # (/=) :: Ar FinCard -> Ar FinCard -> Bool #
Ord (Ob FinCard) Source # |
Methods compare :: Ob FinCard -> Ob FinCard -> Ordering # (<) :: Ob FinCard -> Ob FinCard -> Bool # (<=) :: Ob FinCard -> Ob FinCard -> Bool # (>) :: Ob FinCard -> Ob FinCard -> Bool # (>=) :: Ob FinCard -> Ob FinCard -> Bool # max :: Ob FinCard -> Ob FinCard -> Ob FinCard # min :: Ob FinCard -> Ob FinCard -> Ob FinCard #
Ord (Ar FinCard) Source # |
Methods compare :: Ar FinCard -> Ar FinCard -> Ordering # (<) :: Ar FinCard -> Ar FinCard -> Bool # (<=) :: Ar FinCard -> Ar FinCard -> Bool # (>) :: Ar FinCard -> Ar FinCard -> Bool # (>=) :: Ar FinCard -> Ar FinCard -> Bool # max :: Ar FinCard -> Ar FinCard -> Ar FinCard # min :: Ar FinCard -> Ar FinCard -> Ar FinCard #
Show (Ob FinCard) Source # |
Methods showsPrec :: Int -> Ob FinCard -> ShowS # show :: Ob FinCard -> String # showList :: [Ob FinCard] -> ShowS #
Show (Ar FinCard) Source # |
Methods showsPrec :: Int -> Ar FinCard -> ShowS # show :: Ar FinCard -> String # showList :: [Ar FinCard] -> ShowS #
data Ob FinCard Source # |
data Ob FinCard = FinCardOb Int
data Ar FinCard Source # |
data Ar FinCard = FinCardAr Int Int [Int]

finCardAr :: Int -> Int -> [Int] -> Ar FinCard Source #

finPerm :: [Int] -> Ar FinCard Source #

data Braid Source #

Instances

Braided Braid Source # |
Methods twist :: Ob Braid -> Ob Braid -> Ar Braid Source #
Monoidal Braid Source # |
Methods tunit :: Ob Braid Source # tob :: Ob Braid -> Ob Braid -> Ob Braid Source # tar :: Ar Braid -> Ar Braid -> Ar Braid Source #
MCategory Braid Source # |
Associated Types data Ob Braid :: * Source # data Ar Braid :: * Source # Methods id_ :: Ob Braid -> Ar Braid Source # source :: Ar Braid -> Ob Braid Source # target :: Ar Braid -> Ob Braid Source # (>>>) :: Ar Braid -> Ar Braid -> Ar Braid Source #
MFunctor Braid FinCard Source # |
Methods fob :: Ob Braid -> Ob FinCard Source # far :: Ar Braid -> Ar FinCard Source #
Eq (Ob Braid) Source # |
Methods (==) :: Ob Braid -> Ob Braid -> Bool # (/=) :: Ob Braid -> Ob Braid -> Bool #
Eq (Ar Braid) Source # |
Methods (==) :: Ar Braid -> Ar Braid -> Bool # (/=) :: Ar Braid -> Ar Braid -> Bool #
Ord (Ob Braid) Source # |
Methods compare :: Ob Braid -> Ob Braid -> Ordering # (<) :: Ob Braid -> Ob Braid -> Bool # (<=) :: Ob Braid -> Ob Braid -> Bool # (>) :: Ob Braid -> Ob Braid -> Bool # (>=) :: Ob Braid -> Ob Braid -> Bool # max :: Ob Braid -> Ob Braid -> Ob Braid # min :: Ob Braid -> Ob Braid -> Ob Braid #
Ord (Ar Braid) Source # |
Methods compare :: Ar Braid -> Ar Braid -> Ordering # (<) :: Ar Braid -> Ar Braid -> Bool # (<=) :: Ar Braid -> Ar Braid -> Bool # (>) :: Ar Braid -> Ar Braid -> Bool # (>=) :: Ar Braid -> Ar Braid -> Bool # max :: Ar Braid -> Ar Braid -> Ar Braid # min :: Ar Braid -> Ar Braid -> Ar Braid #
Show (Ob Braid) Source # |
Methods showsPrec :: Int -> Ob Braid -> ShowS # show :: Ob Braid -> String # showList :: [Ob Braid] -> ShowS #
Show (Ar Braid) Source # |
Methods showsPrec :: Int -> Ar Braid -> ShowS # show :: Ar Braid -> String # showList :: [Ar Braid] -> ShowS #
data Ob Braid Source # |
data Ob Braid = BraidOb Int
data Ar Braid Source # |
data Ar Braid = BraidAr Int [Int]

t :: Int -> Int -> Ar Braid Source #

t' :: Int -> Int -> Ar Braid Source #

data Vect k Source #

Instances

Eq (Ob (Vect k)) Source # |
Methods (==) :: Ob (Vect k) -> Ob (Vect k) -> Bool # (/=) :: Ob (Vect k) -> Ob (Vect k) -> Bool #
Eq (Ar (Vect k)) Source # |
Methods (==) :: Ar (Vect k) -> Ar (Vect k) -> Bool # (/=) :: Ar (Vect k) -> Ar (Vect k) -> Bool #
Ord (Ob (Vect k)) Source # |
Methods compare :: Ob (Vect k) -> Ob (Vect k) -> Ordering # (<) :: Ob (Vect k) -> Ob (Vect k) -> Bool # (<=) :: Ob (Vect k) -> Ob (Vect k) -> Bool # (>) :: Ob (Vect k) -> Ob (Vect k) -> Bool # (>=) :: Ob (Vect k) -> Ob (Vect k) -> Bool # max :: Ob (Vect k) -> Ob (Vect k) -> Ob (Vect k) # min :: Ob (Vect k) -> Ob (Vect k) -> Ob (Vect k) #
Ord (Ar (Vect k)) Source # |
Methods compare :: Ar (Vect k) -> Ar (Vect k) -> Ordering # (<) :: Ar (Vect k) -> Ar (Vect k) -> Bool # (<=) :: Ar (Vect k) -> Ar (Vect k) -> Bool # (>) :: Ar (Vect k) -> Ar (Vect k) -> Bool # (>=) :: Ar (Vect k) -> Ar (Vect k) -> Bool # max :: Ar (Vect k) -> Ar (Vect k) -> Ar (Vect k) # min :: Ar (Vect k) -> Ar (Vect k) -> Ar (Vect k) #
Show (Ob (Vect k)) Source # |
Methods showsPrec :: Int -> Ob (Vect k) -> ShowS # show :: Ob (Vect k) -> String # showList :: [Ob (Vect k)] -> ShowS #
Show (Ar (Vect k)) Source # |
Methods showsPrec :: Int -> Ar (Vect k) -> ShowS # show :: Ar (Vect k) -> String # showList :: [Ar (Vect k)] -> ShowS #
Num k => MCategory (Vect k) Source # |
Associated Types data Ob (Vect k) :: * Source # data Ar (Vect k) :: * Source # Methods id_ :: Ob (Vect k) -> Ar (Vect k) Source # source :: Ar (Vect k) -> Ob (Vect k) Source # target :: Ar (Vect k) -> Ob (Vect k) Source # (>>>) :: Ar (Vect k) -> Ar (Vect k) -> Ar (Vect k) Source #
data Ob (Vect k) Source # |
data Ob (Vect k) = VectOb Int
data Ar (Vect k) Source # |
data Ar (Vect k) = VectAr Int Int [[Int]]

data Cob2 Source #

Instances

Monoidal Cob2 Source # |
Methods tunit :: Ob Cob2 Source # tob :: Ob Cob2 -> Ob Cob2 -> Ob Cob2 Source # tar :: Ar Cob2 -> Ar Cob2 -> Ar Cob2 Source #
MCategory Cob2 Source # |
Associated Types data Ob Cob2 :: * Source # data Ar Cob2 :: * Source # Methods id_ :: Ob Cob2 -> Ar Cob2 Source # source :: Ar Cob2 -> Ob Cob2 Source # target :: Ar Cob2 -> Ob Cob2 Source # (>>>) :: Ar Cob2 -> Ar Cob2 -> Ar Cob2 Source #
Eq (Ob Cob2) Source # |
Methods (==) :: Ob Cob2 -> Ob Cob2 -> Bool # (/=) :: Ob Cob2 -> Ob Cob2 -> Bool #
Eq (Ar Cob2) Source # |
Methods (==) :: Ar Cob2 -> Ar Cob2 -> Bool # (/=) :: Ar Cob2 -> Ar Cob2 -> Bool #
Ord (Ob Cob2) Source # |
Methods compare :: Ob Cob2 -> Ob Cob2 -> Ordering # (<) :: Ob Cob2 -> Ob Cob2 -> Bool # (<=) :: Ob Cob2 -> Ob Cob2 -> Bool # (>) :: Ob Cob2 -> Ob Cob2 -> Bool # (>=) :: Ob Cob2 -> Ob Cob2 -> Bool # max :: Ob Cob2 -> Ob Cob2 -> Ob Cob2 # min :: Ob Cob2 -> Ob Cob2 -> Ob Cob2 #
Ord (Ar Cob2) Source # |
Methods compare :: Ar Cob2 -> Ar Cob2 -> Ordering # (<) :: Ar Cob2 -> Ar Cob2 -> Bool # (<=) :: Ar Cob2 -> Ar Cob2 -> Bool # (>) :: Ar Cob2 -> Ar Cob2 -> Bool # (>=) :: Ar Cob2 -> Ar Cob2 -> Bool # max :: Ar Cob2 -> Ar Cob2 -> Ar Cob2 # min :: Ar Cob2 -> Ar Cob2 -> Ar Cob2 #
Show (Ob Cob2) Source # |
Methods showsPrec :: Int -> Ob Cob2 -> ShowS # show :: Ob Cob2 -> String # showList :: [Ob Cob2] -> ShowS #
Show (Ar Cob2) Source # |
Methods showsPrec :: Int -> Ar Cob2 -> ShowS # show :: Ar Cob2 -> String # showList :: [Ar Cob2] -> ShowS #
data Ob Cob2 Source # |
data Ob Cob2 = O Int
data Ar Cob2 Source # |

data Ar Cob2

- = Id Int
- | Unit
- | Mult
- | Counit
- | Comult
- | Par (Ar Cob2) (Ar Cob2)
- | Seq (Ar Cob2) (Ar Cob2)

rewrite :: Ar Cob2 -> Ar Cob2 Source #