WebCab Portfolio for .NET v5.0 Demo

Interpolation.CoefficientsInterpolatingPolynomialStable Method 

Evaluates the coefficients of the interpolating polynomial when the tabulation points are known.

public double[] CoefficientsInterpolatingPolynomialStable(
   double[] tabulatedValues,
   double[] polynomialValues
);

Parameters

tabulatedValues
An array of doubles which represent the values at which the interpolation polynomial is tabulated. That is, is `f' is the interpolating polynomial then we have f(tabulatedValues[i]) = polynomialValues[i]; where `polynomialValues[i]' is the value of the interpolating polynomial at the `tabulatedValues[i]'.
polynomialValues
An array of doubles where the first element `polynomialValues[0]', corresponds to the value of the interpolating polynomial at the first tabulation point `tabulatedValues[0]', and the second values `polynomialValues[1]' corresponds to the value of the interpolating polynomial at the second tabulated point `tabulatedValues[1]', and so on.

Return Value

An array of double where the i-th term is the i-th coefficient within the interpolation function.

Remarks

That is, a set of points in the range and the corresponding values in the domain of the interpolation function are known and we will deduce from this information the coefficients of the corresponding interpolation polynomial assuming the degree of this polynomial is one less than the number of tabulation points used.

Further Explanation

If we are given a set of n points on which the interpolation function is known then this method evaluates the n coefficients c_i of the interpolation function c_0 + (c_1 * x) + (c_2 * x * x)+ ....

More explicitly, given a set of tabulation points x = {x[i]: i=0,...,n-1} and y = {y[i]:i=0,...,n-1} which defines a function by y[i] = f(x[i]). This method returns an array of doubles which are the coefficients of the interpolating polynomial where the first term of the array corresponds to the 0th order term, the second term corresponds to the 1st order term (i.e. x's coefficient) and so on.

Comparison with CoefficientsInterpolatingPolynomial

The method CoefficientsInterpolatingPolynomial differs slightly from this method which is less direct and slower by a power of the number of tabulation points used. However, we have found this approach to be more stable. The essential idea in this approach is that it uses the InterpolateExtrapolatePolynomial method with iterative reduction to arrive at the interpolation polynomial.

Remark: If the two arrays have different lengths the shorter one will be used as reference.

Exceptions

Exception TypeCondition
InterpolationExceptionThrown when any of the two parameters are null.

See Also

Interpolation Class | WebCab.Libraries.Finance.Portfolio Namespace | CoefficientsInterpolatingPolynomial | InterpolateExtrapolatePolynomial