algebra-3.0.1.1: Constructive abstract algebra

Safe HaskellNone

Numeric.Additive.Class

Contents

Synopsis

Additive Semigroups

class Additive r whereSource

 (a + b) + c = a + (b + c)
 sinnum 1 a = a
 sinnum (2 * n) a = sinnum n a + sinnum n a
 sinnum (2 * n + 1) a = sinnum n a + sinnum n a + a

Methods

(+) :: r -> r -> rSource

sinnum1p :: Whole n => n -> r -> rSource

sinnum1p n r = sinnum (1 + n) r

sumWith1 :: Foldable1 f => (a -> r) -> f a -> rSource

sum1 :: (Foldable1 f, Additive r) => f r -> rSource

Additive Abelian semigroups

class Additive r => Abelian r Source

an additive abelian semigroup

a + b = b + a

Instances

Abelian Bool 
Abelian Int 
Abelian Int8 
Abelian Int16 
Abelian Int32 
Abelian Int64 
Abelian Integer 
Abelian Word 
Abelian Word8 
Abelian Word16 
Abelian Word32 
Abelian Word64 
Abelian () 
Abelian Natural 
Abelian Euclidean 
(Additive (Complex r), Abelian r) => Abelian (Complex r) 
(Additive (Quaternion r), Abelian r) => Abelian (Quaternion r) 
(Additive (Dual r), Abelian r) => Abelian (Dual r) 
(Additive (Hyper' r), Abelian r) => Abelian (Hyper' r) 
(Additive (Hyper r), Abelian r) => Abelian (Hyper r) 
(Additive (Dual' r), Abelian r) => Abelian (Dual' r) 
Additive (BasisCoblade m) => Abelian (BasisCoblade m) 
(Additive (Quaternion' r), Abelian r) => Abelian (Quaternion' r) 
(Additive (Trig r), Abelian r) => Abelian (Trig r) 
(Additive (Log r), Commutative r) => Abelian (Log r) 
(Additive (End r), Abelian r) => Abelian (End r) 
(Additive (Opposite r), Abelian r) => Abelian (Opposite r) 
(Additive (RngRing r), Abelian r) => Abelian (RngRing r) 
(Additive (ZeroRng r), Abelian r) => Abelian (ZeroRng r) 
(Additive (e -> r), Abelian r) => Abelian (e -> r) 
(Additive (a, b), Abelian a, Abelian b) => Abelian (a, b) 
(Additive (:->: e r), HasTrie e, Abelian r) => Abelian (:->: e r) 
(Additive (Covector s a), Abelian s) => Abelian (Covector s a) 
(Additive (a, b, c), Abelian a, Abelian b, Abelian c) => Abelian (a, b, c) 
(Additive (Map s b a), Abelian s) => Abelian (Map s b a) 
(Additive (a, b, c, d), Abelian a, Abelian b, Abelian c, Abelian d) => Abelian (a, b, c, d) 
(Additive (a, b, c, d, e), Abelian a, Abelian b, Abelian c, Abelian d, Abelian e) => Abelian (a, b, c, d, e) 

Additive Monoids

class Additive r => Idempotent r Source

An additive semigroup with idempotent addition.

 a + a = a

Partitionable semigroups

class Additive m => Partitionable m whereSource

Methods

partitionWith :: (m -> m -> r) -> m -> NonEmpty rSource

partitionWith f c returns a list containing f a b for each a b such that a + b = c,