Class PolynomialFunctionNewtonForm

  • All Implemented Interfaces:
    UnivariateRealFunction

    public class PolynomialFunctionNewtonForm
    extends Object
    implements UnivariateRealFunction
    Implements the representation of a real polynomial function in Newton Form. For reference, see Elementary Numerical Analysis, ISBN 0070124477, chapter 2.

    The formula of polynomial in Newton form is p(x) = a[0] + a[1](x-c[0]) + a[2](x-c[0])(x-c[1]) + ... + a[n](x-c[0])(x-c[1])...(x-c[n-1]) Note that the length of a[] is one more than the length of c[]

    Since:
    1.2
    • Constructor Detail

      • PolynomialFunctionNewtonForm

        public PolynomialFunctionNewtonForm​(double[] a,
                                            double[] c)
                                     throws IllegalArgumentException
        Construct a Newton polynomial with the given a[] and c[]. The order of centers are important in that if c[] shuffle, then values of a[] would completely change, not just a permutation of old a[].

        The constructor makes copy of the input arrays and assigns them.

        Parameters:
        a - the coefficients in Newton form formula
        c - the centers
        Throws:
        IllegalArgumentException - if input arrays are not valid
    • Method Detail

      • degree

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

        public double[] getNewtonCoefficients()
        Returns a copy of coefficients in Newton form formula.

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

        Returns:
        a fresh copy of coefficients in Newton form formula
      • getCenters

        public double[] getCenters()
        Returns a copy of the centers array.

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

        Returns:
        a fresh copy of the centers array
      • getCoefficients

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

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

        Returns:
        a fresh copy of the coefficients array