| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
OAlg.Structure.Operational
Description
operations on entities by a Multiplicative structure.
Synopsis
- class Opr f x where
- (<*) :: x -> f -> x
- class Opl f x where
- (*>) :: f -> x -> x
- class (Opr f x, Multiplicative f, Total f, Entity x) => TotalOpr f x
- class (Opr f x, Multiplicative f, Total f, Entity x) => TotalOpl f x
- class (Opr f x, Multiplicative f, Oriented x) => OrientedOpr f x
- class (Opl f x, Multiplicative f, Oriented x) => OrientedOpl f x
Operation
right operation of f on x. This class is rather technical, because on this
abstract level it is not possible to define the exact behavior of the operation, i.e.
for which values f and x the expression x is <* fvalid. For a precise
definition see for example TotalOpr or OrientedOpr where the behavior can
be stated.
Instances
| Oriented x => Opr (ColTrafo x) (Matrix x) Source # | |
| Entity x => Opr (Permutation N) (CSequence x) Source # | |
Defined in OAlg.Entity.Sequence.Permutation | |
| Opr (Permutation N) [x] Source # | |
Defined in OAlg.Entity.Sequence.Permutation Methods (<*) :: [x] -> Permutation N -> [x] Source # | |
| (Entity i, Ord i) => Opr (Permutation i) (Permutation i) Source # | |
Defined in OAlg.Entity.Sequence.Permutation Methods (<*) :: Permutation i -> Permutation i -> Permutation i Source # | |
| Entity p => Opr (Permutation N) (Dim x p) Source # | |
Defined in OAlg.Entity.Matrix.Dim | |
| Ord i => Opr (Permutation i) (Col i x) Source # | |
Defined in OAlg.Entity.Matrix.Entries | |
| Ord i => Opr (Permutation i) (PSequence i x) Source # | |
Defined in OAlg.Entity.Sequence.Permutation | |
| Ord j => Opr (Permutation j) (Row j x) Source # | |
Defined in OAlg.Entity.Matrix.Entries | |
left operation of f on x. This class is rather technical, because on this
abstract level it is not possible to define the exact behavior of the operation, i.e.
for which values f and x the expression f is *> xvalid. For a precise
definition see for example TotalOpl or OrientedOpl where the behavior can
be stated.
Total
class (Opr f x, Multiplicative f, Total f, Entity x) => TotalOpr f x Source #
right operation of a Total Multiplicative structure f on x.
Property Let f be a Total Multiplicative structure and x an
instance of Entity, then holds:
- For all
xinxholds:xwhere<*oneu==xu =is the singleton element inunit.Pointf - For all
xinxandf,ginfholds:x.<*f<*g==x<*(f*g)
Note If f is invertible, then it gives rise of a bijection on <* fx
with inverse .<* invert f
Instances
| Entity x => TotalOpr (Permutation N) (CSequence x) Source # | |
Defined in OAlg.Entity.Sequence.Permutation | |
| Entity x => TotalOpr (Permutation N) [x] Source # | |
Defined in OAlg.Entity.Sequence.Permutation | |
| (Entity i, Ord i) => TotalOpr (Permutation i) (Permutation i) Source # | |
Defined in OAlg.Entity.Sequence.Permutation | |
| (Oriented x, Entity p) => TotalOpr (Permutation N) (Dim x p) Source # | |
Defined in OAlg.Entity.Matrix.Dim | |
| (Entity x, Entity i, Ord i) => TotalOpr (Permutation i) (Col i x) Source # | |
Defined in OAlg.Entity.Matrix.Entries | |
| (Entity i, Ord i, Entity x) => TotalOpr (Permutation i) (PSequence i x) Source # | |
Defined in OAlg.Entity.Sequence.Permutation | |
| (Entity x, Entity j, Ord j) => TotalOpr (Permutation j) (Row j x) Source # | |
Defined in OAlg.Entity.Matrix.Entries | |
class (Opr f x, Multiplicative f, Total f, Entity x) => TotalOpl f x Source #
left operation of a Total Multiplicative structure f on x.
Property Let f be a Total Multiplicative structure and x an
instance of Entity, then holds:
- For all
xinxholds:whereoneu*>x==xu =is the singleton element inunit.Pointf - For all
xinxandf,ginfholds:f.*>g*>x==(f*g)*>x
Note If f is invertible, then it gives rise of a bijection f on *>x
with inverse .invert f *>
Oriented
class (Opr f x, Multiplicative f, Oriented x) => OrientedOpr f x Source #
right operation of a Multiplicative structure f on a Oriented structure
x.
Property Let f be a Multiplicative and x a Oriented structure,
then holds:
For all
finfandxinxholds.- For all
xinxholds:x.<*one(startx)==x - For all
xinxandf,ginfwith,endf==startxholds:endg==startfx.<*f<*g==x<*(f*g)
Note If f is invertible, then it rise of a bijection from all
<* fx in x with to all start x == end fy in x with
. Its inverse is given by start y == start f.<* invert f
Instances
| Distributive x => OrientedOpr (ColTrafo x) (Matrix x) Source # | |
Defined in OAlg.Entity.Matrix.Transformation | |
class (Opl f x, Multiplicative f, Oriented x) => OrientedOpl f x Source #
left operation of a Multiplicative structure f on a Oriented structure
x.
Property Let f be a Multiplicative and x a Oriented structure,
and f, x an instance of OrientedOpl, then holds:
For all
finfandxinxholds.- For all
xinxholds:.one(endx)*>x==x - For all
xinxandf,ginfwith,startg==endxholds:startf==endgf.*>g*>x==(f*g)*>x
Note If f is invertible, then it rise of a bijection f from all
*>x in x with to all end x == start fy in x with
. Its inverse is given by end y == end f.invert f *>
Instances
| Distributive x => OrientedOpl (RowTrafo x) (Matrix x) Source # | |
Defined in OAlg.Entity.Matrix.Transformation | |