Copyright | (c) Erich Gut |
---|---|
License | BSD3 |
Maintainer | zerich.gut@gmail.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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 (<*) :: [x] -> Permutation N -> [x] Source # | |
(Entity i, Ord i) => Opr (Permutation i) (Permutation i) Source # | |
Defined in OAlg.Entity.Sequence.Permutation (<*) :: 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
x
inx
holds:x
where<*
one
u==
xu =
is the singleton element inunit
.Point
f - For all
x
inx
andf
,g
inf
holds: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
x
inx
holds:
whereone
u*>
x==
xu =
is the singleton element inunit
.Point
f - For all
x
inx
andf
,g
inf
holds: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
f
inf
andx
inx
holds.- For all
x
inx
holds:x
.<*
one
(start
x)==
x - For all
x
inx
andf
,g
inf
with
,end
f==
start
x
holds:end
g==
start
fx
.<*
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
f
inf
andx
inx
holds.- For all
x
inx
holds:
.one
(end
x)*>
x==
x - For all
x
inx
andf
,g
inf
with
,start
g==
end
x
holds:start
f==
end
gf
.*>
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 |