setup_ishigami_function

pyapprox.benchmarks.setup_ishigami_function(a, b)[source]

Setup the Ishigami function benchmark

\[f(z) = \sin(z_1)+a\sin^2(z_2) + bz_3^4\sin(z_0)\]

using

>>> from pyapprox.benchmarks.benchmarks import setup_benchmark
>>> benchmark=setup_benchmark('ishigami',a=7,b=0.1)
>>> print(benchmark.keys())
dict_keys(['fun', 'jac', 'hess', 'variable', 'mean', 'variance', 'main_effects', 'total_effects', 'sobol_indices'])
Parameters:
afloat

The hyper-parameter a

bfloat

The hyper-parameter b

Returns:
benchmarkBenchmark

Object containing the benchmark attributes

funcallable

The function being analyzed

variableJointVariable

Class containing information about each of the nvars inputs to fun

jaccallable

The jacobian of fun. (optional)

hesscallable

The Hessian of fun. (optional)

hesspcallable

Function implementing the hessian of fun multiplied by a vector. (optional)

mean: np.ndarray (nvars)

The mean of the function with respect to the PDF of var

variance: np.ndarray (nvars)

The variance of the function with respect to the PDF of var

main_effectsnp.ndarray (nvars)

The variance based main effect sensitivity indices

total_effectsnp.ndarray (nvars)

The variance based total effect sensitivity indices

sobol_indicesnp.ndarray (nsobol_indices)

The variance based Sobol sensitivity indices

sobol_interaction_indicesnp.ndarray(nsobol_indices)

The indices of the acitive variable dimensions involved in each sobol index

References