algebra-4.3: Constructive abstract algebra

Safe HaskellSafe
LanguageHaskell98

Numeric.Additive.Group

Contents

Synopsis

Additive Groups

class (LeftModule Integer r, RightModule Integer r, Monoidal r) => Group r where Source #

Methods

(-) :: r -> r -> r infixl 6 Source #

negate :: r -> r Source #

subtract :: r -> r -> r Source #

times :: Integral n => n -> r -> r infixl 7 Source #

Instances

Group Int Source # 

Methods

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

negate :: Int -> Int Source #

subtract :: Int -> Int -> Int Source #

times :: Integral n => n -> Int -> Int Source #

Group Int8 Source # 

Methods

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

negate :: Int8 -> Int8 Source #

subtract :: Int8 -> Int8 -> Int8 Source #

times :: Integral n => n -> Int8 -> Int8 Source #

Group Int16 Source # 
Group Int32 Source # 
Group Int64 Source # 
Group Integer Source # 
Group Word Source # 

Methods

(-) :: Word -> Word -> Word Source #

negate :: Word -> Word Source #

subtract :: Word -> Word -> Word Source #

times :: Integral n => n -> Word -> Word Source #

Group Word8 Source # 
Group Word16 Source # 
Group Word32 Source # 
Group Word64 Source # 
Group () Source # 

Methods

(-) :: () -> () -> () Source #

negate :: () -> () Source #

subtract :: () -> () -> () Source #

times :: Integral n => n -> () -> () Source #

Group Euclidean Source # 
GCDDomain d => Group (Fraction d) Source # 
Group r => Group (Complex r) Source # 

Methods

(-) :: Complex r -> Complex r -> Complex r Source #

negate :: Complex r -> Complex r Source #

subtract :: Complex r -> Complex r -> Complex r Source #

times :: Integral n => n -> Complex r -> Complex r Source #

Group r => Group (Dual r) Source # 

Methods

(-) :: Dual r -> Dual r -> Dual r Source #

negate :: Dual r -> Dual r Source #

subtract :: Dual r -> Dual r -> Dual r Source #

times :: Integral n => n -> Dual r -> Dual r Source #

Group r => Group (Hyper' r) Source # 

Methods

(-) :: Hyper' r -> Hyper' r -> Hyper' r Source #

negate :: Hyper' r -> Hyper' r Source #

subtract :: Hyper' r -> Hyper' r -> Hyper' r Source #

times :: Integral n => n -> Hyper' r -> Hyper' r Source #

Group r => Group (Quaternion r) Source # 
Group r => Group (Dual' r) Source # 

Methods

(-) :: Dual' r -> Dual' r -> Dual' r Source #

negate :: Dual' r -> Dual' r Source #

subtract :: Dual' r -> Dual' r -> Dual' r Source #

times :: Integral n => n -> Dual' r -> Dual' r Source #

Group r => Group (Hyper r) Source # 

Methods

(-) :: Hyper r -> Hyper r -> Hyper r Source #

negate :: Hyper r -> Hyper r Source #

subtract :: Hyper r -> Hyper r -> Hyper r Source #

times :: Integral n => n -> Hyper r -> Hyper r Source #

Group r => Group (Quaternion' r) Source # 
Group r => Group (Trig r) Source # 

Methods

(-) :: Trig r -> Trig r -> Trig r Source #

negate :: Trig r -> Trig r Source #

subtract :: Trig r -> Trig r -> Trig r Source #

times :: Integral n => n -> Trig r -> Trig r Source #

Division r => Group (Log r) Source # 

Methods

(-) :: Log r -> Log r -> Log r Source #

negate :: Log r -> Log r Source #

subtract :: Log r -> Log r -> Log r Source #

times :: Integral n => n -> Log r -> Log r Source #

Group r => Group (End r) Source # 

Methods

(-) :: End r -> End r -> End r Source #

negate :: End r -> End r Source #

subtract :: End r -> End r -> End r Source #

times :: Integral n => n -> End r -> End r Source #

Group r => Group (Opposite r) Source # 
(Abelian r, Group r) => Group (RngRing r) Source # 

Methods

(-) :: RngRing r -> RngRing r -> RngRing r Source #

negate :: RngRing r -> RngRing r Source #

subtract :: RngRing r -> RngRing r -> RngRing r Source #

times :: Integral n => n -> RngRing r -> RngRing r Source #

Group r => Group (ZeroRng r) Source # 

Methods

(-) :: ZeroRng r -> ZeroRng r -> ZeroRng r Source #

negate :: ZeroRng r -> ZeroRng r Source #

subtract :: ZeroRng r -> ZeroRng r -> ZeroRng r Source #

times :: Integral n => n -> ZeroRng r -> ZeroRng r Source #

Group r => Group (e -> r) Source # 

Methods

(-) :: (e -> r) -> (e -> r) -> e -> r Source #

negate :: (e -> r) -> e -> r Source #

subtract :: (e -> r) -> (e -> r) -> e -> r Source #

times :: Integral n => n -> (e -> r) -> e -> r Source #

(Group a, Group b) => Group (a, b) Source # 

Methods

(-) :: (a, b) -> (a, b) -> (a, b) Source #

negate :: (a, b) -> (a, b) Source #

subtract :: (a, b) -> (a, b) -> (a, b) Source #

times :: Integral n => n -> (a, b) -> (a, b) Source #

Group s => Group (Covector s a) Source # 

Methods

(-) :: Covector s a -> Covector s a -> Covector s a Source #

negate :: Covector s a -> Covector s a Source #

subtract :: Covector s a -> Covector s a -> Covector s a Source #

times :: Integral n => n -> Covector s a -> Covector s a Source #

(Group a, Group b, Group c) => Group (a, b, c) Source # 

Methods

(-) :: (a, b, c) -> (a, b, c) -> (a, b, c) Source #

negate :: (a, b, c) -> (a, b, c) Source #

subtract :: (a, b, c) -> (a, b, c) -> (a, b, c) Source #

times :: Integral n => n -> (a, b, c) -> (a, b, c) Source #

Group s => Group (Map s b a) Source # 

Methods

(-) :: Map s b a -> Map s b a -> Map s b a Source #

negate :: Map s b a -> Map s b a Source #

subtract :: Map s b a -> Map s b a -> Map s b a Source #

times :: Integral n => n -> Map s b a -> Map s b a Source #

(Group a, Group b, Group c, Group d) => Group (a, b, c, d) Source # 

Methods

(-) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source #

negate :: (a, b, c, d) -> (a, b, c, d) Source #

subtract :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source #

times :: Integral n => n -> (a, b, c, d) -> (a, b, c, d) Source #

(Group a, Group b, Group c, Group d, Group e) => Group (a, b, c, d, e) Source # 

Methods

(-) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

negate :: (a, b, c, d, e) -> (a, b, c, d, e) Source #

subtract :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

times :: Integral n => n -> (a, b, c, d, e) -> (a, b, c, d, e) Source #