LaguerreFactory

(Source code, png)

../../_images/openturns-LaguerreFactory-1.png
class LaguerreFactory(*args)

Laguerre specific orthonormal univariate polynomial family.

For the Gamma distribution.

Parameters:
kfloat

If parameters_set == ot.JacobiFactory.PROBABILITY: default shape parameter k > 0 of the Gamma distribution.

If parameters_set == ot.JacobiFactory.ANALYSIS: alternative shape parameter k_a = k - 1 > -1 of the Gamma distribution.

parameters_setint, optional

Integer telling which parameters set is used for defining the distribution (amongst ot.LaguerreFactory.ANALYSIS, ot.LaguerreFactory.PROBABILITY).

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 1 < i

The recurrence coefficients for the Laguerre polynomials come analytically and read:

\begin{array}{rcl}
    a_i & = & \omega_i \\
    b_i & = & - (2 i + k_a + 1) \omega_i \\
    c_i & = & - \sqrt{(i + k_a) i} \omega_i
\end{array}, \quad 1 < i

where k_a is the alternative shape parameter of the Gamma distribution, and:

\omega_i = \frac{1}{\sqrt{(i + 1) (i + k_a + 1)}} , \quad 1 < i

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.LaguerreFactory()
>>> for i in range(3):
...     print(polynomial_factory.build(i))
1
-1 + X
1 - 2 * X + 0.5 * X^2

Methods

build(degree)

Build the k-th order orthogonal univariate polynomial.

buildCoefficients(degree)

Build the k-th order orthogonal univariate polynomial coefficients.

buildRecurrenceCoefficientsCollection(degree)

Build the recurrence coefficients.

getClassName()

Accessor to the object's name.

getK()

Accessor to the alternative shape parameter k_a.

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.

hasName()

Test if the object is named.

setName(name)

Accessor to the object's name.

__init__(*args)
build(degree)

Build the k-th order orthogonal univariate polynomial.

Parameters:
kint, 0 \leq k

Polynomial order.

Returns:
polynomialOrthogonalUniVariatePolynomial

Requested orthogonal univariate polynomial.

Examples

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

Build the k-th order orthogonal univariate polynomial coefficients.

Parameters:
kint, 0 \leq k

Polynomial order.

Returns:
coefficientsPoint

Coefficients of the requested orthogonal univariate polynomial.

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> print(polynomial_factory.buildCoefficients(2))
[-0.707107,0,0.707107]
buildRecurrenceCoefficientsCollection(degree)

Build the recurrence coefficients.

Build the recurrence coefficients of the orthogonal univariate polynomial family up to the k-th order.

Parameters:
kint, 0 \leq k

Polynomial order.

Returns:
recurrence_coefficientslist of Point

All the tecurrence coefficients up to the requested order.

Examples

>>> import openturns as ot
>>> polynomial_factory = ot.HermiteFactory()
>>> print(polynomial_factory.buildRecurrenceCoefficientsCollection(2))
0 : [  1         0         0        ]
1 : [  0.707107  0        -0.707107 ]
getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getK()

Accessor to the alternative shape parameter k_a.

Of the Gamma distribution.

Returns:
k_afloat

Alternative shape parameter k_a = k - 1 of the Gamma distribution.

getMeasure()

Accessor to the associated probability measure.

Returns:
measureDistribution

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

The name of the object.

getNodesAndWeights(n)

Build the k-th order quadrature scheme.

Associated with the orthogonal univariate polynomials family.

Parameters:
kint, 0 < k

Polynomial order.

Returns:
nodesPoint

The nodes of the k-th order quadrature scheme.

weightsPoint

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:
kint, 0 \leq k

Polynomial order.

Returns:
recurrence_coefficientsPoint

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:
kint, k > 0

Polynomial order.

Returns:
rootsPoint

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]
hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

Examples using the class

Polynomial chaos graphs

Polynomial chaos graphs

Advanced polynomial chaos construction

Advanced polynomial chaos construction