| Copyright | (c) Conal Elliott and Andy J Gill 2008 |
|---|---|
| License | BSD3 |
| Maintainer | conal@conal.net, andygill@ku.edu |
| Stability | experimental |
| Safe Haskell | Safe |
| Language | Haskell98 |
Data.AdditiveGroup
Description
Groups: zero, addition, and negation (additive inverse)
Documentation
class AdditiveGroup v where #
Additive group v.
Methods
The zero element: identity for '(^+^)'
(^+^) :: v -> v -> v infixl 6 #
Add vectors
Additive inverse
(^-^) :: v -> v -> v infixl 6 #
Group subtraction
Instances
| AdditiveGroup Double # | |
| AdditiveGroup Float # | |
| AdditiveGroup Int # | |
| AdditiveGroup Integer # | |
| AdditiveGroup () # | |
| AdditiveGroup CSChar # | |
| AdditiveGroup CShort # | |
| AdditiveGroup CInt # | |
| AdditiveGroup CLong # | |
| AdditiveGroup CLLong # | |
| AdditiveGroup CFloat # | |
| AdditiveGroup CDouble # | |
| AdditiveGroup CIntMax # | |
| AdditiveGroup a => AdditiveGroup (Maybe a) # | |
| Integral a => AdditiveGroup (Ratio a) # | |
| (RealFloat v, AdditiveGroup v) => AdditiveGroup (Complex v) # | |
| AdditiveGroup a => AdditiveGroup (Sum a) # | |
| AdditiveGroup v => AdditiveGroup (a -> v) # | |
| (AdditiveGroup u, AdditiveGroup v) => AdditiveGroup (u, v) # | |
| (HasTrie u, AdditiveGroup v) => AdditiveGroup ((:->:) u v) # | |
| (HasTrie (Basis u), AdditiveGroup v) => AdditiveGroup ((:-*) u v) # | |
| (HasBasis a, HasTrie (Basis a), AdditiveGroup u) => AdditiveGroup ((:>) a u) # | |
| (AdditiveGroup u, AdditiveGroup v, AdditiveGroup w) => AdditiveGroup (u, v, w) # | |
| (AdditiveGroup u, AdditiveGroup v, AdditiveGroup w, AdditiveGroup x) => AdditiveGroup (u, v, w, x) # | |
sumV :: (Foldable f, AdditiveGroup v) => f v -> v #
Sum over several vectors
Monoid under group addition. Alternative to the Sum in
Data.Monoid, which uses Num instead of AdditiveGroup.