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.Structure.Vectorial.Definition

Description

definition of vectorial structures, i.e. Additive structures with a scalar multiplication (!).

Synopsis

Vectorial

class (Semiring (Scalar v), Commutative (Scalar v), Additive v) => Vectorial v where Source #

Additive structures with a total defined scalar multiplication from the left by a commutative semi ring. The entities of v are called vector.

Properties Let v b a Vectorial structure, then holds:

  1. For all s in Scalar v and v in v holds: s!v is valid and root (s!v) == root v.
  2. For all v in v holds: 0!v == zero (root v).
  3. For all s in Scalar v and r in Root v holds s!zero r == zero r.
  4. For all r, s in Scalar v and v in v holds: (r + s)!v == r!v + s!v.
  5. For all s in Scalar v and v, w in v with root v == root w holds: s!(v + w) == s!v + s!w.
  6. For all v in v holds: 1!v == v.
  7. For all r, s in Scalar v and v in v holds: (r*s)!v == r!(s!v).

Associated Types

type Scalar v Source #

the type of scalars.

Methods

(!) :: Scalar v -> v -> v infixr 8 Source #

scalar multiplication of a vector.

Instances

Instances details
Vectorial N Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar N Source #

Methods

(!) :: Scalar N -> N -> N Source #

Vectorial Q Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar Q Source #

Methods

(!) :: Scalar Q -> Q -> Q Source #

Vectorial Z Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar Z Source #

Methods

(!) :: Scalar Z -> Z -> Z Source #

Vectorial Integer Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar Integer Source #

Vectorial () Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar () Source #

Methods

(!) :: Scalar () -> () -> () Source #

Vectorial Int Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar Int Source #

Methods

(!) :: Scalar Int -> Int -> Int Source #

(Vectorial v, FibredOriented v) => Vectorial (Op v) Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar (Op v) Source #

Methods

(!) :: Scalar (Op v) -> Op v -> Op v Source #

(Vectorial x, FibredOriented x) => Vectorial (Matrix x) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

Associated Types

type Scalar (Matrix x) Source #

Methods

(!) :: Scalar (Matrix x) -> Matrix x -> Matrix x Source #

(Semiring r, Commutative r) => Vectorial (Vector r) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

Associated Types

type Scalar (Vector r) Source #

Methods

(!) :: Scalar (Vector r) -> Vector r -> Vector r Source #

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

Defined in OAlg.Structure.Vectorial.Definition

Associated Types

type Scalar (Orientation p) Source #

(Fibred a, Ord a, Semiring r, Commutative r) => Vectorial (Sum r a) Source # 
Instance details

Defined in OAlg.Entity.Sum.Definition

Associated Types

type Scalar (Sum r a) Source #

Methods

(!) :: Scalar (Sum r a) -> Sum r a -> Sum r a Source #

(Semiring r, Commutative r, Entity a, Ord a) => Vectorial (SumSymbol r a) Source # 
Instance details

Defined in OAlg.Entity.Sum.SumSymbol

Associated Types

type Scalar (SumSymbol r a) Source #

Methods

(!) :: Scalar (SumSymbol r a) -> SumSymbol r a -> SumSymbol r 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 #

data Vec k Source #

type representing the class of k-Vectorial structures.

Instances

Instances details
ForgetfulVec k Vec Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

ForgetfulAdd (Vec k) Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

ForgetfulTyp (Vec k) Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

ForgetfulFbr (Vec k) Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Transformable (Vec k) Ent Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

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

Transformable (Vec k) Add Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

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

Transformable (Vec k) Typ Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

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

Transformable (Vec k) Fbr Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

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

(Semiring r, Commutative r) => EmbeddableMorphism (HomSymbol r) (Vec r) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

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 Hom (Vec k) h Source # 
Instance details

Defined in OAlg.Hom.Vectorial

type Hom (Vec k) h = HomVectorial k h
type Structure (Vec k) x Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

type Structure (Vec k) x = (Vectorial x, k ~ Scalar x)

class (ForgetfulFbr (s k), ForgetfulAdd (s k), Transformable (s k) (Vec k)) => ForgetfulVec k s Source #

transformable to k-Vectorial structure.

Instances

Instances details
ForgetfulVec k Alg Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

ForgetfulVec k Vec Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Euclidean

class Vectorial v => Euclidean v where Source #

Vectorial structures with a partially defined scalar product.

Properties

  1. For all v, w holds: if root v == root w then v <!> w is valid, otherwise a UndefinedScalarproduct-exception will be thrown.
  2. For all u holds: u <!> zero (root u) == rZero.
  3. For all u, v and w with root u == root w and root w == root v holds: u <!> (v + w) == u <!> v + u <!> w.
  4. For all w holds: zero (root w) <!> w == rZero.
  5. For all u, v and w with root w == root u and root u == root v holds: (u + v) <!> w == u <!> w + v' !' w.

Methods

(<!>) :: v -> v -> Scalar v infix 7 Source #

the scalar product of two vectors.

Instances

Instances details
Euclidean N Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

(<!>) :: N -> N -> Scalar N Source #

Euclidean Q Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

(<!>) :: Q -> Q -> Scalar Q Source #

Euclidean Z Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

(<!>) :: Z -> Z -> Scalar Z Source #

(Semiring r, Commutative r) => Euclidean (Vector r) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

Methods

(<!>) :: Vector r -> Vector r -> Scalar (Vector r) Source #

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

Defined in OAlg.Structure.Vectorial.Definition

(Semiring r, Commutative r, Entity a, Ord a) => Euclidean (SumSymbol r a) Source # 
Instance details

Defined in OAlg.Entity.Sum.SumSymbol

Methods

(<!>) :: SumSymbol r a -> SumSymbol r a -> Scalar (SumSymbol r a) Source #