org.apache.commons.math.analysis.polynomials

## Class PolynomialFunction

• java.lang.Object
• org.apache.commons.math.analysis.polynomials.PolynomialFunction
• ### Constructor Summary

Constructors
Constructor and Description
`PolynomialFunction(double[] c)`
Construct a polynomial with the given coefficients.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`PolynomialFunction` `add(PolynomialFunction p)`
Add a polynomial to the instance.
`int` `degree()`
Returns the degree of the polynomial
`UnivariateRealFunction` `derivative()`
Returns the derivative as a UnivariateRealFunction
`boolean` `equals(java.lang.Object obj)`
`double[]` `getCoefficients()`
Returns a copy of the coefficients array.
`int` `hashCode()`
`PolynomialFunction` `multiply(PolynomialFunction p)`
Multiply the instance by a polynomial.
`PolynomialFunction` `negate()`
Negate the instance.
`PolynomialFunction` `polynomialDerivative()`
Returns the derivative as a PolynomialRealFunction
`PolynomialFunction` `subtract(PolynomialFunction p)`
Subtract a polynomial from the instance.
`java.lang.String` `toString()`
Returns a string representation of the polynomial.
`double` `value(double x)`
Compute the value of the function for the given argument.
• ### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`
• ### Constructor Detail

• #### PolynomialFunction

`public PolynomialFunction(double[] c)`
Construct a polynomial with the given coefficients. The first element of the coefficients array is the constant term. Higher degree coefficients follow in sequence. The degree of the resulting polynomial is the index of the last non-null element of the array, or 0 if all elements are null.

The constructor makes a copy of the input array and assigns the copy to the coefficients property.

Parameters:
`c` - polynomial coefficients
Throws:
`java.lang.NullPointerException` - if c is null
`NoDataException` - if c is empty
• ### Method Detail

• #### value

`public double value(double x)`
Compute the value of the function for the given argument.

The value returned is
`coefficients[n] * x^n + ... + coefficients * x + coefficients`

Specified by:
`value` in interface `UnivariateRealFunction`
Parameters:
`x` - the argument for which the function value should be computed
Returns:
the value of the polynomial at the given point
`UnivariateRealFunction.value(double)`
• #### degree

`public int degree()`
Returns the degree of the polynomial
Returns:
the degree of the polynomial
• #### getCoefficients

`public double[] getCoefficients()`
Returns a copy of the coefficients array.

Changes made to the returned copy will not affect the coefficients of the polynomial.

Returns:
a fresh copy of the coefficients array

`public PolynomialFunction add(PolynomialFunction p)`
Add a polynomial to the instance.
Parameters:
`p` - polynomial to add
Returns:
a new polynomial which is the sum of the instance and p
• #### subtract

`public PolynomialFunction subtract(PolynomialFunction p)`
Subtract a polynomial from the instance.
Parameters:
`p` - polynomial to subtract
Returns:
a new polynomial which is the difference the instance minus p
• #### negate

`public PolynomialFunction negate()`
Negate the instance.
Returns:
a new polynomial
• #### multiply

`public PolynomialFunction multiply(PolynomialFunction p)`
Multiply the instance by a polynomial.
Parameters:
`p` - polynomial to multiply by
Returns:
a new polynomial
• #### polynomialDerivative

`public PolynomialFunction polynomialDerivative()`
Returns the derivative as a PolynomialRealFunction
Returns:
the derivative polynomial
• #### derivative

`public UnivariateRealFunction derivative()`
Returns the derivative as a UnivariateRealFunction
Specified by:
`derivative` in interface `DifferentiableUnivariateRealFunction`
Returns:
the derivative function
• #### toString

`public java.lang.String toString()`
Returns a string representation of the polynomial.

The representation is user oriented. Terms are displayed lowest degrees first. The multiplications signs, coefficients equals to one and null terms are not displayed (except if the polynomial is 0, in which case the 0 constant term is displayed). Addition of terms with negative coefficients are replaced by subtraction of terms with positive coefficients except for the first displayed term (i.e. we display `-3` for a constant negative polynomial, but `1 - 3 x + x^2` if the negative coefficient is not the first one displayed).

Overrides:
`toString` in class `java.lang.Object`
Returns:
a string representation of the polynomial
• #### hashCode

`public int hashCode()`
Overrides:
`hashCode` in class `java.lang.Object`
• #### equals

`public boolean equals(java.lang.Object obj)`
Overrides:
`equals` in class `java.lang.Object`