CenteredFiniteDifferenceHessian

class CenteredFiniteDifferenceHessian(*args)

Second order centered finite-difference scheme.

Available constructors:

CenteredFiniteDifferenceHessian(epsilon, evalImpl)

CenteredFiniteDifferenceHessian(step, evalImpl)

Parameters
evalImplEvaluationImplementation

Implementation of the evaluation of a function.

epsilonfloat, sequence of float

Finite difference steps for each dimension.

stepFiniteDifferenceStep

Defines how finite difference steps values are computed.

Notes

CenteredFiniteDifferenceHessian provides a second order centered finite- difference scheme:

\frac{\partial^2 f_k}{\partial x_i \partial x_j} \approx
                                   \frac{
                                      f_k(x + \epsilon_i + \epsilon_j) -
                                      f_k(x + \epsilon_i - \epsilon_j) +
                                      f_k(x - \epsilon_i - \epsilon_j) -
                                      f_k(x - \epsilon_i + \epsilon_j)}
                                   {4 \epsilon_i \epsilon_j}

Examples

>>> import openturns as ot
>>> formulas = ['x1 * sin(x2)', 'cos(x1 + x2)', '(x2 + 1) * exp(x1 - 2 * x2)']
>>> myFunc = ot.SymbolicFunction(['x1', 'x2'], formulas)
>>> epsilon = [0.01]*2
>>> myHessian = ot.CenteredFiniteDifferenceHessian(epsilon, myFunc.getEvaluation())
>>> inPoint = [1.0]*2
>>> print(myHessian.hessian(inPoint))
sheet #0
[[  0         0.540293 ]
 [  0.540293 -0.841443 ]]
sheet #1
[[  0.416133  0.416133 ]
 [  0.416133  0.416133 ]]
sheet #2
[[  0.735783 -1.10368  ]
 [ -1.10368   1.47152  ]]

Methods

getCallsNumber()

Accessor to the number of times the hessian has been called.

getClassName()

Accessor to the object's name.

getEpsilon()

Get the finite difference steps.

getEvaluation()

Get the implementation of the evaluation of the function.

getFiniteDifferenceStep()

Get the finite difference step.

getId()

Accessor to the object's id.

getInputDimension()

Get the input dimension.

getMarginal(*args)

Accessor to the hessian implementation of a specific output.

getName()

Accessor to the object's name.

getOutputDimension()

Get the output dimension.

getParameter()

Accessor to the parameter values.

getShadowedId()

Accessor to the object's shadowed id.

getVisibility()

Accessor to the object's visibility state.

hasName()

Test if the object is named.

hasVisibleName()

Test if the object has a distinguishable name.

hessian(inP)

Get the hessian at some point.

isActualImplementation()

Accessor to the validity flag.

setFiniteDifferenceStep(finiteDifferenceStep)

Set the finite difference step.

setName(name)

Accessor to the object's name.

setParameter(parameter)

Accessor to the parameter values.

setShadowedId(id)

Accessor to the object's shadowed id.

setVisibility(visible)

Accessor to the object's visibility state.

__init__(*args)
getCallsNumber()

Accessor to the number of times the hessian has been called.

Returns
calls_numberint

Integer that counts the number of times the hessian has been called since its creation.

getClassName()

Accessor to the object’s name.

Returns
class_namestr

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

getEpsilon()

Get the finite difference steps.

Returns
epsilonPoint

Finite difference steps for each dimension.

getEvaluation()

Get the implementation of the evaluation of the function.

Returns
evalImplEvaluationImplementation

Implementation of the evaluation of a function.

getFiniteDifferenceStep()

Get the finite difference step.

Returns
stepFiniteDifferenceStep

Defines how finite difference steps values are computed.

getId()

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

getInputDimension()

Get the input dimension.

Returns
dimensionint

Input dimension.

getMarginal(*args)

Accessor to the hessian implementation of a specific output.

Parameters
iinteger

Integer corresponding to the output (Care: it starts at 0).

indicessequence of integer

The set of indices for which the outputs are extracted.

Returns
hessianImplementationHessianImplementation

A hessian implementation restricted to its compenents functions which indices are i or indices.

getName()

Accessor to the object’s name.

Returns
namestr

The name of the object.

getOutputDimension()

Get the output dimension.

Returns
dimensionint

Output dimension.

getParameter()

Accessor to the parameter values.

Returns
parameterPoint

The parameter values.

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.

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

Get the hessian at some point.

Parameters
pointsequence of float

Point where the hessian is computed.

Returns
hessianSymmetricTensor

Hessian evaluated at point.

isActualImplementation()

Accessor to the validity flag.

Returns
is_implbool

Whether the implementation is valid.

setFiniteDifferenceStep(finiteDifferenceStep)

Set the finite difference step.

Parameters
stepFiniteDifferenceStep

Defines how finite difference steps values are computed.

setName(name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

setParameter(parameter)

Accessor to the parameter values.

Parameters
parametersequence of float

The parameter values.

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.