Logo MTL4

algebra::DivisionRing< AddOp, MultOp, Element > Struct Template Reference
[Concepts]

Concept DivisionRing. More...

#include <algebraic_concepts.hpp>

Inherits RingWithIdentity< AddOp, MultOp, Element >, and Inversion< MultOp, Element >.

Collaboration diagram for algebra::DivisionRing< AddOp, MultOp, Element >:

Collaboration graph
[legend]

List of all members.


Detailed Description

template<typename AddOp, typename MultOp, typename Element>
struct algebra::DivisionRing< AddOp, MultOp, Element >

Concept DivisionRing.

Parameters:
AddOp A functor implementing a binary operation representing addition
MultOp A functor implementing a binary operation representing multiplication
Element The type upon the binary operation is defined
Refinement of:
Notation:
add Object of type AddOp
mult Object of type Multop
x, y, z Objects of type Element
Invariant:
Non-zero divisibility from left mult(inverse(mult, x), x) == identity(mult, x) if x != identity(add, x)
Non-zero divisibility from right mult(x, inverse(mult, x)) == identity(mult, x) if x != identity(add, x)
Zero is different from one identity(add, x) != identity(mult, x)
Note:
  1. Zero and one can be theoretically identical in a DivisionRing. However, this implies that there is only one element x in the Ring with x + x = x and x * x = x (which is actually even a Field). Because this structure has no practical value we exclude it from consideration.

The documentation for this struct was generated from the following file:


algebra::DivisionRing< AddOp, MultOp, Element > Struct Template Reference -- MTL 4 -- Peter Gottschling and Andrew Lumsdaine -- Gen. with rev. 7542 on 7 Apr 2011 by doxygen 1.5.9 -- © 2010 by SimuNova UG.