Class FieldPolynomialFunction<T extends CalculusFieldElement<T>>

    • Constructor Detail

      • FieldPolynomialFunction

        public FieldPolynomialFunction​(T[] c)
                                throws MathIllegalArgumentException,
                                       NullArgumentException
        Construct a polynomial with the given coefficients. The first element of the coefficients array is the constant term. Higher degree coefficients follow in sequence. The degree of the resulting polynomial is the index of the last non-null element of the array, or 0 if all elements are null.

        The constructor makes a copy of the input array and assigns the copy to the coefficients property.

        Parameters:
        c - Polynomial coefficients.
        Throws:
        NullArgumentException - if c is null.
        MathIllegalArgumentException - if c is empty.
    • Method Detail

      • value

        public T value​(double x)
        Compute the value of the function for the given argument.

        The value returned is

        coefficients[n] * x^n + ... + coefficients[1] * x + coefficients[0]

        Parameters:
        x - Argument for which the function value should be computed.
        Returns:
        the value of the polynomial at the given point.
        See Also:
        UnivariateFunction.value(double)
      • getField

        public Field<T> getField()
        Get the Field to which the instance belongs.
        Returns:
        Field to which the instance belongs
      • degree

        public int degree()
        Returns the degree of the polynomial.
        Returns:
        the degree of the polynomial.
      • getCoefficients

        public T[] getCoefficients()
        Returns a copy of the coefficients array.

        Changes made to the returned copy will not affect the coefficients of the polynomial.

        Returns:
        a fresh copy of the coefficients array.
      • negate

        public FieldPolynomialFunction<T> negate()
        Negate the instance.
        Returns:
        a new polynomial with all coefficients negated
      • antiDerivative

        public FieldPolynomialFunction<T> antiDerivative()
        Returns an anti-derivative of this polynomial, with 0 constant term.
        Returns:
        a polynomial whose derivative has the same coefficients as this polynomial
      • integrate

        public T integrate​(double lower,
                           double upper)
        Returns the definite integral of this polymomial over the given interval.

        [lower, upper] must describe a finite interval (neither can be infinite and lower must be less than or equal to upper).

        Parameters:
        lower - lower bound for the integration
        upper - upper bound for the integration
        Returns:
        the integral of this polymomial over the given interval
        Throws:
        MathIllegalArgumentException - if the bounds do not describe a finite interval
      • integrate

        public T integrate​(T lower,
                           T upper)
        Returns the definite integral of this polymomial over the given interval.

        [lower, upper] must describe a finite interval (neither can be infinite and lower must be less than or equal to upper).

        Parameters:
        lower - lower bound for the integration
        upper - upper bound for the integration
        Returns:
        the integral of this polymomial over the given interval
        Throws:
        MathIllegalArgumentException - if the bounds do not describe a finite interval