Interface Group<E>

All Superinterfaces:
Magma<E>, Monoid<E>, Set<E>
All Known Subinterfaces:
AbelianGroup<E>, Algebra<E,F>, BanachAlgebra<E,F>, BanachSpace<E,S>, CStarAlgebra<E,F>, DivisionRing<E>, Field<E>, FiniteGroup<E>, GradedAlgebra<E,F>, HilbertSpace<E,S>, LieAlgebra<E,S>, Matrix<E>, Module<M,R>, NonAssociativeAlgebra<E,S>, OrderedGroup<E>, Ring<E>, Vector<E>, VectorSpace<V,F>
All Known Implementing Classes:
CliffordAlgebra, Complex, Complexes, CyclicGroup, DenseMatrix, DenseVector, DihedralGroup, DoubleField, FreeGroup, GenericMatrix, GenericVector, Integer, Integers, LieGroup, MatrixLieAlgebra, MMapMatrix, NativeRealBig, NativeRealDoubleMatrix, NativeRealDoubleVector, NativeRealFloatMatrix, Octonion, Octonions, PolynomialRing, Quaternion, QuaternionGroup, Quaternions, Rational, Rationals, Real, RealBig, RealDouble, RealDoubleMatrix, RealDoubleVector, RealFloat, RealFloatVector, Reals, SIMDRealDoubleMatrix, SIMDRealFloatMatrix, SO3_1Group, SparseMatrix, SparseVector, SquareMatrices, SU2Group, SU3Group, SymmetricGroup, TiledMatrix, U1Group, Vector2D, Vector3D, Vector4D, VectorND, VectorSpace2D, VectorSpace3D

public interface Group<E> extends Monoid<E>
A group is a set with an associative binary operation, an identity element, and inverse elements.

Groups are fundamental in mathematics, appearing in geometry, number theory, physics (symmetries), and many other areas.

Mathematical Definition

A group (G, ∗) must satisfy:

  1. Closure: ∀ a, b ∈ G: a ∗ b ∈ G
  2. Associativity: ∀ a, b, c ∈ G: (a ∗ b) ∗ c = a ∗ (b ∗ c)
  3. Identity: ∃ e ∈ G such that ∀ a ∈ G: e ∗ a = a ∗ e = a
  4. Inverse: ∀ a ∈ G, ∃ a⁻¹ ∈ G such that: a ∗ a⁻¹ = a⁻¹ ∗ a = e

Examples

  • (ℤ, +) - Integers with addition
  • (ℚ\{0}, ×) - Non-zero rationals with multiplication
  • (S₃, ∘) - Symmetric group (permutations of 3 elements)
  • (ℝⁿ, +) - Real vectors with addition

Special Cases

  • Abelian Group: Commutative (a ∗ b = b ∗ a)
  • Cyclic Group: Generated by single element
  • Simple Group: No non-trivial normal subgroups

Usage

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • inverse

      E inverse(E element)
      Returns the inverse of the given element.

      For element a, returns a⁻¹ such that: a ∗ a⁻¹ = a⁻¹ ∗ a = e (identity).

      Parameters:
      element - the element to invert
      Returns:
      the inverse element
      Throws:
      NullPointerException - if element is null
      IllegalArgumentException - if element is not in this group
    • isCommutative

      boolean isCommutative()
      Tests whether this is an abelian (commutative) group.
      Specified by:
      isCommutative in interface Magma<E>
      Returns:
      true if this group is abelian