OrthogonalUniVariatePolynomialFamily

class OrthogonalUniVariatePolynomialFamily(*args)

Base class for orthogonal univariate polynomial factories.

Methods

build(degree) Build the k-th order orthogonal univariate polynomial.
getClassName() Accessor to the object’s name.
getId() Accessor to the object’s id.
getImplementation(*args) Accessor to the underlying implementation.
getMeasure() Accessor to the associated probability measure.
getName() Accessor to the object’s name.
getNodesAndWeights(n) Build the k-th order quadrature scheme.
getRecurrenceCoefficients(n) Accessor to the recurrence coefficients of the k-th order.
getRoots(n) Accessor to the recurrence coefficients of the k-th order.
setName(name) Accessor to the object’s name.
__init__(*args)
build(degree)

Build the k-th order orthogonal univariate polynomial.

Parameters:

k : int, 0 \leq k

Polynomial order.

Returns:

polynomial : OrthogonalUniVariatePolynomial

Requested orthogonal univariate polynomial.

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> print(polynomial_factory.build(2))
-0.707107 + 0.707107 * X^2
getClassName()

Accessor to the object’s name.

Returns:

class_name : str

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

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.

getMeasure()

Accessor to the associated probability measure.

Returns:

measure : Distribution

The associated probability measure (according to which the polynomials are orthogonal).

Notes

Two polynomials P and Q are orthogonal with respect to the probability measure w(x) \di{x} if and only if their dot product:

\langle P, Q \rangle = \int_{\alpha}^{\beta} P(x) Q(x) w(x)\di{x}
                     = 0

where \alpha \in \Rset \cup \{-\infty\} and \beta \in \Rset \cup \{+\infty\}.

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> print(polynomial_factory.getMeasure())
Normal(mu = 0, sigma = 1)
getName()

Accessor to the object’s name.

Returns:

name : str

The name of the object.

getNodesAndWeights(n)

Build the k-th order quadrature scheme.

Associated with the orthogonal univariate polynomials family.

Parameters:

k : int, 0 < k

Polynomial order.

Returns:

nodes : Point

The nodes of the k-th order quadrature scheme.

weights : Point

The weights of the k-th order quadrature scheme.

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> nodes, weights = polynomial_factory.getNodesAndWeights(3)
>>> print(nodes)
[-1.73205,...,1.73205]
>>> print(weights)
[0.166667,0.666667,0.166667]
getRecurrenceCoefficients(n)

Accessor to the recurrence coefficients of the k-th order.

Of the orthogonal univariate polynomial.

Parameters:

k : int, 0 \leq k

Polynomial order.

Returns:

recurrence_coefficients : Point

The recurrence coefficients of the k-th order orthogonal univariate polynomial.

Notes

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

P_{-1}=0, P_0=1, P_{n + 1} = (a_n x + b_n) P_n + c_n P_{n - 1}, \quad n > 1

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> print(polynomial_factory.getRecurrenceCoefficients(3))
[0.5,0,-0.866025]
getRoots(n)

Accessor to the recurrence coefficients of the k-th order.

Of the orthogonal univariate polynomial.

Parameters:

k : int, k > 0

Polynomial order.

Returns:

roots : Point

The roots of the k-th order orthogonal univariate polynomial.

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> print(polynomial_factory.getRoots(3))
[-1.73205,...,1.73205]
setName(name)

Accessor to the object’s name.

Parameters:

name : str

The name of the object.