algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Additive.AGroup

Description

Provides the AGroup typeclass.

Since: 0.1

Synopsis

Documentation

class AMonoid g => AGroup g where Source #

Defines an additive group.

Examples:

Expand
>>> :{
  -- Addition
  f1 :: (AGroup g) => g -> g
  f1 x = x .+. x
:}
>>> f1 5
10
>>> :{
  -- Zero
  f2 :: (AGroup g) => g -> g
  f2 x = x .+. zero
:}
>>> f2 5
5
>>> :{
  -- Subtraction
  f3 :: (AGroup g, Num g) => g -> g
  f3 x = x .-. 3
:}
>>> f3 5
2

Since: 0.1

Methods

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

Should satisfy:

-- inverse
a .-. a === zero

Since: 0.1

Instances

Instances details
AGroup Int16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Int16 -> Int16 -> Int16 Source #

AGroup Int32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Int32 -> Int32 -> Int32 Source #

AGroup Int64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Int64 -> Int64 -> Int64 Source #

AGroup Int8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup Word16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Word16 -> Word16 -> Word16 Source #

AGroup Word32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Word32 -> Word32 -> Word32 Source #

AGroup Word64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Word64 -> Word64 -> Word64 Source #

AGroup Word8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Word8 -> Word8 -> Word8 Source #

AGroup Integer Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

AGroup Double Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Double -> Double -> Double Source #

AGroup Float Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Float -> Float -> Float Source #

AGroup Int Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup Word Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

Num a => AGroup (AsFractional a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Num a => AGroup (AsIntegral a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Num a => AGroup (AsNum a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: AsNum a -> AsNum a -> AsNum a Source #

RealFloat a => AGroup (Complex a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup (Ratio Integer) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

HasResolution k => AGroup (Fixed k) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

(.-.) :: Fixed k -> Fixed k -> Fixed k Source #

AGroup a => AGroup (a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

AGroup a => AGroup (a, a, a, a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.AGroup

Methods

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

anegate :: AGroup g => g -> g Source #

Since: 0.1