toy-lib-0.1.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Core.Group

Description

Group is a monoid with inverse elements.

Synopsis

Documentation

class Monoid a => Group a where #

Group (S, *) is a monoid with inverse elements.

Requirements

  1. There's an identity element \(id\): \(a \diamond id = id \diamond a = a\).
  2. \(\diamond\) is associative: \((a \diamond b) \diamond c = a \diamond (b \diamond c)\).
  3. There's an inverse lement: \(a a^{-1} = a^{-1} a = 1\).

Methods

invert :: a -> a #

Returns an inverse element.

Instances

Instances details
Group a => Group (Dual a) # 
Instance details

Defined in Data.Core.Group

Methods

invert :: Dual a -> Dual a #

Fractional a => Group (Product a) # 
Instance details

Defined in Data.Core.Group

Methods

invert :: Product a -> Product a #

Num a => Group (Sum a) # 
Instance details

Defined in Data.Core.Group

Methods

invert :: Sum a -> Sum a #

Fractional e => Group (Mat2x2 e) # 
Instance details

Defined in Data.Instances.Affine2d

Methods

invert :: Mat2x2 e -> Mat2x2 e #