Evaluates the coefficients of the interpolating polynomial when the tabulation points are known.
f
' is the interpolation polynomial then we have f(tabulatedValues[i]) = polynomialValues[i]
; where `polynomialValues[i]
' is the value of the interpolation polynomial at the `tabulated values`tabulatedValues[i]
'.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.An array of double where the i-th term is the i-th coefficient within the interpolation function.
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 CoefficientsInterpolatingPolynomialStable
The method CoefficientsInterpolatingPolynomialStable differs slightly from this method which is more direct, and faster by a power of the number of tabulation points used. However, we have found this approach to be less stable.
Remark: If the two arrays have different lengths the shorter one will be used as reference.
Exception Type | Condition |
---|---|
InterpolationException | Thrown when either of the two parameters is null . |
Interpolation Class | Portfolio Namespace