Class FreeGroup
java.lang.Object
org.episteme.core.mathematics.algebra.groups.FreeGroup
- All Implemented Interfaces:
Group<FreeGroup.Word>, Magma<FreeGroup.Word>, Monoid<FreeGroup.Word>, Set<FreeGroup.Word>
Represents a Free Group over a set of generators.
Elements are "words" consisting of generators and their inverses. The group operation is concatenation followed by reduction (removing pairs of x and x^-1).
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancontains(FreeGroup.Word element) Tests whether this set contains the specified element.Returns a human-readable description of this set.identity()Returns the identity element of this monoid.inverse(FreeGroup.Word element) Returns the inverse of the given element.booleanTests whether this is an abelian (commutative) group.booleanisEmpty()Returnstrueif this set contains no elements.operate(FreeGroup.Word left, FreeGroup.Word right) Performs the binary operation on two elements.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Monoid
isAssociative
-
Constructor Details
-
FreeGroup
public FreeGroup(int numGenerators)
-
-
Method Details
-
operate
Description copied from interface:MagmaPerforms the binary operation on two elements.This is the fundamental operation of a magma. The result must be an element of this magma (closure property).
Properties: None required (not necessarily associative or commutative)
- Specified by:
operatein interfaceMagma<FreeGroup.Word>- Parameters:
left- the first operandright- the second operand- Returns:
- the result of a ∗ b
- See Also:
-
identity
Description copied from interface:MonoidReturns the identity element of this monoid.Satisfies: e ∗ a = a ∗ e = a for all a.
- Specified by:
identityin interfaceMonoid<FreeGroup.Word>- Returns:
- the identity element
-
inverse
Description copied from interface:GroupReturns the inverse of the given element.For element a, returns a⻹ such that: a ∗ a⻹ = a⻹ ∗ a = e (identity).
- Specified by:
inversein interfaceGroup<FreeGroup.Word>- Parameters:
element- the element to invert- Returns:
- the inverse element
-
isCommutative
public boolean isCommutative()Description copied from interface:GroupTests whether this is an abelian (commutative) group.- Specified by:
isCommutativein interfaceGroup<FreeGroup.Word>- Specified by:
isCommutativein interfaceMagma<FreeGroup.Word>- Returns:
trueif this group is abelian
-
description
Description copied from interface:SetReturns a human-readable description of this set.Examples:
- "â„ (Real Numbers)"
- "ℤ/12ℤ (Integers modulo 12)"
- "{1, 2, 3, 4, 5}"
- Specified by:
descriptionin interfaceSet<FreeGroup.Word>- Returns:
- a description of this set
-
isEmpty
public boolean isEmpty()Description copied from interface:SetReturnstrueif this set contains no elements.The empty set (∅) is a fundamental concept in set theory. It is the unique set containing no elements.
- Specified by:
isEmptyin interfaceSet<FreeGroup.Word>- Returns:
trueif this set is empty
-
contains
Description copied from interface:SetTests whether this set contains the specified element.This is the fundamental operation of a set - membership testing.
- Specified by:
containsin interfaceSet<FreeGroup.Word>- Parameters:
element- the element to test for membership- Returns:
trueif this set contains the element,falseotherwise- See Also:
-