| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Structure.Algebraic.Definition
Contents
Description
definition of algebraic structures, i.e. Distributive structures with a suitable Vectorial structure.
Synopsis
- class (Distributive a, Vectorial a) => Algebraic a
- data Alg k
- class (TransformableDst (s k), TransformableVec k s, Transformable (s k) (Alg k)) => TransformableAlg k (s :: Type -> Type)
- class (Semiring r, Commutative r, Algebraic r, Scalar r ~ r) => AlgebraicSemiring r
- type AlgebraicRing r = (AlgebraicSemiring r, Ring r)
- type AlgebraicField r = (AlgebraicSemiring r, Field r)
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:
Instances
type representing the class of k- structures.Algebraic
Instances
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
| TransformableAlg k Alg Source # | |
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:
Note
- 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!)Multiplicativestructure. - The property 1. for a
Algebraicstructure forces theSemiringto beCommutative.
Instances
| AlgebraicSemiring N Source # | |
Defined in OAlg.Structure.Algebraic.Definition | |
| AlgebraicSemiring Q Source # | |
Defined in OAlg.Structure.Algebraic.Definition | |
| AlgebraicSemiring Z Source # | |
Defined in OAlg.Structure.Algebraic.Definition | |
| AlgebraicSemiring Integer Source # | |
Defined in OAlg.Structure.Algebraic.Definition | |
| AlgebraicSemiring Int Source # | |
Defined in OAlg.Structure.Algebraic.Definition | |
type AlgebraicRing r = (AlgebraicSemiring r, Ring r) Source #
algebraic rings.
type AlgebraicField r = (AlgebraicSemiring r, Field r) Source #
algebraic fields.