OrthogonalUniVariatePolynomial

class OrthogonalUniVariatePolynomial(*args)

Base class for orthogonal univariate polynomials.

Warning

Orthogonal univariate polynomials are not intended to be created manually. They should be constructed with the subclasses of OrthogonalUniVariatePolynomialFamily (like e.g. HermiteFactory). Constructor parameters are therefore intentionally not documented.

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.

getName()

Accessor to the object's name.

getRecurrenceCoefficients()

Accessor to the recurrence coefficients.

getRoots()

Compute the roots of the polynomial.

gradient(x)

Compute the gradient at point x.

hasName()

Test if the object is named.

hessian(x)

Compute the hessian at point x.

incrementDegree([degree])

Multiply the polynomial by x^k.

setCoefficients(coefficients)

Accessor to the polynomials's coefficients.

setName(name)

Accessor to the object's name.

Examples

>>> import openturns as ot

Create a univariate polynomial from a list of coefficients:

>>> for i in range(3):
...     print(ot.OrthogonalUniVariatePolynomialFamily().build(i))
1
X
-0.707107 + 0.707107 * X^2
__init__(*args)
derivate()

Build the first-order derivative polynomial.

Returns:
derivated_polynomialUniVariatePolynomial

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_minfloat, optional

The starting value that is used for meshing the x-axis.

x_maxfloat, optional, x_{\max} > x_{\min}

The ending value that is used for meshing the x-axis.

n_pointsint, 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_namestr

The object class name (object.__class__.__name__).

getCoefficients()

Accessor to the polynomials’s coefficients.

Returns:
coefficientsPoint

Polynomial coefficients in increasing polynomial order.

See also

setCoefficients

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:
degreeint

Polynomial’s degree.

Examples

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

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getRecurrenceCoefficients()

Accessor to the recurrence coefficients.

Returns:
recurrence_coefficientslist of Point

The list of recurrence coefficients that defined the orthogonal univariate polynomial from the very first univariate orthogonal polynomial P_0.

Notes

Any sequence of orthogonal polynomials has a recurrence formula relating any three consecutive polynomials as follows:

P_{i + 1} = (a_i x + b_i) P_i + c_i P_{i - 1}, \quad i > 1

Examples

>>> import openturns as ot
>>> polynomial = ot.OrthogonalUniVariatePolynomialFamily().build(2)
>>> print(polynomial.getRecurrenceCoefficients())
0 : [  1         0         0        ]
1 : [  0.707107  0        -0.707107 ]
getRoots()

Compute the roots of the polynomial.

Returns:
rootslist 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 x.

Returns:
gradientfloat

The value of the function’s first-order derivative at point x.

Examples

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

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

hessian(x)

Compute the hessian at point x.

Parameters:
xfloat

Input value.

Returns:
hessianfloat

The value of the function’s second-order derivative at point x.

incrementDegree(degree=1)

Multiply the polynomial by x^k.

Parameters:
degreeint, optional

The incremented degree k. Default uses k = 1.

Returns:
incremented_degree_polynomialUniVariatePolynomial

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:
coefficientssequence of float

Polynomial coefficients in increasing polynomial order.

See also

getCoefficients

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:
namestr

The name of the object.

Examples using the class

A quick start guide to graphs

A quick start guide to graphs