TaylorExpansionMoments

class TaylorExpansionMoments(*args)

Moments approximations from Taylor expansions.

Parameters:
limitStateVariableRandomVector

It must be of type Composite, which means it must have been defined with the class CompositeRandomVector.

Notes

Assuming that \uX has its two first moments finite and that h is sufficiently smooth, some Taylor expansions of the function h are used to approximate the mean and variance of the random vector \uY = h(\uX).

Refer to Refer to Taylor Expansion Moments for details on the expressions of the approximations:

  • The first-order expansion of h yields to an approximation of the mean and the variance of \uY;

  • The second-order expansion of h yields to an approximation of the mean \uY.

Refer to Taylor Importance Factors for details on the importance factors of each input on the output.

Examples

>>> import openturns as ot
>>> ot.RandomGenerator.SetSeed(0)
>>> myFunc = ot.SymbolicFunction(['x1', 'x2', 'x3', 'x4'],
...     ['(x1*x1+x2^3*x1)/(2*x3*x3+x4^4+1)', 'cos(x2*x2+x4)/(x1*x1+1+x3^4)'])
>>> R = ot.CorrelationMatrix(4)
>>> for i in range(4):
...     R[i, i - 1] = 0.25
>>> distribution = ot.Normal([0.2]*4, [0.1, 0.2, 0.3, 0.4], R)
>>> # We create a distribution-based RandomVector
>>> X = ot.RandomVector(distribution)
>>> # We create a composite RandomVector Y from X and myFunc
>>> Y = ot.CompositeRandomVector(myFunc, X)
>>> # We create a Taylor expansion method to approximate moments
>>> myTaylorExpansionMoments = ot.TaylorExpansionMoments(Y)
>>> print(myTaylorExpansionMoments.getMeanFirstOrder())
[0.0384615,0.932544]

Methods

drawImportanceFactors()

Draw the importance factors.

getClassName()

Accessor to the object's name.

getCovariance()

Get the approximation of the covariance matrix.

getGradientAtMean()

Get the gradient of the function at the mean point.

getHessianAtMean()

Get the hessian of the function.

getId()

Accessor to the object's id.

getImportanceFactors()

Get the importance factors.

getLimitStateVariable()

Get the limit state variable.

getMeanFirstOrder()

Get the first-order approximation of the mean.

getMeanSecondOrder()

Get the second-order approximation of the mean.

getName()

Accessor to the object's name.

getShadowedId()

Accessor to the object's shadowed id.

getValueAtMean()

Get the value of the function at the mean point.

getVisibility()

Accessor to the object's visibility state.

hasName()

Test if the object is named.

hasVisibleName()

Test if the object has a distinguishable name.

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)
drawImportanceFactors()

Draw the importance factors.

Returns:
graphGraph

Pie graph of the importance factors.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getCovariance()

Get the approximation of the covariance matrix.

Returns:
covarianceCovarianceMatrix

Approximation of the covariance matrix from the first-order Taylor expansion.

getGradientAtMean()

Get the gradient of the function at the mean point.

Returns:
gradientMatrix

Gradient of h at the mean point of the input random vector.

getHessianAtMean()

Get the hessian of the function.

Returns:
hessianSymmetricTensor

Hessian of the Function which defines the random vector at the mean point of the input random vector.

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getImportanceFactors()

Get the importance factors.

Returns:
factorsPoint

Importance factors of the inputs : only when randVect is of dimension 1.

getLimitStateVariable()

Get the limit state variable.

Returns:
limitStateVariableRandomVector

The Y output random vector.

getMeanFirstOrder()

Get the first-order approximation of the mean.

Returns:
meanPoint

Approximation of \Expect{Y} from the first-order Taylor expansion.

getMeanSecondOrder()

Get the second-order approximation of the mean.

Returns:
meanPoint

Approximation of \Expect{Y} from the second-order Taylor expansion.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getShadowedId()

Accessor to the object’s shadowed id.

Returns:
idint

Internal unique identifier.

getValueAtMean()

Get the value of the function at the mean point.

Returns:
valuePoint

Value h(\Expect{\uX}).

getVisibility()

Accessor to the object’s visibility state.

Returns:
visiblebool

Visibility flag.

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.

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.

Examples using the class

Analyse the central tendency of a cantilever beam

Analyse the central tendency of a cantilever beam

Estimate moments from Taylor expansions

Estimate moments from Taylor expansions

Example of sensitivity analyses on the wing weight model

Example of sensitivity analyses on the wing weight model