Safe Haskell | None |
---|---|

Language | Haskell98 |

`AUTHOR`

- Dr. Alistair Ward
`DESCRIPTION`

- Describes a
*Quotient Ring*; http://en.wikipedia.org/wiki/Quotient_ring. - This is a
*ring*composed from a residue-class resulting from*modular*division.

- class Ring q => QuotientRing q where
- quotRem' :: q -> q -> (q, q)

- quot' :: QuotientRing q => q -> q -> q
- rem' :: QuotientRing q => q -> q -> q
- areCongruentModulo :: (Eq q, QuotientRing q) => q -> q -> q -> Bool
- isDivisibleBy :: (Eq q, QuotientRing q) => q -> q -> Bool

# Type-classes

class Ring q => QuotientRing q where Source

Defines a sub-class of `Ring`

, in which division is implemented.

:: q | |

-> q | |

-> (q, q) | Divides the first operand by the second, to yield a pair composed from the |

(Eq c, Fractional c, Num e, Ord e) => QuotientRing (Polynomial c e) | Defines the ability to divide |

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

# Functions

:: QuotientRing q | |

=> q | Numerator. |

-> q | Denominator. |

-> q |

Returns the *quotient*, after division of the two specified `QuotientRing`

s.

:: QuotientRing q | |

=> q | Numerator. |

-> q | Denominator. |

-> q |

Returns the *remainder*, after division of the two specified `QuotientRing`

s.

## Predicates

:: (Eq q, QuotientRing q) | |

=> q | LHS. |

-> q | RHS. |

-> q | Modulus. |

-> Bool |

`True`

if the two specified`QuotientRing`

s are*congruent*in*modulo*-arithmetic, where the*modulus*is a third`QuotientRing`

.- http://www.usna.edu/Users/math/wdj/book/node74.html.

:: (Eq q, QuotientRing q) | |

=> q | Numerator. |

-> q | Denominator. |

-> Bool |

True if the second operand *divides* the first.