oalg-base-3.0.0.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 HaskellNone
LanguageHaskell2010

OAlg.Structure.Algebraic.Definition

Description

definition of algebraic structures, i.e. Distributive structures with a suitable Vectorial structure.

Synopsis

Algebraic

class (Distributive a, Vectorial a) => Algebraic a Source #

Distributive structures with a suitable Vectorial structure.

Property Let a be a Algebraic structure, then holds:

  1. For all r in Scalar a and a, b in a with start a == end b holds: r!(a*b) == (r!a)*b and r!(a*b) == a*(r!b).

Instances

Instances details
Algebraic N Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic Q Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic Z Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic Integer Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic () Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic Int Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic x => Algebraic (Matrix x) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

Algebraic a => Algebraic (Op a) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Entity p => Algebraic (Orientation p) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

(Semiring r, Commutative r, Multiplicative m, FibredOriented m, Ord m) => Algebraic (Sum r m) Source # 
Instance details

Defined in OAlg.Entity.Sum.Definition

(Algebraic x, Typeable t, Typeable n) => Algebraic (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

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

Defined in OAlg.Entity.Diagram.Transformation

data Alg k Source #

type representing the class of k-Algebraic structures.

Instances

Instances details
TransformableAlg k Alg Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableVec k Alg Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableG Op (Alg k) (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tauG :: Struct (Alg k) x -> Struct (Alg k) (Op x) Source #

TransformableAdd (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableTyp (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableDst (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableFbr (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableFbrOrt (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableMlt (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

TransformableOrt (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Transformable (Alg k) Ent Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Ent x Source #

Transformable (Alg k) Add Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Add x Source #

Transformable (Alg k) Typ Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Typ x Source #

Transformable (Alg k) Dst Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Dst x Source #

Transformable (Alg k) Fbr Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Fbr x Source #

Transformable (Alg k) FbrOrt Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct FbrOrt x Source #

Transformable (Alg k) Mlt Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Mlt x Source #

Transformable (Alg k) Ort Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Ort x Source #

Transformable (Alg k) (Vec k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct (Vec k) x Source #

type Structure (Alg k) x Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

type Structure (Alg k) x = (Algebraic x, k ~ Scalar x)

class (TransformableDst (s k), TransformableVec k s, Transformable (s k) (Alg k)) => TransformableAlg k (s :: Type -> Type) Source #

helper class to avoid undecidable instances.

Instances

Instances details
TransformableAlg k Alg Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Algebraic Semiring

class (Semiring r, Commutative r, Algebraic r, Scalar r ~ r) => AlgebraicSemiring r Source #

Commutative Semirings with a sound Algebraic structure.

Property Let r be an instance of AlgebraicSemiring, then holds:

  1. For all x and y in r holds: x ! y == x * y.

Note

  1. The purpose of this structure is on the one hand to summarize the somewhat lengthy constraints and on the other hand to ensure that the scalar multiplication (!) is compatible with the Multiplicative structure.
  2. The property 1. for a Algebraic structure forces the Semiring to be Commutative.

type AlgebraicRing r = (AlgebraicSemiring r, Ring r) Source #

algebraic rings.

type AlgebraicField r = (AlgebraicSemiring r, Field r) Source #

algebraic fields.