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.See also
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
Methods
__call__
(x)Call self as a function.
derivate
()Build the first-order derivative polynomial.
draw
(xMin, xMax, pointNumber)Draw the function.
Accessor to the object’s name.
Accessor to the polynomials’s coefficients.
Accessor to the polynomials’s degree.
getId
()Accessor to the object’s id.
getName
()Accessor to the object’s name.
Accessor to the recurrence coefficients.
getRoots
()Compute the roots of the polynomial.
Accessor to the object’s shadowed id.
Accessor to the object’s visibility state.
gradient
(x)Compute the gradient at point .
hasName
()Test if the object is named.
Test if the object has a distinguishable name.
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.
setShadowedId
(id)Accessor to the object’s shadowed id.
setVisibility
(visible)Accessor to the object’s visibility state.
- __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.
- 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,
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
- coefficients
Point
Polynomial coefficients in increasing polynomial order.
- coefficients
See also
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
- getId()¶
Accessor to the object’s id.
- Returns
- idint
Internal unique identifier.
- 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 .
- recurrence_coefficientslist of
Notes
Any sequence of orthogonal polynomials has a recurrence formula relating any three consecutive polynomials as follows:
Examples
>>> import openturns as ot >>> polynomial = ot.OrthogonalUniVariatePolynomialFamily().build(2) >>> print(polynomial.getRecurrenceCoefficients()) [[1,0,0],[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)]
- getShadowedId()¶
Accessor to the object’s shadowed id.
- Returns
- idint
Internal unique identifier.
- getVisibility()¶
Accessor to the object’s visibility state.
- Returns
- visiblebool
Visibility flag.
- gradient(x)¶
Compute the gradient at point .
- Returns
- gradientfloat
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]) >>> print(P.gradient(1.0)) 8.0
- hasName()¶
Test if the object is named.
- Returns
- hasNamebool
True if the name is not empty.
- hasVisibleName()¶
Test if the object has a distinguishable name.
- Returns
- hasVisibleNamebool
True if the name is not empty and not the default one.
- hessian(x)¶
Compute the hessian at point .
- Parameters
- xfloat
Input value.
- Returns
- hessianfloat
The value of the function’s second-order derivative at point .
- incrementDegree(degree=1)¶
Multiply the polynomial by .
- Parameters
- degreeint, optional
The incremented degree . Default uses .
- Returns
- incremented_degree_polynomial
UniVariatePolynomial
Polynomial with incremented degree.
- incremented_degree_polynomial
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
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.
- setShadowedId(id)¶
Accessor to the object’s shadowed id.
- Parameters
- idint
Internal unique identifier.
- setVisibility(visible)¶
Accessor to the object’s visibility state.
- Parameters
- visiblebool
Visibility flag.