|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.math3.analysis.polynomials.PolynomialFunctionNewtonForm
public class PolynomialFunctionNewtonForm
Implements the representation of a real polynomial function in Newton Form. For reference, see Elementary Numerical Analysis, ISBN 0070124477, chapter 2.
The formula of polynomial in Newton form is p(x) = a[0] + a[1](x-c[0]) + a[2](x-c[0])(x-c[1]) + ... + a[n](x-c[0])(x-c[1])...(x-c[n-1]) Note that the length of a[] is one more than the length of c[]
Constructor Summary | |
---|---|
PolynomialFunctionNewtonForm(double[] a,
double[] c)
Construct a Newton polynomial with the given a[] and c[]. |
Method Summary | |
---|---|
protected void |
computeCoefficients()
Calculate the normal polynomial coefficients given the Newton form. |
int |
degree()
Returns the degree of the polynomial. |
static double |
evaluate(double[] a,
double[] c,
double z)
Evaluate the Newton polynomial using nested multiplication. |
double[] |
getCenters()
Returns a copy of the centers array. |
double[] |
getCoefficients()
Returns a copy of the coefficients array. |
double[] |
getNewtonCoefficients()
Returns a copy of coefficients in Newton form formula. |
DerivativeStructure |
value(DerivativeStructure t)
Simple mathematical function. |
double |
value(double z)
Calculate the function value at the given point. |
protected static void |
verifyInputArray(double[] a,
double[] c)
Verifies that the input arrays are valid. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PolynomialFunctionNewtonForm(double[] a, double[] c)
The constructor makes copy of the input arrays and assigns them.
a
- Coefficients in Newton form formula.c
- Centers.
NullArgumentException
- if
any argument is null
.
NoDataException
- if any array has zero length.
DimensionMismatchException
- if the size difference between
a
and c
is not equal to 1.Method Detail |
---|
public double value(double z)
value
in interface UnivariateFunction
z
- Point at which the function value is to be computed.
public DerivativeStructure value(DerivativeStructure t)
UnivariateDifferentiableFunction
classes compute both the
value and the first derivative of the function.
value
in interface UnivariateDifferentiableFunction
t
- function input value
public int degree()
public double[] getNewtonCoefficients()
Changes made to the returned copy will not affect the polynomial.
public double[] getCenters()
Changes made to the returned copy will not affect the polynomial.
public double[] getCoefficients()
Changes made to the returned copy will not affect the polynomial.
public static double evaluate(double[] a, double[] c, double z)
a
- Coefficients in Newton form formula.c
- Centers.z
- Point at which the function value is to be computed.
NullArgumentException
- if
any argument is null
.
NoDataException
- if any array has zero length.
DimensionMismatchException
- if the size difference between
a
and c
is not equal to 1.protected void computeCoefficients()
protected static void verifyInputArray(double[] a, double[] c)
The centers must be distinct for interpolation purposes, but not for general use. Thus it is not verified here.
a
- the coefficients in Newton form formulac
- the centers
NullArgumentException
- if
any argument is null
.
NoDataException
- if any array has zero length.
DimensionMismatchException
- if the size difference between
a
and c
is not equal to 1.DividedDifferenceInterpolator.computeDividedDifference(double[],
double[])
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |