Sequoia
Loading...
Searching...
No Matches
Concepts | Classes
Algebraic Traits

Traits and concepts for basic elements of abstract algebra. More...

Concepts

concept  sequoia::maths::weak_commutative_ring
 concept representing reasonable approximations to a commutative ring.
 
concept  sequoia::maths::weak_field
 concept representing reasonable approximations to a field.
 

Classes

struct  sequoia::maths::weakly_abelian_group_under_addition< T >
 Trait for specifying whether a type behaves (appoximately) as an abelian group under addition. More...
 
struct  sequoia::maths::weakly_abelian_group_under_multiplication< T >
 Trait for specifying whether a type behaves (appoximately) as an abelian group under multiplication. More...
 
struct  sequoia::maths::multiplication_weakly_distributive_over_addition< T >
 Trait for specifying whether a type exhibits multiplication that (approximately) distributes over addition. More...
 

Detailed Description

Traits and concepts for basic elements of abstract algebra.

A fundamental problem of attempting this classification on a computer is the difference between a mathematical structure and an approximate representation of that structure. ints model the integers, but not exactly since there is a maximum representable value. Similarly, floating-point numbers model the reals but only in an approximate sense. To signify the fact that neither integer nor floating-point addition exactly models an abelian group, the term 'weak' is used. Note, however, that addition of unsigned integral types does precisely model an abelian group and so 'weak' is a minimum requirement.

Entertaingly, the only fundamental type in C++ which exacly models a field is bool.