DirichletSensitivity

class DirichletSensitivity(alpha=class=Point name=Unnamed dimension=3 values=[0.5,0.333333,0.25])

Class to define a Dirichlet sensitivity benchmark problem.

Methods

ComputeIndices(alpha)

Compute the exact Sobol' indices of the Dirichlet test case.

getFirstOrderIndices()

Returns the first order Sobol' sensitivity indices.

getFunction()

Returns the function.

getInputDistribution()

Returns the input distribution.

getName()

Returns the name of the problem.

getTotalOrderIndices()

Returns the total order Sobol' sensitivity indices.

__init__(alpha=class=Point name=Unnamed dimension=3 values=[0.5,0.333333,0.25])

Create a Dirichlet sensitivity problem.

The function is defined by the equation:

g(x) = prod_{i=1}^p (1 + g_i(x[i]))

where:

g_i(x) = \alpha_i d_i(x)

for any x in [0, 1], where d_i is the Dirichlet kernel:

d_i(x) = \frac{1}{\sqrt{2i}} \frac{\sin{2i + 1} \pi x}{\sin{\pi x} - 1}

for i=1, 2, …, p.

By continuity, we set:

d_i(0) = \frac{1}{\sqrt{2i}} \forall i=1, 2, ..., p.

The Dirichlet kernel has the properties:

\int_0^1 d_i(x) dx = 0,
\int_0^1 d_i(x)^2 dx = 0.

The input random variables are independent.

Parameters:
alphasequence of float

The vector of coefficients.

Notes

The dimension of this problem can be changed, but its parameters can. The Sobol’ sensitivity indices are computed from the values of the parameters.

The model was first introduced in (Martinez, 2008).

References

Examples

>>> import otbenchmark as otb
>>> problem = otb.DirichletSensitivity()
static ComputeIndices(alpha)

Compute the exact Sobol’ indices of the Dirichlet test case.

Parameters:
alpha: ot.Point(n)

The vector of alpha parameters.

Returns:
exactdict

The exact expectation, variance, first order Sobol’ indices, total order Sobol’ indices.

getFirstOrderIndices()

Returns the first order Sobol’ sensitivity indices.

Parameters:
None.
Returns:
firstOrderIndices: ot.Point

The first order sensitivity indices.

getFunction()

Returns the function.

Parameters:
None.
Returns:
function: ot.Function

The function.

getInputDistribution()

Returns the input distribution.

Parameters:
None.
Returns:
distribution: ot.Distribution

The distribution.

getName()

Returns the name of the problem.

Parameters:
None.
Returns:
name: str

The name.

getTotalOrderIndices()

Returns the total order Sobol’ sensitivity indices.

Parameters:
None.
Returns:
totalOrderIndices: ot.Point

The total order sensitivity indices.