| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Structure.Vectorial.Definition
Description
Synopsis
- class (Semiring (Scalar v), Commutative (Scalar v), Additive v) => Vectorial v where
- data Vec k
- class (TransformableAdd (s k), Transformable (s k) (Vec k)) => TransformableVec k (s :: Type -> Type)
- data VectorSheaf v = VectorSheaf (Root v) [(Scalar v, v)]
- class Vectorial v => Euclidean v where
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:
- For all
sinandScalarvvinvholds:sis!vvalidand.root(s!v)==rootv - For all
vinvholds:0.!v==zero(rootv) - For all
sinandScalarvrinholdsRootvs.!zeror==zeror - For all
r,sinandScalarvvinvholds:(r.+s)!v==r!v+s!v - For all
sinandScalarvv,winvwithholds:rootv==rootws.!(v+w)==s!v+s!w - For all
vinvholds:1.!v==v - For all
r,sinandScalarvvinvholds:(r.*s)!v==r!(s!v)
Instances
type representing the class of k- structures.Vectorial
Instances
| TransformableVec k Vec Source # | |
Defined in OAlg.Structure.Vectorial.Definition | |
| TransformableAdd (Vec k) Source # | |
Defined in OAlg.Structure.Vectorial.Definition | |
| TransformableTyp (Vec k) Source # | |
Defined in OAlg.Structure.Vectorial.Definition | |
| TransformableFbr (Vec k) Source # | |
Defined in OAlg.Structure.Vectorial.Definition | |
| Transformable (Vec k) Ent Source # | |
| Transformable (Vec k) Add Source # | |
| Transformable (Vec k) Typ Source # | |
| Transformable (Vec k) Fbr Source # | |
| Transformable (Alg k) (Vec k) Source # | |
| type Structure (Vec k) x Source # | |
class (TransformableAdd (s k), Transformable (s k) (Vec k)) => TransformableVec k (s :: Type -> Type) Source #
helper class to avoid undecidable instances.
Instances
| TransformableVec k Alg Source # | |
Defined in OAlg.Structure.Algebraic.Definition | |
| TransformableVec k Vec Source # | |
Defined in OAlg.Structure.Vectorial.Definition | |
Sheaf
data VectorSheaf v Source #
list of scalars and vectors, having all the same given root.
Property Let be in VectorSheaf r svs for a VectorSheaf vVectorial-structure v, then holds: , for all root v == r(_,v) in svs.
Constructors
| VectorSheaf (Root v) [(Scalar v, v)] |
Instances
| Vectorial v => Show (VectorSheaf v) Source # | |
Defined in OAlg.Structure.Vectorial.Definition Methods showsPrec :: Int -> VectorSheaf v -> ShowS # show :: VectorSheaf v -> String # showList :: [VectorSheaf v] -> ShowS # | |
| Vectorial v => Eq (VectorSheaf v) Source # | |
Defined in OAlg.Structure.Vectorial.Definition Methods (==) :: VectorSheaf v -> VectorSheaf v -> Bool # (/=) :: VectorSheaf v -> VectorSheaf v -> Bool # | |
| Vectorial v => Validable (VectorSheaf v) Source # | |
Defined in OAlg.Structure.Vectorial.Definition Methods valid :: VectorSheaf v -> Statement Source # | |
| (Fibred a, Ord a, Scalar a ~ r, Semiring r, Commutative r) => Projectible (Sum r a) (VectorSheaf a) Source # | |
Defined in OAlg.Entity.Sum.Definition Methods prj :: VectorSheaf a -> Sum r a Source # | |
Euclidean
class Vectorial v => Euclidean v where Source #
Vectorial structures with a partially defined scalar product.
Properties
- For all
v,wholds: ifthenrootv==rootwvis<!>wvalid, otherwise aUndefinedScalarproduct-exception will be thrown. - For all
uholds:u.<!>zero(rootu)==rZero - For all
u,vandwwithandrootu==rootwholds:rootw==rootvu.<!>(v+w)==u<!>v+u<!>w - For all
wholds:.zero(rootw)<!>w==rZero - For all
u,vandwwithandrootw==rootuholds:rootu==rootv(u.+v)<!>w==u<!>w+v' !' w
Instances
| Euclidean N Source # | |
| Euclidean Q Source # | |
| Euclidean Z Source # | |
| (Semiring r, Commutative r) => Euclidean (Vector r) Source # | |
| Entity p => Euclidean (Orientation p) Source # | |
Defined in OAlg.Structure.Vectorial.Definition Methods (<!>) :: Orientation p -> Orientation p -> Scalar (Orientation p) Source # | |
| (Semiring r, Commutative r, Entity a, Ord a) => Euclidean (SumSymbol r a) Source # | |