E - type of polynomials that represent elements of this Galois fieldpublic final class FiniteField<E extends IUnivariatePolynomial<E>> extends SimpleFieldExtension<E>
GF(p, q). Galois field is represented as a quotient ring F[x]/<m(x)> with given
irreducible polynomial m(x) (minimal polynomial); cardinality of then field is than p^q where p is the cardinality of F and q is the degree of minimal polynomial. Since Galois field is in fact a
simple field extension it inherits all corresponding methods.AlgebraicNumberField,
Rings.GF(IUnivariatePolynomial),
Rings.GF(long, int),
Serialized Form| Modifier and Type | Field and Description |
|---|---|
static FiniteField<UnivariatePolynomialZp64> |
GF17p5
GF(17^5)
|
static FiniteField<UnivariatePolynomialZp64> |
GF27
GF(3^3)
|
| Constructor and Description |
|---|
FiniteField(E minimalPoly)
Constructs finite field from the specified irreducible polynomial.
|
| Modifier and Type | Method and Description |
|---|---|
E[] |
divideAndRemainder(E a,
E b)
Returns quotient and remainder of
dividend / divider |
E |
gcd(E a,
E b)
Returns the greatest common divisor of two elements
|
boolean |
isField()
Returns whether this ring is a field
|
boolean |
isUnit(E element)
Tests whether specified element is a ring unit
|
Iterator<E> |
iterator()
Returns iterator over all field elements
|
E |
remainder(E dividend,
E divider)
Returns the remainder of
dividend / divider |
add, addMutable, asMultipleExtension, cardinality, characteristic, compare, conjugatesProduct, copy, createArray, createArray2d, createArray2d, degree, equals, factor, factory, generator, getMinimalPolynomial, getMinimalPolynomialRef, getOne, getZero, hashCode, isEuclideanRing, isInTheBaseField, isOne, isZero, minimalPolynomial, multiply, multiplyMutable, negate, negateMutable, norm, normOfPolynomial, normOfPolynomial, nVariables, parse, randomElement, reciprocal, shouldReduceFast, subtract, subtractMutable, toString, toString, toString, trace, valueOf, valueOf, valueOfBigInteger, variableisPerfectPower, perfectPowerBase, perfectPowerExponentclone, finalize, getClass, notify, notifyAll, wait, wait, waitmkCoder, parse, signumabs, add, createArray, createArray, createArray, createZeroesArray, createZeroesArray2d, decrement, divideExact, divideExactMutable, divideOrNull, extendedGCD, factorial, factorSquareFree, fillZeros, firstBezoutCoefficient, gcd, gcd, getNegativeOne, increment, isFinite, isFiniteField, isMinusOne, isPerfectPower, isUnitOrZero, lcm, lcm, lcm, max, min, multiply, multiply, multiply, perfectPowerBase, perfectPowerExponent, pow, pow, pow, quotient, randomElement, randomElementTree, randomElementTree, randomNonZeroElement, setToValueOf, valueOfcomparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongforEach, spliteratorpublic static final FiniteField<UnivariatePolynomialZp64> GF27
public static final FiniteField<UnivariatePolynomialZp64> GF17p5
public FiniteField(E minimalPoly)
NOTE: irreducibility test for the minimal polynomial is not performed here, use IrreduciblePolynomials.irreducibleQ(IUnivariatePolynomial) to test irreducibility.
minimalPoly - the minimal polynomialpublic boolean isField()
Ringpublic boolean isUnit(E element)
Ringelement - the ring elementRing.isOne(Object)public E gcd(E a, E b)
Ringa - the first elementb - the second elementpublic E[] divideAndRemainder(E a, E b)
Ringdividend / dividera - the dividendb - the divider{quotient, remainder}public E remainder(E dividend, E divider)
Ringdividend / dividerdividend - the dividenddivider - the dividerdividend / dividerCopyright © 2022. All rights reserved.