oalg-base-1.1.4.0: Algebraic structures on oriented entities and limits as a tool kit to solve algebraic problems.
Copyright(c) Erich Gut
LicenseBSD3
Maintainerzerich.gut@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

OAlg.Entity.Diagram.Transformation

Description

natural transformations between Diagrams.

Synopsis

Transformation

data Transformation t n m a Source #

natural transformations between two Diagrams.

Property Let Transformation a b t be in Transformation t n m a for a Multiplicative structure a, then holds

  1. dgQuiver a == dgQuiver b.
  2. For all 0 <= i < n holds: orientation (t i) == p i :> q i where p = dgPoints a and q = dgPoints b.
  3. For all 0 <= j < m holds: t (e j) * f j == g j * t (s j) where f = dgArrows a, g = dgArrows b, s j is the index of the start point of the j-th arrow and e j is the index of the end point.
                   t (s j)
   s j     p (s j) --------> q (s j)
    |         |                 |
  j |     f j |                 | g j
    |         |                 |
    v         v                 v
   e j     p (e j) --------> q (e j)
                   t (e j)

Constructors

Transformation (Diagram t n m a) (Diagram t n m a) (FinList n a) 

Instances

Instances details
Oriented a => Show (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

showsPrec :: Int -> Transformation t n m a -> ShowS #

show :: Transformation t n m a -> String #

showList :: [Transformation t n m a] -> ShowS #

Oriented a => Eq (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

(==) :: Transformation t n m a -> Transformation t n m a -> Bool #

(/=) :: Transformation t n m a -> Transformation t n m a -> Bool #

Multiplicative a => Validable (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

valid :: Transformation t n m a -> Statement Source #

(Multiplicative a, Typeable t, Typeable n, Typeable m) => Entity (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

(Distributive a, Abelian a, Typeable t, Typeable n, Typeable m) => Abelian (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

negate :: Transformation t n m a -> Transformation t n m a Source #

(-) :: Transformation t n m a -> Transformation t n m a -> Transformation t n m a Source #

ztimes :: Z -> Transformation t n m a -> Transformation t n m a Source #

(Distributive a, Typeable t, Typeable n, Typeable m) => Additive (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

zero :: Root (Transformation t n m a) -> Transformation t n m a Source #

(+) :: Transformation t n m a -> Transformation t n m a -> Transformation t n m a Source #

ntimes :: N -> Transformation t n m a -> Transformation t n m a Source #

(Algebraic a, Typeable t, Typeable n, Typeable m) => Algebraic (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

(Distributive a, Typeable t, Typeable n, Typeable m) => Distributive (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

(Distributive a, Typeable t, Typeable n, Typeable m) => Fibred (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Associated Types

type Root (Transformation t n m a) Source #

Methods

root :: Transformation t n m a -> Root (Transformation t n m a) Source #

(Distributive a, Typeable t, Typeable n, Typeable m) => FibredOriented (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

(Multiplicative a, Typeable t, Typeable n, Typeable m) => Multiplicative (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

one :: Point (Transformation t n m a) -> Transformation t n m a Source #

(*) :: Transformation t n m a -> Transformation t n m a -> Transformation t n m a Source #

npower :: Transformation t n m a -> N -> Transformation t n m a Source #

(Multiplicative a, Typeable t, Typeable n, Typeable m) => Oriented (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Associated Types

type Point (Transformation t n m a) Source #

(Distributive a, Vectorial a, Typeable t, Typeable n, Typeable m) => Vectorial (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Associated Types

type Scalar (Transformation t n m a) Source #

Methods

(!) :: Scalar (Transformation t n m a) -> Transformation t n m a -> Transformation t n m a Source #

type Dual (Transformation t n m a :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

type Dual (Transformation t n m a :: Type) = Transformation (Dual t) n m (Op a)
type Root (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

type Root (Transformation t n m a) = Orientation (Diagram t n m a)
type Point (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

type Point (Transformation t n m a) = Diagram t n m a
type Scalar (Transformation t n m a) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

type Scalar (Transformation t n m a) = Scalar a

trfs :: Transformation t n m a -> FinList n a Source #

the underlying list of factors.

Duality

coTransformation :: Transformation t n m a -> Dual (Transformation t n m a) Source #

the dual transformation.