rings-0.0.2.4: Groups, rings, semirings, and dioids.

Safe HaskellSafe
LanguageHaskell2010

Data.Group

Synopsis

Documentation

class Monoid g => Group g where Source #

A Group is a Monoid plus a function, negate, such that:

g << negate g ≡ mempty
negate g << g ≡ mempty

Minimal complete definition

(negate | (<<))

Methods

negate :: g -> g Source #

(<<) :: g -> g -> g infixl 6 Source #

Instances
Group Int Source # 
Instance details

Defined in Data.Int.Instance

Methods

negate :: Int -> Int Source #

(<<) :: Int -> Int -> Int Source #

Group Int8 Source # 
Instance details

Defined in Data.Int.Instance

Methods

negate :: Int8 -> Int8 Source #

(<<) :: Int8 -> Int8 -> Int8 Source #

Group Int16 Source # 
Instance details

Defined in Data.Int.Instance

Group Int32 Source # 
Instance details

Defined in Data.Int.Instance

Group Int64 Source # 
Instance details

Defined in Data.Int.Instance

Group Integer Source # 
Instance details

Defined in Data.Int.Instance

Group Uni Source # 
Instance details

Defined in Data.Fixed.Instance

Methods

negate :: Uni -> Uni Source #

(<<) :: Uni -> Uni -> Uni Source #

Group Deci Source # 
Instance details

Defined in Data.Fixed.Instance

Methods

negate :: Deci -> Deci Source #

(<<) :: Deci -> Deci -> Deci Source #

Group Centi Source # 
Instance details

Defined in Data.Fixed.Instance

Group Milli Source # 
Instance details

Defined in Data.Fixed.Instance

Group Micro Source # 
Instance details

Defined in Data.Fixed.Instance

Group Nano Source # 
Instance details

Defined in Data.Fixed.Instance

Methods

negate :: Nano -> Nano Source #

(<<) :: Nano -> Nano -> Nano Source #

Group Pico Source # 
Instance details

Defined in Data.Fixed.Instance

Methods

negate :: Pico -> Pico Source #

(<<) :: Pico -> Pico -> Pico Source #

Group a => Group (Complex a) Source # 
Instance details

Defined in Data.Complex.Instance

Methods

negate :: Complex a -> Complex a Source #

(<<) :: Complex a -> Complex a -> Complex a Source #

Group a => Group (V2 a) Source #

Entry-wise vector or matrix subtraction.

>>> V2 (V3 1 2 3) (V3 4 5 6) << V2 (V3 7 8 9) (V3 1 2 3)
V2 (V3 (-6) (-6) (-6)) (V3 3 3 3)
Instance details

Defined in Data.Semiring.V2

Methods

negate :: V2 a -> V2 a Source #

(<<) :: V2 a -> V2 a -> V2 a Source #

Group a => Group (V3 a) Source # 
Instance details

Defined in Data.Semiring.V3

Methods

negate :: V3 a -> V3 a Source #

(<<) :: V3 a -> V3 a -> V3 a Source #

Group a => Group (V4 a) Source # 
Instance details

Defined in Data.Semiring.V4

Methods

negate :: V4 a -> V4 a Source #

(<<) :: V4 a -> V4 a -> V4 a Source #