`AUTHOR`

- Dr. Alistair Ward
`DESCRIPTION`

- Describes a
*ring*and operations on its members. - http://en.wikipedia.org/wiki/Ring_%28mathematics%29.
- http://www.numericana.com/answer/rings.htm.

- class Ring r where
- (=+=) :: r -> r -> r
- (=*=) :: r -> r -> r
- additiveInverse :: r -> r
- multiplicativeIdentity :: r
- additiveIdentity :: r
- (=-=) :: r -> r -> r
- square :: r -> r

- product' :: Ring r => BisectionRatio -> MinLength -> [r] -> r
- sum' :: Ring r => BisectionRatio -> MinLength -> [r] -> r
- (=^) :: (Ring r, Eq r, Integral power) => r -> power -> r

# Type-classes

- Define both the operations applicable to all members of the
*ring*, and its mandatory members. - Minimal definition;
`=+=`

,`=*=`

,`additiveInverse`

,`multiplicativeIdentity`

,`additiveIdentity`

.

:: r | |

-> r | |

-> r | Addition of two members; required to be |

:: r | |

-> r | |

-> r | Multiplication of two members. |

:: r | |

-> r | The operand required to yield |

:: r | The |

:: r | The |

:: r | |

-> r | |

-> r | Subtract the two specified |

:: r | |

-> r | Square the ring. |

(Num c, Num e, Ord e) => Ring (Polynomial c e) | Makes |

(Num c, Num e, Ord e, Show e) => Ring (MonicPolynomial c e) |

# Types

## Data.types

# Functions

product' :: Ring r => BisectionRatio -> MinLength -> [r] -> rSource

Returns the *product* of the list of *ring*-members.

sum' :: Ring r => BisectionRatio -> MinLength -> [r] -> rSource

Returns the *sum* of the list of *ring*-members.