Class UnivariateInterpolation


  • public final class UnivariateInterpolation
    extends Object
    Univariate polynomial interpolation.
    Since:
    1.0
    • Method Detail

      • interpolateLagrange

        public static UnivariatePolynomialZp64 interpolateLagrange​(long modulus,
                                                                   long[] points,
                                                                   long[] values)
        Constructs an interpolating polynomial which values at points[i] are exactly values[i]. This method uses Lagrange's interpolation formula.
        Parameters:
        modulus - the modulus
        points - evaluation points
        values - corresponding polynomial values
        Returns:
        the interpolating polynomial
      • interpolateLagrange

        public static <E> UnivariatePolynomial<E> interpolateLagrange​(Ring<E> ring,
                                                                      E[] points,
                                                                      E[] values)
        Constructs an interpolating polynomial which values at points[i] are exactly values[i]. This method uses Lagrange's interpolation formula.
        Parameters:
        ring - the ring
        points - evaluation points
        values - corresponding polynomial values
        Returns:
        the interpolating polynomial
      • interpolateNewton

        public static UnivariatePolynomialZp64 interpolateNewton​(long modulus,
                                                                 long[] points,
                                                                 long[] values)
        Constructs an interpolating polynomial which values at points[i] are exactly values[i]. This method uses Newton's mixed radix iterations.
        Parameters:
        modulus - the modulus
        points - evaluation points
        values - corresponding polynomial values
        Returns:
        the interpolating polynomial
      • interpolateNewton

        public static UnivariatePolynomialZp64 interpolateNewton​(IntegersZp64 ring,
                                                                 long[] points,
                                                                 long[] values)
        Constructs an interpolating polynomial which values at points[i] are exactly values[i]. This method uses Newton's mixed radix iterations.
        Parameters:
        ring - the ring
        points - evaluation points
        values - corresponding polynomial values
        Returns:
        the interpolating polynomial
      • interpolateNewton

        public static <E> UnivariatePolynomial<E> interpolateNewton​(Ring<E> ring,
                                                                    E[] points,
                                                                    E[] values)
        Constructs an interpolating polynomial which values at points[i] are exactly values[i]. This method uses Newton's mixed radix iterations.
        Parameters:
        ring - the ring
        points - evaluation points
        values - corresponding polynomial values
        Returns:
        the interpolating polynomial