AbelianGroup<G> 
An Abelian group is a group with a binary additive operation (+), satisfying the group axioms:
closure
associativity
existence of additive identity
existence of additive opposite
commutativity of addition

BanachSpace<B,F extends Field<F> & Comparable<F>> 
A Banach space, B, is a complete normed vector space such that
every Cauchy sequence (with respect to the metric d(x, y) = x  y) in B has a limit in B.

Field<F> 
As an algebraic structure, every field is a ring, but not every ring is a field.

HilbertSpace<H,F extends Field<F> & Comparable<F>> 
A Hilbert space is an inner product space, an abstract vector space in which distances and angles can be measured.

Monoid<G> 
A monoid is a group with a binary operation (×), satisfying the group axioms:
closure
associativity
existence of multiplicative identity

Ring<R> 
A ring is a set R equipped with two binary operations called addition and multiplication:
+ : R × R → R and
⋅ : R × R → R
To qualify as a ring, the set and two operations, (R, +, ⋅), must satisfy the requirements known as the ring axioms.

VectorSpace<V,F extends Field<F>> 
A vector space is a set V together with two binary operations that combine two entities to yield a third,
called vector addition and scalar multiplication.
