Abstract Algebra Types¶
Group¶
Concrete Implementation: klefki.types.algebra.abstract.Group
A set \(\mathbb{G}={a, b, c, ...}\) is called a group, if tehere exists a group addition \((+)\) connecting the elements in \((\mathbb{G}, +)\) in the following way:
\(a, b \in \mathbb{G}:\ c=a+b \in \mathbb{G}\) (closure)
\(a, b, c \in \mathbb{G}: (a+b)c=a(b+c)\) (associativity)
\(\exists e \in \mathbb{G}: a+e=e, \forall a \in \mathbb{G}\) (identity / neutral element)
\(\forall a \in \mathbb{G}, \exists b \in \mathbb{G}: a+b=e, i.e., b\equiv -a\) (inverse)
if a group obey axiom (1,2), it is a SemiGroup;
if a group obey axiom (1,2,3), it is a monadid;
if a group obey axiom (1,2,3,4) and the axiom of commutatativity(\(a+b=b+a\)), it is a Abelian Group
Field¶
Concrete Implementation: klefki.types.algebra.abstract.Field
A field is any set of elements that satisfies the field axioms for both addition and multiplication and is a commutative division algebra.
Field Axioms:nbsphinx-math:cite{FieldAxioms} are generally written in additive and multiplication pairs:
\((a+b)+c=a+(b+c)\); \((a b) c = a(b c)\) (associativity)
\(a + b = b + a\); $ a b = b a$ (Commutativity)
\(a(b+c) = ab + ac\); \((a+b)c=ac+bc\) (distributivity)
\(a + 0=a=0+1\); \((a.1=a=1.a)\) (identity)
\(a+(-a)=0=(-a)+a\); \(aa^{-1}=1=a^{-1}a if a \neq 0\) (inverses)
The Finite Field¶
Concrete Implementation: klefki.types.algebra.fields.FiniteField
A finite field is, A set with a finite number of elements. An example of inite field is the set of integers modulo \(p\), where \(p\) is a prime number, which can be generally note as \(\mathbb{Z}/p\), \(GF(p)\) or \(\mathbb{F}_p\).