Class UnivariateInterpolation

java.lang.Object
cc.redberry.rings.poly.univar.UnivariateInterpolation

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

    • 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