UniVariatePolynomial¶

class UniVariatePolynomial(*args)

Base class for univariate polynomials.

Parameters: coefficients : sequence of float Polynomial coefficients in increasing polynomial order.

Examples

>>> import openturns as ot


Create a univariate polynomial from a list of coefficients:

>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> print(P)
1 + 2 * X + 3 * X^2


Univariate polynomials are of course callable:

>>> print(P(1.0))
6.0


Addition, subtraction and multiplication of univariate polynomials:

>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> Q = ot.UniVariatePolynomial([1.0, 2.0])
>>> print('(%s) + (%s) = %s' % (P, Q, P + Q))
(1 + 2 * X + 3 * X^2) + (1 + 2 * X) = 2 + 4 * X + 3 * X^2
>>> print('(%s) - (%s) = %s' % (P, Q, P - Q))
(1 + 2 * X + 3 * X^2) - (1 + 2 * X) = 3 * X^2
>>> print('(%s) * (%s) = %s' % (P, Q, P * Q))
(1 + 2 * X + 3 * X^2) * (1 + 2 * X) = 1 + 4 * X + 7 * X^2 + 6 * X^3


Methods

 derivate() Build the first-order derivative polynomial. draw(xMin, xMax, pointNumber) Draw the function. getClassName() Accessor to the object’s name. getCoefficients() Accessor to the polynomials’s coefficients. getDegree() Accessor to the polynomials’s degree. getId() Accessor to the object’s id. getImplementation(*args) Accessor to the underlying implementation. getName() Accessor to the object’s name. getRoots() Compute the roots of the polynomial. gradient(x) Compute the gradient at point . hessian(x) Compute the hessian at point . incrementDegree([degree]) Multiply the polynomial by . setCoefficients(coefficients) Accessor to the polynomials’s coefficients. setName(name) Accessor to the object’s name.
 __call__
__init__(*args)

Initialize self. See help(type(self)) for accurate signature.

derivate()

Build the first-order derivative polynomial.

Returns: derivated_polynomial : Univariate The first-order derivated polynomial.

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> print(P.derivate())
2 + 6 * X

draw(xMin, xMax, pointNumber)

Draw the function.

Parameters: x_min : float, optional The starting value that is used for meshing the x-axis. x_max : float, optional, The ending value that is used for meshing the x-axis. n_points : int, optional The number of points that is used for meshing the x-axis.

Examples

>>> import openturns as ot
>>> from openturns.viewer import View
>>> f = ot.UniVariatePolynomial([1.0, 2.0, -3.0, 5.0])
>>> View(f.draw(-10.0, 10.0, 100)).show()

getClassName()

Accessor to the object’s name.

Returns: class_name : str The object class name (object.__class__.__name__).
getCoefficients()

Accessor to the polynomials’s coefficients.

Returns: coefficients : Point Polynomial coefficients in increasing polynomial order.

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> print(P.getCoefficients())
[1,2,3]

getDegree()

Accessor to the polynomials’s degree.

Returns: degree : int Polynomial’s degree.

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> print(P.getDegree())
2

getId()

Accessor to the object’s id.

Returns: id : int Internal unique identifier.
getImplementation(*args)

Accessor to the underlying implementation.

Returns: impl : Implementation The implementation class.
getName()

Accessor to the object’s name.

Returns: name : str The name of the object.
getRoots()

Compute the roots of the polynomial.

Returns: roots : list of complex values Polynomial’s roots.

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> print(P.getRoots())
[(-0.333333,0.471405),(-0.333333,-0.471405)]

gradient(x)

Compute the gradient at point .

Returns: gradient : float The value of the function’s first-order derivative at point .

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
8.0

hessian(x)

Compute the hessian at point .

Parameters: x : float Input value. hessian : float The value of the function’s second-order derivative at point .
incrementDegree(degree=1)

Multiply the polynomial by .

Parameters: degree : int, optional The incremented degree . Default uses . incremented_degree_polynomial : UniVariatePolynomial Polynomial with incremented degree.

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> print(P.incrementDegree())
X + 2 * X^2 + 3 * X^3
>>> print(P.incrementDegree(2))
X^2 + 2 * X^3 + 3 * X^4

setCoefficients(coefficients)

Accessor to the polynomials’s coefficients.

Parameters: coefficients : sequence of float Polynomial coefficients in increasing polynomial order.

Examples

>>> import openturns as ot
>>> P = ot.UniVariatePolynomial([1.0, 2.0, 3.0])
>>> P.setCoefficients([4.0, 2.0, 1.0])
>>> print(P)
4 + 2 * X + X^2

setName(name)

Accessor to the object’s name.

Parameters: name : str The name of the object.