Interface Semigroup<E>

Type Parameters:
E - Element type.
All Superinterfaces:
Set<E>
All Known Subinterfaces:
EuclideanDomain<E>, Field<E>, Group<E>, Monoid<E>, Ring<E>, SemiRing<E>
All Known Implementing Classes:
AlgebraicFieldExtension, BigElements, BigFiniteField, BigIntegers, BigIntegersModuloN, BigPrimeField, BigRationals, ClassGroup, ComplexNumbers, ConstructiveReals, FieldOfFractions, FiniteField, GaussianRationals, GeneralLinearGroup, Integers, IntegersModuloN, MatrixRing, MultivariatePolynomialRing, MultivariatePolynomialRingOverRing, NullSafeRing, PerformanceLoggingField, PerformanceLoggingRing, PolynomialRing, PolynomialRingFFT, PolynomialRingKaratsuba, PolynomialRingOverRing, PrimeField, QuadraticField, QuotientRing, Rationals, RealNumbers, SymmetricGroup, TestUtils.TestBigIntegers, TestUtils.TestField, TestUtils.TestIntegers

public interface Semigroup<E> extends Set<E>
A semigroup is a set with an associative multiplication operation.
  • Method Summary

    Modifier and Type
    Method
    Description
    multiply(E a, E b)
    Return the result of the product ab in this group.
    default E
    multiply(E a, E b, E c)
    Return the result of the product abc in this group.
    default E
    multiply(E a, E b, E c, E d)
    Return the result of the product abcd in this group.

    Methods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.Set

    equals, toString
  • Method Details

    • multiply

      E multiply(E a, E b)
      Return the result of the product ab in this group.
    • multiply

      default E multiply(E a, E b, E c)
      Return the result of the product abc in this group.
    • multiply

      default E multiply(E a, E b, E c, E d)
      Return the result of the product abcd in this group.