Class AlgebraicNumberField<E extends IUnivariatePolynomial<E>>

java.lang.Object
cc.redberry.rings.ARing<E>
cc.redberry.rings.poly.SimpleFieldExtension<E>
cc.redberry.rings.poly.AlgebraicNumberField<E>
All Implemented Interfaces:
IParser<E>, Stringifiable<E>, IPolynomialRing<E>, Ring<E>, Serializable, Iterable<E>, Comparator<E>

public class AlgebraicNumberField<E extends IUnivariatePolynomial<E>>
extends SimpleFieldExtension<E>
Algebraic number field F(α) represented as a simple field extension, for details see SimpleFieldExtension.
Since:
2.5
See Also:
SimpleFieldExtension, FiniteField, Rings.AlgebraicNumberField(IUnivariatePolynomial), Serialized Form
  • Constructor Details

    • AlgebraicNumberField

      public AlgebraicNumberField​(E minimalPoly)
      Constructs a simple field extension F(α) generated by the algebraic number α with the specified minimal polynomial.

      NOTE: irreducibility test for the minimal polynomial is not performed here, use IrreduciblePolynomials.irreducibleQ(IUnivariatePolynomial) to test irreducibility.

      Parameters:
      minimalPoly - the minimal polynomial
  • Method Details

    • isField

      public boolean isField()
      Description copied from interface: Ring
      Returns whether this ring is a field
      Returns:
      whether this ring is a field
    • isUnit

      public boolean isUnit​(E element)
      Description copied from interface: Ring
      Tests whether specified element is a ring unit
      Parameters:
      element - the ring element
      Returns:
      whether specified element is a ring unit
      See Also:
      Ring.isOne(Object)
    • gcd

      public E gcd​(E a, E b)
      Description copied from interface: Ring
      Returns the greatest common divisor of two elements
      Parameters:
      a - the first element
      b - the second element
      Returns:
      gcd
    • divideAndRemainder

      public E[] divideAndRemainder​(E a, E b)
      Description copied from interface: Ring
      Returns quotient and remainder of dividend / divider
      Parameters:
      a - the dividend
      b - the divider
      Returns:
      {quotient, remainder}
    • remainder

      public E remainder​(E dividend, E divider)
      Description copied from interface: Ring
      Returns the remainder of dividend / divider
      Parameters:
      dividend - the dividend
      divider - the divider
      Returns:
      the remainder of dividend / divider
    • normalizer

      public E normalizer​(E element)
      Gives an element C(element) of this field extension with the property that element * C(element) is in the base field.
    • iterator

      public Iterator<E> iterator()
      Description copied from interface: Ring
      Returns iterator over ring elements (for finite rings, otherwise throws exception)