Package cc.redberry.rings.poly.univar
Class UnivariateInterpolation
- java.lang.Object
-
- cc.redberry.rings.poly.univar.UnivariateInterpolation
-
public final class UnivariateInterpolation extends Object
Univariate polynomial interpolation.- Since:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUnivariateInterpolation.Interpolation<E>Updatable Newton interpolationstatic classUnivariateInterpolation.InterpolationZp64Updatable Newton interpolation
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static UnivariatePolynomialZp64interpolateLagrange(long modulus, long[] points, long[] values)Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i].static <E> UnivariatePolynomial<E>interpolateLagrange(Ring<E> ring, E[] points, E[] values)Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i].static UnivariatePolynomialZp64interpolateNewton(long modulus, long[] points, long[] values)Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i].static UnivariatePolynomialZp64interpolateNewton(IntegersZp64 ring, long[] points, long[] values)Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i].static <E> UnivariatePolynomial<E>interpolateNewton(Ring<E> ring, E[] points, E[] values)Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i].
-
-
-
Method Detail
-
interpolateLagrange
public static UnivariatePolynomialZp64 interpolateLagrange(long modulus, long[] points, long[] values)
Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i]. This method uses Lagrange's interpolation formula.- Parameters:
modulus- the moduluspoints- evaluation pointsvalues- 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 atpoints[i]are exactlyvalues[i]. This method uses Lagrange's interpolation formula.- Parameters:
ring- the ringpoints- evaluation pointsvalues- corresponding polynomial values- Returns:
- the interpolating polynomial
-
interpolateNewton
public static UnivariatePolynomialZp64 interpolateNewton(long modulus, long[] points, long[] values)
Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i]. This method uses Newton's mixed radix iterations.- Parameters:
modulus- the moduluspoints- evaluation pointsvalues- corresponding polynomial values- Returns:
- the interpolating polynomial
-
interpolateNewton
public static UnivariatePolynomialZp64 interpolateNewton(IntegersZp64 ring, long[] points, long[] values)
Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[i]. This method uses Newton's mixed radix iterations.- Parameters:
ring- the ringpoints- evaluation pointsvalues- 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 atpoints[i]are exactlyvalues[i]. This method uses Newton's mixed radix iterations.- Parameters:
ring- the ringpoints- evaluation pointsvalues- corresponding polynomial values- Returns:
- the interpolating polynomial
-
-