Expand description
Rigs, rings, and modules over them.
Lots of people have their own versions of a trait hierarchy for abstract
algebra; see noether
and links therein.
Our aim is not to make the most complete or general hierarchy but just to meet
our own needs. Currently that is a bit of commutative algebra,
especially polynomial algebras over rings. So we avoid slicing the salomi too
thin with minor concepts like magmas and semigroups. We take the category
theorist’s attitude that rigs are a respectable concept that do not deserve to
be called “semirings”.
Besides the hierarchy of traits, this module provides data structures for linear combinations and monomials. These are actually the same data structure, but with different notation!
Structs§
- A formal linear combination.
- A monomial in several variables.
Traits§
- An abelian group, written additively.
- A commutative monoid, written additively.
- A commutative monoid, written multiplicatively.
- A commutative rig, also known as a commutative semiring.
- A commutative ring, assumed to be unital.
- A module over a commutative ring.
- A monoid, written multiplicatively.
- A rig, also known as a semiring.
- A module over a commutative rig.
- A ring, assumed to be unital.