diff --git a/otbenchmark/master/_downloads/018bebf23004eb4c852157b01b94c189/plot_borgonovo_sensitivity.ipynb b/otbenchmark/master/_downloads/018bebf23004eb4c852157b01b94c189/plot_borgonovo_sensitivity.ipynb
new file mode 100644
index 00000000000..63ff75b7401
--- /dev/null
+++ b/otbenchmark/master/_downloads/018bebf23004eb4c852157b01b94c189/plot_borgonovo_sensitivity.ipynb
@@ -0,0 +1,235 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Borgonovo test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.BorgonovoSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (6.0, 6.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/02ebaaff0fbfc2d6c398818b1ca6b2f8/plot_nloscillator_sensitivity.zip b/otbenchmark/master/_downloads/02ebaaff0fbfc2d6c398818b1ca6b2f8/plot_nloscillator_sensitivity.zip
new file mode 100644
index 00000000000..3c3a0db87cd
Binary files /dev/null and b/otbenchmark/master/_downloads/02ebaaff0fbfc2d6c398818b1ca6b2f8/plot_nloscillator_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/07fcc19ba03226cd3d83d4e40ec44385/auto_examples_python.zip b/otbenchmark/master/_downloads/07fcc19ba03226cd3d83d4e40ec44385/auto_examples_python.zip
index 8584ed84ec1..6fade9a7ffa 100644
Binary files a/otbenchmark/master/_downloads/07fcc19ba03226cd3d83d4e40ec44385/auto_examples_python.zip and b/otbenchmark/master/_downloads/07fcc19ba03226cd3d83d4e40ec44385/auto_examples_python.zip differ
diff --git a/otbenchmark/master/_downloads/09a8c2ecba196a7145cf5887e3bfbf39/plot_dirichlet_sensitivity.zip b/otbenchmark/master/_downloads/09a8c2ecba196a7145cf5887e3bfbf39/plot_dirichlet_sensitivity.zip
new file mode 100644
index 00000000000..d97adc5b3e9
Binary files /dev/null and b/otbenchmark/master/_downloads/09a8c2ecba196a7145cf5887e3bfbf39/plot_dirichlet_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/0b4d0577810c77038fc3a798767a76ea/plot_flood_sensitivity.zip b/otbenchmark/master/_downloads/0b4d0577810c77038fc3a798767a76ea/plot_flood_sensitivity.zip
new file mode 100644
index 00000000000..d62292de176
Binary files /dev/null and b/otbenchmark/master/_downloads/0b4d0577810c77038fc3a798767a76ea/plot_flood_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/0ee134db52089df8699dbb596527cd27/plot_crosscut_distribution_2d.zip b/otbenchmark/master/_downloads/0ee134db52089df8699dbb596527cd27/plot_crosscut_distribution_2d.zip
index 4d0a458d62f..d7ee759b655 100644
Binary files a/otbenchmark/master/_downloads/0ee134db52089df8699dbb596527cd27/plot_crosscut_distribution_2d.zip and b/otbenchmark/master/_downloads/0ee134db52089df8699dbb596527cd27/plot_crosscut_distribution_2d.zip differ
diff --git a/otbenchmark/master/_downloads/13b9169f4ad20d57745bd3f8f0cb6282/plot_benchmark_sensitivity_methods.ipynb b/otbenchmark/master/_downloads/13b9169f4ad20d57745bd3f8f0cb6282/plot_benchmark_sensitivity_methods.ipynb
new file mode 100644
index 00000000000..fc04b1ce438
--- /dev/null
+++ b/otbenchmark/master/_downloads/13b9169f4ad20d57745bd3f8f0cb6282/plot_benchmark_sensitivity_methods.ipynb
@@ -0,0 +1,365 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark sensitivity analysis methods\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## When we estimate Sobol' indices, we may encounter the following warning messages:\nWRN - The estimated first order Sobol index (2) is greater than its total order index ...\nWRN - The estimated total order Sobol index (2) is lesser than first order index ...\n```\nLots of these messages are printed in the current Notebook. This is why we disable them with:\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.Log.Show(ot.Log.NONE)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Use Borgonovo problem\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.BorgonovoSensitivity()\ndistribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_total_order = problem.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Saltelli estimator with Monte-Carlo sample\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sample_size = 10000"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "inputDesign = ot.SobolIndicesExperiment(distribution, sample_size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(\n inputDesign, outputDesign, sample_size\n)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", sample_size)\n# First order\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Saltelli estimator with Quasi Monte-Carlo sample\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sample_size = 500"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nsequence = ot.SobolSequence(dimension)\nrestart = True\nexperiment = ot.LowDiscrepancyExperiment(sequence, distribution, sample_size, restart)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "inputDesign = ot.SobolIndicesExperiment(experiment).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(\n inputDesign, outputDesign, sample_size\n)\nfirst_order = sensitivityAnalysis.getFirstOrderIndices()\ntotal_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", sample_size)\n# First order\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Loop over the estimators\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Available estimators:\")\nestimators_list = otb.SensitivityBenchmarkMetaAlgorithm.GetEstimators()\nfor sobolAlgorithm in estimators_list:\n name = sobolAlgorithm.getClassName()\n print(\" - \", name)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "metaSAAlgorithm = otb.SensitivityBenchmarkMetaAlgorithm(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Monte-Carlo sampling\")\nfor sobolAlgorithm in estimators_list:\n (\n computed_first_order,\n computed_total_order,\n ) = metaSAAlgorithm.runSamplingEstimator(sample_size)\n name = sobolAlgorithm.getClassName()\n print(name)\n print(\" S = \", computed_first_order)\n print(\" T = \", computed_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Quasi Monte-Carlo sampling\")\nfor estimator in [\"Saltelli\", \"Martinez\", \"Jansen\", \"MauntzKucherenko\"]:\n (\n computed_first_order,\n computed_total_order,\n ) = metaSAAlgorithm.runSamplingEstimator(\n sample_size, estimator=estimator, sampling_method=\"QMC\"\n )\n name = sobolAlgorithm.getClassName()\n print(name)\n print(\" S = \", computed_first_order)\n print(\" T = \", computed_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Polynomial chaos\")\nsample_size = 500\n(\n computed_first_order,\n computed_total_order,\n) = metaSAAlgorithm.runPolynomialChaosEstimator(\n sample_size_train=sample_size,\n sample_size_test=2,\n total_degree=5,\n hyperbolic_quasinorm=0.5,\n)\nprint(\" S = \", computed_first_order)\nprint(\" T = \", computed_total_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Define the metric\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We consider the following accuracy metrics:\n* the vector or log relative errors for a given index (first order or total order),\n* the mean log relative error, as the mean of the LRE vector (first order or total order),\n* the average mean log relative error, as the mean of the first and total order mean log relative error.\n\nLarger LRE values are prefered.\n\nThe first order (resp. total order) mean LRE represents the mean number of digits for all components\nof the first order indices (resp. total order indices).\nThe average mean LRE represents the mean LRE for both first and total order indices.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "S_LRE = ot.Point(dimension)\nT_LRE = ot.Point(dimension)\nfor i in range(dimension):\n S_LRE[i] = otb.ComputeLogRelativeError(\n computed_first_order[i], exact_first_order[i]\n )\n T_LRE[i] = otb.ComputeLogRelativeError(\n computed_total_order[i], exact_total_order[i]\n )"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"LRE S = \", S_LRE)\nprint(\"LRE T = \", T_LRE)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "mean_LRE_S = sum(S_LRE) / dimension\nmean_LRE_T = sum(T_LRE) / dimension\nmean_LRE = (mean_LRE_S + mean_LRE_T) / 2.0\nprint(\"Mean LRE S = %.2f\" % (mean_LRE_S))\nprint(\"Mean LRE T = %.2f\" % (mean_LRE_T))\nprint(\"Mean LRE = %.2f\" % (mean_LRE))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The digit per point ratio measure the number of digits relatively to the sample size. A greater value is prefered.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "digit_per_point_ratio = mean_LRE / sample_size\nprint(\"Digit / point = %.3e\" % (digit_per_point_ratio))"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/15180aff63b94e352470b9af8a67b807/plot_flood_sensitivity.py b/otbenchmark/master/_downloads/15180aff63b94e352470b9af8a67b807/plot_flood_sensitivity.py
new file mode 100644
index 00000000000..7c6bc90ee00
--- /dev/null
+++ b/otbenchmark/master/_downloads/15180aff63b94e352470b9af8a67b807/plot_flood_sensitivity.py
@@ -0,0 +1,95 @@
+"""
+Benchmark the Flooding test function
+====================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.FloodingSensitivity()
+
+# %%
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (10.0, 10.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/177f69a01b2091371b1393b3784ee85e/plot_convergence_reliability_mc.zip b/otbenchmark/master/_downloads/177f69a01b2091371b1393b3784ee85e/plot_convergence_reliability_mc.zip
index f3140bda73c..71700da848a 100644
Binary files a/otbenchmark/master/_downloads/177f69a01b2091371b1393b3784ee85e/plot_convergence_reliability_mc.zip and b/otbenchmark/master/_downloads/177f69a01b2091371b1393b3784ee85e/plot_convergence_reliability_mc.zip differ
diff --git a/otbenchmark/master/_downloads/39c987f12c082b6f6c2b1c199aed0518/plot_flood_sensitivity.ipynb b/otbenchmark/master/_downloads/39c987f12c082b6f6c2b1c199aed0518/plot_flood_sensitivity.ipynb
new file mode 100644
index 00000000000..1974475fc3d
--- /dev/null
+++ b/otbenchmark/master/_downloads/39c987f12c082b6f6c2b1c199aed0518/plot_flood_sensitivity.ipynb
@@ -0,0 +1,246 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Flooding test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.FloodingSensitivity()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (10.0, 10.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/3b23190f79b9a4829b68307be5e836d7/plot_ishigami_sensitivity.py b/otbenchmark/master/_downloads/3b23190f79b9a4829b68307be5e836d7/plot_ishigami_sensitivity.py
new file mode 100644
index 00000000000..09864ade9ce
--- /dev/null
+++ b/otbenchmark/master/_downloads/3b23190f79b9a4829b68307be5e836d7/plot_ishigami_sensitivity.py
@@ -0,0 +1,97 @@
+"""
+Benchmark the Ishigami test function
+====================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.IshigamiSensitivity()
+
+# %%
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/3bd92b053e8108a3b84f939606e1f584/plot_gaussian_product_sensitivity.ipynb b/otbenchmark/master/_downloads/3bd92b053e8108a3b84f939606e1f584/plot_gaussian_product_sensitivity.ipynb
new file mode 100644
index 00000000000..acb757fb745
--- /dev/null
+++ b/otbenchmark/master/_downloads/3bd92b053e8108a3b84f939606e1f584/plot_gaussian_product_sensitivity.ipynb
@@ -0,0 +1,246 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the gaussian product test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.GaussianProductSensitivity()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nprint(exact_first_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nprint(exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\nview = otv.View(clouds, figure_kw={\"figsize\": (6.0, 6.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/3e62dca12ac3db00aaba5db1a12e3867/plot_benchmark_sensitivity_methods.py b/otbenchmark/master/_downloads/3e62dca12ac3db00aaba5db1a12e3867/plot_benchmark_sensitivity_methods.py
new file mode 100644
index 00000000000..4d0ee641f21
--- /dev/null
+++ b/otbenchmark/master/_downloads/3e62dca12ac3db00aaba5db1a12e3867/plot_benchmark_sensitivity_methods.py
@@ -0,0 +1,191 @@
+"""
+Benchmark sensitivity analysis methods
+======================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+
+# %%
+# When we estimate Sobol' indices, we may encounter the following warning messages:
+# ```
+# WRN - The estimated first order Sobol index (2) is greater than its total order index ...
+# WRN - The estimated total order Sobol index (2) is lesser than first order index ...
+# ```
+# Lots of these messages are printed in the current Notebook. This is why we disable them with:
+ot.Log.Show(ot.Log.NONE)
+
+# %%
+# Use Borgonovo problem
+problem = otb.BorgonovoSensitivity()
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_total_order = problem.getTotalOrderIndices()
+
+# %%
+# Saltelli estimator with Monte-Carlo sample
+# ------------------------------------------
+
+# %%
+sample_size = 10000
+
+# %%
+inputDesign = ot.SobolIndicesExperiment(distribution, sample_size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(
+ inputDesign, outputDesign, sample_size
+)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", sample_size)
+# First order
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+# Saltelli estimator with Quasi Monte-Carlo sample
+# ------------------------------------------------
+
+# %%
+sample_size = 500
+
+# %%
+dimension = distribution.getDimension()
+sequence = ot.SobolSequence(dimension)
+restart = True
+experiment = ot.LowDiscrepancyExperiment(sequence, distribution, sample_size, restart)
+
+# %%
+inputDesign = ot.SobolIndicesExperiment(experiment).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(
+ inputDesign, outputDesign, sample_size
+)
+first_order = sensitivityAnalysis.getFirstOrderIndices()
+total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", sample_size)
+# First order
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+# Loop over the estimators
+# ------------------------
+
+# %%
+print("Available estimators:")
+estimators_list = otb.SensitivityBenchmarkMetaAlgorithm.GetEstimators()
+for sobolAlgorithm in estimators_list:
+ name = sobolAlgorithm.getClassName()
+ print(" - ", name)
+
+# %%
+metaSAAlgorithm = otb.SensitivityBenchmarkMetaAlgorithm(problem)
+
+# %%
+print("Monte-Carlo sampling")
+for sobolAlgorithm in estimators_list:
+ (
+ computed_first_order,
+ computed_total_order,
+ ) = metaSAAlgorithm.runSamplingEstimator(sample_size)
+ name = sobolAlgorithm.getClassName()
+ print(name)
+ print(" S = ", computed_first_order)
+ print(" T = ", computed_total_order)
+
+# %%
+print("Quasi Monte-Carlo sampling")
+for estimator in ["Saltelli", "Martinez", "Jansen", "MauntzKucherenko"]:
+ (
+ computed_first_order,
+ computed_total_order,
+ ) = metaSAAlgorithm.runSamplingEstimator(
+ sample_size, estimator=estimator, sampling_method="QMC"
+ )
+ name = sobolAlgorithm.getClassName()
+ print(name)
+ print(" S = ", computed_first_order)
+ print(" T = ", computed_total_order)
+
+# %%
+print("Polynomial chaos")
+sample_size = 500
+(
+ computed_first_order,
+ computed_total_order,
+) = metaSAAlgorithm.runPolynomialChaosEstimator(
+ sample_size_train=sample_size,
+ sample_size_test=2,
+ total_degree=5,
+ hyperbolic_quasinorm=0.5,
+)
+print(" S = ", computed_first_order)
+print(" T = ", computed_total_order)
+
+# %%
+# Define the metric
+# -----------------
+
+# %%
+# We consider the following accuracy metrics:
+# * the vector or log relative errors for a given index (first order or total order),
+# * the mean log relative error, as the mean of the LRE vector (first order or total order),
+# * the average mean log relative error, as the mean of the first and total order mean log relative error.
+#
+# Larger LRE values are prefered.
+#
+# The first order (resp. total order) mean LRE represents the mean number of digits for all components
+# of the first order indices (resp. total order indices).
+# The average mean LRE represents the mean LRE for both first and total order indices.
+
+# %%
+S_LRE = ot.Point(dimension)
+T_LRE = ot.Point(dimension)
+for i in range(dimension):
+ S_LRE[i] = otb.ComputeLogRelativeError(
+ computed_first_order[i], exact_first_order[i]
+ )
+ T_LRE[i] = otb.ComputeLogRelativeError(
+ computed_total_order[i], exact_total_order[i]
+ )
+
+# %%
+print("LRE S = ", S_LRE)
+print("LRE T = ", T_LRE)
+
+# %%
+mean_LRE_S = sum(S_LRE) / dimension
+mean_LRE_T = sum(T_LRE) / dimension
+mean_LRE = (mean_LRE_S + mean_LRE_T) / 2.0
+print("Mean LRE S = %.2f" % (mean_LRE_S))
+print("Mean LRE T = %.2f" % (mean_LRE_T))
+print("Mean LRE = %.2f" % (mean_LRE))
+
+# %%
+# The digit per point ratio measure the number of digits relatively to the sample size. A greater value is prefered.
+digit_per_point_ratio = mean_LRE / sample_size
+print("Digit / point = %.3e" % (digit_per_point_ratio))
diff --git a/otbenchmark/master/_downloads/3f2f5008640b2a9bf5fb56d17e3345fe/plot_gsobol_sensitivity.zip b/otbenchmark/master/_downloads/3f2f5008640b2a9bf5fb56d17e3345fe/plot_gsobol_sensitivity.zip
new file mode 100644
index 00000000000..797b484720b
Binary files /dev/null and b/otbenchmark/master/_downloads/3f2f5008640b2a9bf5fb56d17e3345fe/plot_gsobol_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/5d0b8a3ea31fa859435ac0c7fb178822/plot_gaussian_product_sensitivity.py b/otbenchmark/master/_downloads/5d0b8a3ea31fa859435ac0c7fb178822/plot_gaussian_product_sensitivity.py
new file mode 100644
index 00000000000..0c8b93a0ee7
--- /dev/null
+++ b/otbenchmark/master/_downloads/5d0b8a3ea31fa859435ac0c7fb178822/plot_gaussian_product_sensitivity.py
@@ -0,0 +1,97 @@
+"""
+Benchmark the gaussian product test function
+============================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.GaussianProductSensitivity()
+
+# %%
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+print(exact_first_order)
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+print(exact_total_order)
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+view = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/5fab7882172318ff3e3ffcf48ef9eddf/plot_ishigami_sensitivity.zip b/otbenchmark/master/_downloads/5fab7882172318ff3e3ffcf48ef9eddf/plot_ishigami_sensitivity.zip
new file mode 100644
index 00000000000..f283c455f68
Binary files /dev/null and b/otbenchmark/master/_downloads/5fab7882172318ff3e3ffcf48ef9eddf/plot_ishigami_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/629687dd8581020f5bdda375e12cf702/plot_gaussian_sum.zip b/otbenchmark/master/_downloads/629687dd8581020f5bdda375e12cf702/plot_gaussian_sum.zip
new file mode 100644
index 00000000000..0be7bd1c06e
Binary files /dev/null and b/otbenchmark/master/_downloads/629687dd8581020f5bdda375e12cf702/plot_gaussian_sum.zip differ
diff --git a/otbenchmark/master/_downloads/643785dea4d339bb780f3446d3c50609/plot_gsobol_sensitivity.ipynb b/otbenchmark/master/_downloads/643785dea4d339bb780f3446d3c50609/plot_gsobol_sensitivity.ipynb
new file mode 100644
index 00000000000..21be589916a
--- /dev/null
+++ b/otbenchmark/master/_downloads/643785dea4d339bb780f3446d3c50609/plot_gsobol_sensitivity.ipynb
@@ -0,0 +1,253 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the G-Sobol test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.GSobolSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nprint(exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (6.0, 6.0)})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 1000\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform SA\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/66b4d9d63c28c108996cfe858ca9289e/plot_morris_sensitivity.zip b/otbenchmark/master/_downloads/66b4d9d63c28c108996cfe858ca9289e/plot_morris_sensitivity.zip
new file mode 100644
index 00000000000..32f776fc083
Binary files /dev/null and b/otbenchmark/master/_downloads/66b4d9d63c28c108996cfe858ca9289e/plot_morris_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/6b55e1d416c35886a31041a6892cb0f0/plot_borehole_sensitivity.zip b/otbenchmark/master/_downloads/6b55e1d416c35886a31041a6892cb0f0/plot_borehole_sensitivity.zip
new file mode 100644
index 00000000000..e4481c26a39
Binary files /dev/null and b/otbenchmark/master/_downloads/6b55e1d416c35886a31041a6892cb0f0/plot_borehole_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/6e2038d5b1a24a0d43c32c76904fbca5/plot_borehole_sensitivity.py b/otbenchmark/master/_downloads/6e2038d5b1a24a0d43c32c76904fbca5/plot_borehole_sensitivity.py
new file mode 100644
index 00000000000..8384c801bdf
--- /dev/null
+++ b/otbenchmark/master/_downloads/6e2038d5b1a24a0d43c32c76904fbca5/plot_borehole_sensitivity.py
@@ -0,0 +1,95 @@
+"""
+Benchmark the Borehole test function
+====================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.BoreholeSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (10.0, 10.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/6f1e7a639e0699d6164445b55e6c116d/auto_examples_jupyter.zip b/otbenchmark/master/_downloads/6f1e7a639e0699d6164445b55e6c116d/auto_examples_jupyter.zip
index 255aeb352ed..6b23ff1c558 100644
Binary files a/otbenchmark/master/_downloads/6f1e7a639e0699d6164445b55e6c116d/auto_examples_jupyter.zip and b/otbenchmark/master/_downloads/6f1e7a639e0699d6164445b55e6c116d/auto_examples_jupyter.zip differ
diff --git a/otbenchmark/master/_downloads/7cff43685509138d3c4a3ae1a2644d62/plot_oakleyohagan_sensitivity.py b/otbenchmark/master/_downloads/7cff43685509138d3c4a3ae1a2644d62/plot_oakleyohagan_sensitivity.py
new file mode 100644
index 00000000000..47c80232989
--- /dev/null
+++ b/otbenchmark/master/_downloads/7cff43685509138d3c4a3ae1a2644d62/plot_oakleyohagan_sensitivity.py
@@ -0,0 +1,96 @@
+"""
+Benchmark the Oakley-O'Hagan test function
+==========================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.OakleyOHaganSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+print(exact_first_order)
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+print(exact_total_order)
+
+
+# ## Plot the function
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+nbcolumns = 5
+nbrows = int(dimension / nbcolumns)
+grid = ot.GridLayout(nbrows, nbcolumns)
+inputDescription = distribution.getDescription()
+outputDescription = model.getOutputDescription()[0]
+index = 0
+for i in range(nbrows):
+ for j in range(nbcolumns):
+ graph = ot.Graph(
+ "n=%d" % (size), inputDescription[index], outputDescription, True, ""
+ )
+ sample = ot.Sample(size, 2)
+ sample[:, 0] = inputDesign[:, index]
+ sample[:, 1] = outputDesign[:, 0]
+ cloud = ot.Cloud(sample)
+ graph.add(cloud)
+ grid.setGraph(i, j, graph)
+ index += 1
+_ = otv.View(grid, figure_kw={"figsize": (10.0, 10.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# ## Perform sensitivity analysis
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 1000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/7f13a44954884297d4db857bec1ecd92/plot_convergence_ishigami.zip b/otbenchmark/master/_downloads/7f13a44954884297d4db857bec1ecd92/plot_convergence_ishigami.zip
index adc3a3b166c..239927d2540 100644
Binary files a/otbenchmark/master/_downloads/7f13a44954884297d4db857bec1ecd92/plot_convergence_ishigami.zip and b/otbenchmark/master/_downloads/7f13a44954884297d4db857bec1ecd92/plot_convergence_ishigami.zip differ
diff --git a/otbenchmark/master/_downloads/82f4b8a8c9c6a4e5332608271aad9cee/plot_dirichlet_sensitivity.ipynb b/otbenchmark/master/_downloads/82f4b8a8c9c6a4e5332608271aad9cee/plot_dirichlet_sensitivity.ipynb
new file mode 100644
index 00000000000..0e549593fa7
--- /dev/null
+++ b/otbenchmark/master/_downloads/82f4b8a8c9c6a4e5332608271aad9cee/plot_dirichlet_sensitivity.ipynb
@@ -0,0 +1,235 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Dirichlet test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.DirichletSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (6.0, 6.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/86db06e71453f8056914ef0dcd6b0132/plot_nloscillator_sensitivity.ipynb b/otbenchmark/master/_downloads/86db06e71453f8056914ef0dcd6b0132/plot_nloscillator_sensitivity.ipynb
new file mode 100644
index 00000000000..9214561c8af
--- /dev/null
+++ b/otbenchmark/master/_downloads/86db06e71453f8056914ef0dcd6b0132/plot_nloscillator_sensitivity.ipynb
@@ -0,0 +1,235 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the NLOscillator test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.NLOscillatorSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (10.0, 10.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/91f30700716a0dd0a964e349dc44e117/plot_borgonovo_sensitivity.zip b/otbenchmark/master/_downloads/91f30700716a0dd0a964e349dc44e117/plot_borgonovo_sensitivity.zip
new file mode 100644
index 00000000000..7fed79469eb
Binary files /dev/null and b/otbenchmark/master/_downloads/91f30700716a0dd0a964e349dc44e117/plot_borgonovo_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/966aab35daf3bdeee31dc59712af12c7/plot_benchmark_sensitivity_methods.zip b/otbenchmark/master/_downloads/966aab35daf3bdeee31dc59712af12c7/plot_benchmark_sensitivity_methods.zip
new file mode 100644
index 00000000000..13967f29149
Binary files /dev/null and b/otbenchmark/master/_downloads/966aab35daf3bdeee31dc59712af12c7/plot_benchmark_sensitivity_methods.zip differ
diff --git a/otbenchmark/master/_downloads/9aafdbfee23b48eed34e7b7fb324d32a/plot_gaussian_product_sensitivity.zip b/otbenchmark/master/_downloads/9aafdbfee23b48eed34e7b7fb324d32a/plot_gaussian_product_sensitivity.zip
new file mode 100644
index 00000000000..bec7644e012
Binary files /dev/null and b/otbenchmark/master/_downloads/9aafdbfee23b48eed34e7b7fb324d32a/plot_gaussian_product_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/9ace8485dedabebe7a1c9e1e1009c0ea/plot_gaussian_sum.py b/otbenchmark/master/_downloads/9ace8485dedabebe7a1c9e1e1009c0ea/plot_gaussian_sum.py
new file mode 100644
index 00000000000..128199fbe9c
--- /dev/null
+++ b/otbenchmark/master/_downloads/9ace8485dedabebe7a1c9e1e1009c0ea/plot_gaussian_sum.py
@@ -0,0 +1,97 @@
+"""
+Benchmark the gaussian sum test function
+========================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.GaussianSumSensitivity()
+
+# %%
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+print(exact_first_order)
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+print(exact_total_order)
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+view = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/a707b852149a93fcecac6a74f1fed670/plot_morris_sensitivity.py b/otbenchmark/master/_downloads/a707b852149a93fcecac6a74f1fed670/plot_morris_sensitivity.py
new file mode 100644
index 00000000000..39ba62f891b
--- /dev/null
+++ b/otbenchmark/master/_downloads/a707b852149a93fcecac6a74f1fed670/plot_morris_sensitivity.py
@@ -0,0 +1,98 @@
+"""
+Benchmark the Morris test function
+==================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.MorrisSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+nbcolumns = 4
+nbrows = int(dimension / nbcolumns)
+grid = ot.GridLayout(nbrows, nbcolumns)
+inputDescription = distribution.getDescription()
+outputDescription = model.getOutputDescription()[0]
+index = 0
+for i in range(nbrows):
+ for j in range(nbcolumns):
+ graph = ot.Graph(
+ "n=%d" % (size), inputDescription[index], outputDescription, True, ""
+ )
+ sample = ot.Sample(size, 2)
+ sample[:, 0] = inputDesign[:, index]
+ sample[:, 1] = outputDesign[:, 0]
+ cloud = ot.Cloud(sample)
+ graph.add(cloud)
+ grid.setGraph(i, j, graph)
+ index += 1
+_ = otv.View(grid, figure_kw={"figsize": (10.0, 10.0)})
+
+# %
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 30
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/aa932f5940d0a0978383c5019f1a7018/plot_gaussian_sum.ipynb b/otbenchmark/master/_downloads/aa932f5940d0a0978383c5019f1a7018/plot_gaussian_sum.ipynb
new file mode 100644
index 00000000000..09c06722cd3
--- /dev/null
+++ b/otbenchmark/master/_downloads/aa932f5940d0a0978383c5019f1a7018/plot_gaussian_sum.ipynb
@@ -0,0 +1,246 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the gaussian sum test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.GaussianSumSensitivity()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nprint(exact_first_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nprint(exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\nview = otv.View(clouds, figure_kw={\"figsize\": (6.0, 6.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/ac791b18603462477ad30d69d47bc91f/plot_nloscillator_sensitivity.py b/otbenchmark/master/_downloads/ac791b18603462477ad30d69d47bc91f/plot_nloscillator_sensitivity.py
new file mode 100644
index 00000000000..a9f04fd1256
--- /dev/null
+++ b/otbenchmark/master/_downloads/ac791b18603462477ad30d69d47bc91f/plot_nloscillator_sensitivity.py
@@ -0,0 +1,95 @@
+"""
+Benchmark the NLOscillator test function
+========================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.NLOscillatorSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (10.0, 10.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/af08bf3d5aa390154f02f9673b9ee5cb/plot_ishigami_sensitivity.ipynb b/otbenchmark/master/_downloads/af08bf3d5aa390154f02f9673b9ee5cb/plot_ishigami_sensitivity.ipynb
new file mode 100644
index 00000000000..d518d6d7b5c
--- /dev/null
+++ b/otbenchmark/master/_downloads/af08bf3d5aa390154f02f9673b9ee5cb/plot_ishigami_sensitivity.ipynb
@@ -0,0 +1,246 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Ishigami test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.IshigamiSensitivity()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (6.0, 6.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/be33b4907cde40d05f3bc08b57b462fc/plot_gsobol_sensitivity.py b/otbenchmark/master/_downloads/be33b4907cde40d05f3bc08b57b462fc/plot_gsobol_sensitivity.py
new file mode 100644
index 00000000000..a2fccfcfe79
--- /dev/null
+++ b/otbenchmark/master/_downloads/be33b4907cde40d05f3bc08b57b462fc/plot_gsobol_sensitivity.py
@@ -0,0 +1,103 @@
+"""
+Benchmark the G-Sobol test function
+===================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.GSobolSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+print(exact_total_order)
+
+# %%
+# Plot function
+# -------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 1000
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform SA
+# ----------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/c1babdce08a3967dd83b589429d3cfb4/plot_dirichlet_sensitivity.py b/otbenchmark/master/_downloads/c1babdce08a3967dd83b589429d3cfb4/plot_dirichlet_sensitivity.py
new file mode 100644
index 00000000000..735ea0d657e
--- /dev/null
+++ b/otbenchmark/master/_downloads/c1babdce08a3967dd83b589429d3cfb4/plot_dirichlet_sensitivity.py
@@ -0,0 +1,95 @@
+"""
+Benchmark the Dirichlet test function
+=====================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.DirichletSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/d005867b51360ee9c2c4914f27adb11b/plot_morris_sensitivity.ipynb b/otbenchmark/master/_downloads/d005867b51360ee9c2c4914f27adb11b/plot_morris_sensitivity.ipynb
new file mode 100644
index 00000000000..018ca455715
--- /dev/null
+++ b/otbenchmark/master/_downloads/d005867b51360ee9c2c4914f27adb11b/plot_morris_sensitivity.ipynb
@@ -0,0 +1,213 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Morris test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.MorrisSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nnbcolumns = 4\nnbrows = int(dimension / nbcolumns)\ngrid = ot.GridLayout(nbrows, nbcolumns)\ninputDescription = distribution.getDescription()\noutputDescription = model.getOutputDescription()[0]\nindex = 0\nfor i in range(nbrows):\n for j in range(nbcolumns):\n graph = ot.Graph(\n \"n=%d\" % (size), inputDescription[index], outputDescription, True, \"\"\n )\n sample = ot.Sample(size, 2)\n sample[:, 0] = inputDesign[:, index]\n sample[:, 1] = outputDesign[:, 0]\n cloud = ot.Cloud(sample)\n graph.add(cloud)\n grid.setGraph(i, j, graph)\n index += 1\n_ = otv.View(grid, figure_kw={\"figsize\": (10.0, 10.0)})\n\n# %\noutput_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 30\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/d0644c1b59c97e301533d2cc27d6f994/plot_borehole_sensitivity.ipynb b/otbenchmark/master/_downloads/d0644c1b59c97e301533d2cc27d6f994/plot_borehole_sensitivity.ipynb
new file mode 100644
index 00000000000..7067cfe78af
--- /dev/null
+++ b/otbenchmark/master/_downloads/d0644c1b59c97e301533d2cc27d6f994/plot_borehole_sensitivity.ipynb
@@ -0,0 +1,235 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Borehole test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.BoreholeSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nexact_first_order"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nexact_total_order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plot the function\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nfull_sample = ot.Sample(size, 1 + dimension)\nfull_sample[:, range(dimension)] = inputDesign\nfull_sample[:, dimension] = outputDesign\nfull_description = list(inputDesign.getDescription())\nfull_description.append(outputDesign.getDescription()[0])\nfull_sample.setDescription(full_description)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "marginal_distribution = ot.ComposedDistribution(\n [\n ot.KernelSmoothing().build(full_sample.getMarginal(i))\n for i in range(1 + dimension)\n ]\n)\nclouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)\n_ = otv.View(clouds, figure_kw={\"figsize\": (10.0, 10.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 10000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/d54ce2324b0b413ac3dffc378d3ed7a8/plot_methodFactory.zip b/otbenchmark/master/_downloads/d54ce2324b0b413ac3dffc378d3ed7a8/plot_methodFactory.zip
index 23753db6406..3b6ae6531c8 100644
Binary files a/otbenchmark/master/_downloads/d54ce2324b0b413ac3dffc378d3ed7a8/plot_methodFactory.zip and b/otbenchmark/master/_downloads/d54ce2324b0b413ac3dffc378d3ed7a8/plot_methodFactory.zip differ
diff --git a/otbenchmark/master/_downloads/d9dfc16b3d96174b2c9ade5a59a2239c/plot_ConditionalDistribution_Demo.zip b/otbenchmark/master/_downloads/d9dfc16b3d96174b2c9ade5a59a2239c/plot_ConditionalDistribution_Demo.zip
index 0d33036731c..d8df74f36ca 100644
Binary files a/otbenchmark/master/_downloads/d9dfc16b3d96174b2c9ade5a59a2239c/plot_ConditionalDistribution_Demo.zip and b/otbenchmark/master/_downloads/d9dfc16b3d96174b2c9ade5a59a2239c/plot_ConditionalDistribution_Demo.zip differ
diff --git a/otbenchmark/master/_downloads/e2b15a528a6607cd91fa376cbffc2002/plot_print_problems.zip b/otbenchmark/master/_downloads/e2b15a528a6607cd91fa376cbffc2002/plot_print_problems.zip
index e8f493d0b16..56b4de065f9 100644
Binary files a/otbenchmark/master/_downloads/e2b15a528a6607cd91fa376cbffc2002/plot_print_problems.zip and b/otbenchmark/master/_downloads/e2b15a528a6607cd91fa376cbffc2002/plot_print_problems.zip differ
diff --git a/otbenchmark/master/_downloads/e6be8e01cd20ccf3d5e4421802d81703/plot_crosscut_distribution_3d.zip b/otbenchmark/master/_downloads/e6be8e01cd20ccf3d5e4421802d81703/plot_crosscut_distribution_3d.zip
index 110e0137925..75c6dd6d4e9 100644
Binary files a/otbenchmark/master/_downloads/e6be8e01cd20ccf3d5e4421802d81703/plot_crosscut_distribution_3d.zip and b/otbenchmark/master/_downloads/e6be8e01cd20ccf3d5e4421802d81703/plot_crosscut_distribution_3d.zip differ
diff --git a/otbenchmark/master/_downloads/e830ec759701c1a03cbee2f23827aba1/plot_borgonovo_sensitivity.py b/otbenchmark/master/_downloads/e830ec759701c1a03cbee2f23827aba1/plot_borgonovo_sensitivity.py
new file mode 100644
index 00000000000..bc822331e17
--- /dev/null
+++ b/otbenchmark/master/_downloads/e830ec759701c1a03cbee2f23827aba1/plot_borgonovo_sensitivity.py
@@ -0,0 +1,95 @@
+"""
+Benchmark the Borgonovo test function
+=====================================
+"""
+
+# %%
+import openturns as ot
+import otbenchmark as otb
+import openturns.viewer as otv
+
+# %%
+problem = otb.BorgonovoSensitivity()
+print(problem)
+
+# %%
+distribution = problem.getInputDistribution()
+model = problem.getFunction()
+
+# %%
+# Exact first and total order
+exact_first_order = problem.getFirstOrderIndices()
+exact_first_order
+
+# %%
+exact_total_order = problem.getTotalOrderIndices()
+exact_total_order
+
+# %%
+# Plot the function
+# -----------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 200
+inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+dimension = distribution.getDimension()
+full_sample = ot.Sample(size, 1 + dimension)
+full_sample[:, range(dimension)] = inputDesign
+full_sample[:, dimension] = outputDesign
+full_description = list(inputDesign.getDescription())
+full_description.append(outputDesign.getDescription()[0])
+full_sample.setDescription(full_description)
+
+# %%
+marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+)
+clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+_ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+# %%
+output_distribution = ot.KernelSmoothing().build(outputDesign)
+_ = otv.View(output_distribution.drawPDF())
+
+# %%
+# Perform sensitivity analysis
+# ----------------------------
+
+# %%
+# Create X/Y data
+ot.RandomGenerator.SetSeed(0)
+size = 10000
+inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+outputDesign = model(inputDesign)
+
+# %%
+# Compute first order indices using the Saltelli estimator
+sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+# %%
+# Compare with exact results
+print("Sample size : ", size)
+# First order
+# Compute absolute error (the LRE cannot be computed,
+# because S can be zero)
+print("Computed first order = ", computed_first_order)
+print("Exact first order = ", exact_first_order)
+# Total order
+print("Computed total order = ", computed_total_order)
+print("Exact total order = ", exact_total_order)
+
+# %%
+_ = otv.View(sensitivityAnalysis.draw())
+
+# %%
+otv.View.ShowAll()
diff --git a/otbenchmark/master/_downloads/e9685936f0e9649b1b8ff6dcb9f0fc2b/plot_oakleyohagan_sensitivity.zip b/otbenchmark/master/_downloads/e9685936f0e9649b1b8ff6dcb9f0fc2b/plot_oakleyohagan_sensitivity.zip
new file mode 100644
index 00000000000..9473eb25f68
Binary files /dev/null and b/otbenchmark/master/_downloads/e9685936f0e9649b1b8ff6dcb9f0fc2b/plot_oakleyohagan_sensitivity.zip differ
diff --git a/otbenchmark/master/_downloads/e9791c5b042243aaaed5b1d350b1cf7d/plot_oakleyohagan_sensitivity.ipynb b/otbenchmark/master/_downloads/e9791c5b042243aaaed5b1d350b1cf7d/plot_oakleyohagan_sensitivity.ipynb
new file mode 100644
index 00000000000..39ec763e319
--- /dev/null
+++ b/otbenchmark/master/_downloads/e9791c5b042243aaaed5b1d350b1cf7d/plot_oakleyohagan_sensitivity.ipynb
@@ -0,0 +1,217 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Benchmark the Oakley-O'Hagan test function\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import openturns as ot\nimport otbenchmark as otb\nimport openturns.viewer as otv"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "problem = otb.OakleyOHaganSensitivity()\nprint(problem)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "distribution = problem.getInputDistribution()\nmodel = problem.getFunction()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Exact first and total order\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_first_order = problem.getFirstOrderIndices()\nprint(exact_first_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "exact_total_order = problem.getTotalOrderIndices()\nprint(exact_total_order)\n\n\n# ## Plot the function"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 200\ninputDesign = ot.MonteCarloExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "dimension = distribution.getDimension()\nnbcolumns = 5\nnbrows = int(dimension / nbcolumns)\ngrid = ot.GridLayout(nbrows, nbcolumns)\ninputDescription = distribution.getDescription()\noutputDescription = model.getOutputDescription()[0]\nindex = 0\nfor i in range(nbrows):\n for j in range(nbcolumns):\n graph = ot.Graph(\n \"n=%d\" % (size), inputDescription[index], outputDescription, True, \"\"\n )\n sample = ot.Sample(size, 2)\n sample[:, 0] = inputDesign[:, index]\n sample[:, 1] = outputDesign[:, 0]\n cloud = ot.Cloud(sample)\n graph.add(cloud)\n grid.setGraph(i, j, graph)\n index += 1\n_ = otv.View(grid, figure_kw={\"figsize\": (10.0, 10.0)})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "output_distribution = ot.KernelSmoothing().build(outputDesign)\n_ = otv.View(output_distribution.drawPDF())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perform sensitivity analysis\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create X/Y data\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "ot.RandomGenerator.SetSeed(0)\nsize = 1000\ninputDesign = ot.SobolIndicesExperiment(distribution, size).generate()\noutputDesign = model(inputDesign)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute first order indices using the Saltelli estimator\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)\ncomputed_first_order = sensitivityAnalysis.getFirstOrderIndices()\ncomputed_total_order = sensitivityAnalysis.getTotalOrderIndices()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare with exact results\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Sample size : \", size)\n# First order\n# Compute absolute error (the LRE cannot be computed,\n# because S can be zero)\nprint(\"Computed first order = \", computed_first_order)\nprint(\"Exact first order = \", exact_first_order)\n# Total order\nprint(\"Computed total order = \", computed_total_order)\nprint(\"Exact total order = \", exact_total_order)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "_ = otv.View(sensitivityAnalysis.draw())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "otv.View.ShowAll()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.20"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/otbenchmark/master/_downloads/fb9f49f74b26df53e1cc530460c44c35/plot_CrossCutFunction_Demo.zip b/otbenchmark/master/_downloads/fb9f49f74b26df53e1cc530460c44c35/plot_CrossCutFunction_Demo.zip
index 19722e87e20..5cd4fd0f25a 100644
Binary files a/otbenchmark/master/_downloads/fb9f49f74b26df53e1cc530460c44c35/plot_CrossCutFunction_Demo.zip and b/otbenchmark/master/_downloads/fb9f49f74b26df53e1cc530460c44c35/plot_CrossCutFunction_Demo.zip differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_benchmark_sensitivity_methods_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_benchmark_sensitivity_methods_thumb.png
new file mode 100644
index 00000000000..8a5fed589d1
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_benchmark_sensitivity_methods_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_001.png
new file mode 100644
index 00000000000..abbf283a76c
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_002.png
new file mode 100644
index 00000000000..11a478e9dd6
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_003.png
new file mode 100644
index 00000000000..0e1b4ecc17b
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_thumb.png
new file mode 100644
index 00000000000..08b24c4e3d4
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borehole_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_001.png
new file mode 100644
index 00000000000..ea755082ad7
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_002.png
new file mode 100644
index 00000000000..cdadf762980
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_003.png
new file mode 100644
index 00000000000..52f5bc33c9c
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_thumb.png
new file mode 100644
index 00000000000..a15ad14218f
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_borgonovo_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_001.png b/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_001.png
index 9426aecd4f5..7c9109eadf3 100644
Binary files a/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_001.png and b/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_thumb.png
index 00147023508..cea9a281ea1 100644
Binary files a/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_thumb.png and b/otbenchmark/master/_images/sphx_glr_plot_convergence_reliability_mc_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_001.png
new file mode 100644
index 00000000000..fb25ef28a75
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_002.png
new file mode 100644
index 00000000000..180d9b83e60
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_003.png
new file mode 100644
index 00000000000..8c398f7aaab
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_thumb.png
new file mode 100644
index 00000000000..0cc8a0ad30c
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_dirichlet_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_001.png
new file mode 100644
index 00000000000..5aad767c22f
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_002.png
new file mode 100644
index 00000000000..0c61c6db056
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_003.png
new file mode 100644
index 00000000000..ea946b194e1
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_thumb.png
new file mode 100644
index 00000000000..0164cb79ee7
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_flood_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_001.png
new file mode 100644
index 00000000000..ffe76223869
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_002.png
new file mode 100644
index 00000000000..118afae425e
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_003.png
new file mode 100644
index 00000000000..bccc39fbafe
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_thumb.png
new file mode 100644
index 00000000000..c5abdef7de4
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_product_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_001.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_001.png
new file mode 100644
index 00000000000..e768e210db1
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_002.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_002.png
new file mode 100644
index 00000000000..932bbd70a8f
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_003.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_003.png
new file mode 100644
index 00000000000..3c6124a5ebe
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_thumb.png
new file mode 100644
index 00000000000..c6021b7e3ef
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gaussian_sum_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_001.png
new file mode 100644
index 00000000000..84a25b8005d
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_002.png
new file mode 100644
index 00000000000..478dece1b67
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_003.png
new file mode 100644
index 00000000000..7e470b36be4
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_thumb.png
new file mode 100644
index 00000000000..5de24b66224
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_gsobol_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_001.png
new file mode 100644
index 00000000000..b7553a2f327
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_002.png
new file mode 100644
index 00000000000..abe9c0550a4
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_003.png
new file mode 100644
index 00000000000..dd93ce5d435
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_thumb.png
new file mode 100644
index 00000000000..3ba7c7864cb
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_ishigami_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_001.png
new file mode 100644
index 00000000000..8ece260eb26
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_002.png
new file mode 100644
index 00000000000..4f3ad634218
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_003.png
new file mode 100644
index 00000000000..4d3327efc03
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_thumb.png
new file mode 100644
index 00000000000..bef20ce96fc
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_morris_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_001.png
new file mode 100644
index 00000000000..be9a685af4b
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_002.png
new file mode 100644
index 00000000000..e732200d541
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_003.png
new file mode 100644
index 00000000000..f5283611bfd
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_thumb.png
new file mode 100644
index 00000000000..f465e90431d
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_nloscillator_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_001.png b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_001.png
new file mode 100644
index 00000000000..73c898c7b0d
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_001.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_002.png b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_002.png
new file mode 100644
index 00000000000..ddf5783b4e6
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_002.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_003.png b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_003.png
new file mode 100644
index 00000000000..a91fd87e51f
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_003.png differ
diff --git a/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_thumb.png b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_thumb.png
new file mode 100644
index 00000000000..44b8549ddae
Binary files /dev/null and b/otbenchmark/master/_images/sphx_glr_plot_oakleyohagan_sensitivity_thumb.png differ
diff --git a/otbenchmark/master/_sources/auto_examples/index.rst b/otbenchmark/master/_sources/auto_examples/index.rst
index a5c5db2dbec..a6dc8593650 100644
--- a/otbenchmark/master/_sources/auto_examples/index.rst
+++ b/otbenchmark/master/_sources/auto_examples/index.rst
@@ -157,6 +157,193 @@ Sensitivity examples
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_flood_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_flood_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Flooding test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_borgonovo_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borgonovo_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Borgonovo test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_ishigami_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_ishigami_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Ishigami test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_dirichlet_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_dirichlet_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Dirichlet test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_borehole_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borehole_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Borehole test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_nloscillator_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_nloscillator_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the NLOscillator test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_gaussian_sum_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_sum.py`
+
+.. raw:: html
+
+
Benchmark the gaussian sum test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_gaussian_product_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_product_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the gaussian product test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_morris_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_morris_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Morris test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_oakleyohagan_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_oakleyohagan_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Oakley-O'Hagan test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_gsobol_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gsobol_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the G-Sobol test function
+
+
+
.. raw:: html
@@ -174,6 +361,23 @@ Sensitivity examples
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_benchmark_sensitivity_methods_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_benchmark_sensitivity_methods.py`
+
+.. raw:: html
+
+
Benchmark sensitivity analysis methods
+
+
+
.. thumbnail-parent-div-close
.. raw:: html
diff --git a/otbenchmark/master/_sources/auto_examples/plot_ConditionalDistribution_Demo.rst b/otbenchmark/master/_sources/auto_examples/plot_ConditionalDistribution_Demo.rst
index e476fa9d04f..b2b4ef117d6 100644
--- a/otbenchmark/master/_sources/auto_examples/plot_ConditionalDistribution_Demo.rst
+++ b/otbenchmark/master/_sources/auto_examples/plot_ConditionalDistribution_Demo.rst
@@ -242,7 +242,7 @@ Create a Punk distribution
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 4.619 seconds)
+ **Total running time of the script:** (0 minutes 2.577 seconds)
.. _sphx_glr_download_auto_examples_plot_ConditionalDistribution_Demo.py:
diff --git a/otbenchmark/master/_sources/auto_examples/plot_CrossCutFunction_Demo.rst b/otbenchmark/master/_sources/auto_examples/plot_CrossCutFunction_Demo.rst
index 9f5655cf089..a68a90524c7 100644
--- a/otbenchmark/master/_sources/auto_examples/plot_CrossCutFunction_Demo.rst
+++ b/otbenchmark/master/_sources/auto_examples/plot_CrossCutFunction_Demo.rst
@@ -213,7 +213,7 @@ Let :math:`\bar{x}\in\mathbb{R}^3` be the reference point.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 0.738 seconds)
+ **Total running time of the script:** (0 minutes 1.229 seconds)
.. _sphx_glr_download_auto_examples_plot_CrossCutFunction_Demo.py:
diff --git a/otbenchmark/master/_sources/auto_examples/plot_convergence_reliability_mc.rst b/otbenchmark/master/_sources/auto_examples/plot_convergence_reliability_mc.rst
index b5c111bf60e..15d485a8174 100644
--- a/otbenchmark/master/_sources/auto_examples/plot_convergence_reliability_mc.rst
+++ b/otbenchmark/master/_sources/auto_examples/plot_convergence_reliability_mc.rst
@@ -122,7 +122,7 @@ where :math:`n` is the sample size.
.. code-block:: none
- Number of function calls = 1842 , Pf = 0.0765 , 95.0 % confidence interval :[0.0616,0.0915]
+ Number of function calls = 1978 , Pf = 0.0713 , 95.0 % confidence interval :[0.0573,0.0852]
@@ -186,153 +186,153 @@ where :math:`n` is the sample size.
Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 4 , Pf = 0.2500 , 95.0 % confidence interval :[-0.2978,0.7978]
- Number of function calls = 4 , Pf = 0.2500 , 95.0 % confidence interval :[-0.2978,0.7978]
+ Number of function calls = 4 , Pf = 0.5000 , 95.0 % confidence interval :[0.0100,0.9900]
+ Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
+ Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
- Number of function calls = 4 , Pf = 0.2500 , 95.0 % confidence interval :[-0.2978,0.7978]
Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 4 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
- Number of function calls = 4 , Pf = 0.2500 , 95.0 % confidence interval :[-0.2978,0.7978]
- Number of function calls = 8 , Pf = 0.1250 , 95.0 % confidence interval :[-0.1623,0.4123]
- Number of function calls = 8 , Pf = 0.1250 , 95.0 % confidence interval :[-0.1623,0.4123]
- Number of function calls = 8 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 8 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 8 , Pf = 0.1250 , 95.0 % confidence interval :[-0.1623,0.4123]
+ Number of function calls = 8 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 8 , Pf = 0.1250 , 95.0 % confidence interval :[-0.1623,0.4123]
- Number of function calls = 8 , Pf = 0.1250 , 95.0 % confidence interval :[-0.1623,0.4123]
- Number of function calls = 8 , Pf = 0.2500 , 95.0 % confidence interval :[-0.1374,0.6374]
+ Number of function calls = 8 , Pf = 0.3750 , 95.0 % confidence interval :[-0.0026,0.7526]
+ Number of function calls = 8 , Pf = 0.2500 , 95.0 % confidence interval :[-0.0501,0.5501]
+ Number of function calls = 8 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 8 , Pf = 0.2500 , 95.0 % confidence interval :[-0.1374,0.6374]
Number of function calls = 8 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
- Number of function calls = 16 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
- Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
- Number of function calls = 16 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
+ Number of function calls = 8 , Pf = 0.1250 , 95.0 % confidence interval :[-0.1623,0.4123]
Number of function calls = 16 , Pf = 0.1250 , 95.0 % confidence interval :[-0.0781,0.3281]
Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
- Number of function calls = 16 , Pf = 0.2500 , 95.0 % confidence interval :[-0.0239,0.5239]
Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
- Number of function calls = 16 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
+ Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
+ Number of function calls = 16 , Pf = 0.1250 , 95.0 % confidence interval :[-0.0370,0.2870]
+ Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
+ Number of function calls = 16 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0844,0.2094]
+ Number of function calls = 16 , Pf = 0.1250 , 95.0 % confidence interval :[-0.0781,0.3281]
Number of function calls = 16 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
Number of function calls = 32 , Pf = 0.0312 , 95.0 % confidence interval :[-0.0430,0.1055]
- Number of function calls = 32 , Pf = 0.0938 , 95.0 % confidence interval :[-0.0161,0.2036]
- Number of function calls = 32 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0414,0.1664]
+ Number of function calls = 32 , Pf = 0.0938 , 95.0 % confidence interval :[-0.0321,0.2196]
Number of function calls = 32 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0414,0.1664]
+ Number of function calls = 32 , Pf = 0.0938 , 95.0 % confidence interval :[-0.0321,0.2196]
+ Number of function calls = 32 , Pf = 0.0000 , 95.0 % confidence interval :[0.0000,0.0000]
+ Number of function calls = 32 , Pf = 0.1875 , 95.0 % confidence interval :[0.0390,0.3360]
+ Number of function calls = 32 , Pf = 0.0938 , 95.0 % confidence interval :[-0.0321,0.2196]
Number of function calls = 32 , Pf = 0.1562 , 95.0 % confidence interval :[-0.0025,0.3150]
- Number of function calls = 32 , Pf = 0.0312 , 95.0 % confidence interval :[-0.0430,0.1055]
- Number of function calls = 32 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0414,0.1664]
- Number of function calls = 32 , Pf = 0.0312 , 95.0 % confidence interval :[-0.0430,0.1055]
- Number of function calls = 32 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0214,0.1464]
Number of function calls = 32 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0414,0.1664]
- Number of function calls = 64 , Pf = 0.1406 , 95.0 % confidence interval :[0.0335,0.2477]
- Number of function calls = 64 , Pf = 0.0938 , 95.0 % confidence interval :[0.0102,0.1773]
- Number of function calls = 64 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0109,0.1359]
- Number of function calls = 64 , Pf = 0.1094 , 95.0 % confidence interval :[0.0138,0.2049]
- Number of function calls = 64 , Pf = 0.0312 , 95.0 % confidence interval :[-0.0212,0.0837]
- Number of function calls = 64 , Pf = 0.1719 , 95.0 % confidence interval :[0.0675,0.2762]
+ Number of function calls = 32 , Pf = 0.1250 , 95.0 % confidence interval :[-0.0186,0.2686]
+ Number of function calls = 64 , Pf = 0.0781 , 95.0 % confidence interval :[-0.0035,0.1598]
+ Number of function calls = 64 , Pf = 0.0938 , 95.0 % confidence interval :[0.0048,0.1827]
Number of function calls = 64 , Pf = 0.0469 , 95.0 % confidence interval :[-0.0171,0.1108]
+ Number of function calls = 64 , Pf = 0.1562 , 95.0 % confidence interval :[0.0440,0.2685]
Number of function calls = 64 , Pf = 0.0938 , 95.0 % confidence interval :[0.0048,0.1827]
- Number of function calls = 64 , Pf = 0.0625 , 95.0 % confidence interval :[-0.0109,0.1359]
- Number of function calls = 64 , Pf = 0.0781 , 95.0 % confidence interval :[-0.0035,0.1598]
- Number of function calls = 128 , Pf = 0.0937 , 95.0 % confidence interval :[0.0308,0.1567]
- Number of function calls = 128 , Pf = 0.0781 , 95.0 % confidence interval :[0.0204,0.1359]
- Number of function calls = 128 , Pf = 0.0781 , 95.0 % confidence interval :[0.0204,0.1359]
- Number of function calls = 128 , Pf = 0.1016 , 95.0 % confidence interval :[0.0363,0.1669]
- Number of function calls = 128 , Pf = 0.1172 , 95.0 % confidence interval :[0.0475,0.1869]
- Number of function calls = 128 , Pf = 0.0703 , 95.0 % confidence interval :[0.0154,0.1252]
+ Number of function calls = 64 , Pf = 0.0469 , 95.0 % confidence interval :[-0.0171,0.1108]
+ Number of function calls = 64 , Pf = 0.1719 , 95.0 % confidence interval :[0.0589,0.2849]
+ Number of function calls = 64 , Pf = 0.0781 , 95.0 % confidence interval :[0.0024,0.1538]
+ Number of function calls = 64 , Pf = 0.0938 , 95.0 % confidence interval :[0.0102,0.1773]
+ Number of function calls = 64 , Pf = 0.0469 , 95.0 % confidence interval :[-0.0171,0.1108]
+ Number of function calls = 128 , Pf = 0.1094 , 95.0 % confidence interval :[0.0418,0.1769]
+ Number of function calls = 128 , Pf = 0.0312 , 95.0 % confidence interval :[-0.0059,0.0684]
+ Number of function calls = 128 , Pf = 0.1250 , 95.0 % confidence interval :[0.0548,0.1952]
+ Number of function calls = 128 , Pf = 0.0312 , 95.0 % confidence interval :[-0.0059,0.0684]
+ Number of function calls = 128 , Pf = 0.0469 , 95.0 % confidence interval :[0.0017,0.0921]
Number of function calls = 128 , Pf = 0.0391 , 95.0 % confidence interval :[-0.0023,0.0804]
- Number of function calls = 128 , Pf = 0.0859 , 95.0 % confidence interval :[0.0255,0.1463]
- Number of function calls = 128 , Pf = 0.0547 , 95.0 % confidence interval :[0.0060,0.1034]
- Number of function calls = 128 , Pf = 0.0938 , 95.0 % confidence interval :[0.0327,0.1548]
- Number of function calls = 256 , Pf = 0.0781 , 95.0 % confidence interval :[0.0380,0.1182]
+ Number of function calls = 128 , Pf = 0.0859 , 95.0 % confidence interval :[0.0275,0.1444]
+ Number of function calls = 128 , Pf = 0.1172 , 95.0 % confidence interval :[0.0492,0.1852]
+ Number of function calls = 128 , Pf = 0.0703 , 95.0 % confidence interval :[0.0154,0.1252]
+ Number of function calls = 128 , Pf = 0.1016 , 95.0 % confidence interval :[0.0381,0.1650]
+ Number of function calls = 256 , Pf = 0.0820 , 95.0 % confidence interval :[0.0417,0.1224]
Number of function calls = 256 , Pf = 0.0859 , 95.0 % confidence interval :[0.0432,0.1286]
- Number of function calls = 256 , Pf = 0.0664 , 95.0 % confidence interval :[0.0286,0.1042]
- Number of function calls = 256 , Pf = 0.0664 , 95.0 % confidence interval :[0.0286,0.1042]
- Number of function calls = 256 , Pf = 0.0742 , 95.0 % confidence interval :[0.0344,0.1141]
- Number of function calls = 256 , Pf = 0.0742 , 95.0 % confidence interval :[0.0351,0.1133]
- Number of function calls = 256 , Pf = 0.0664 , 95.0 % confidence interval :[0.0286,0.1042]
- Number of function calls = 256 , Pf = 0.0586 , 95.0 % confidence interval :[0.0238,0.0934]
- Number of function calls = 256 , Pf = 0.1016 , 95.0 % confidence interval :[0.0554,0.1477]
- Number of function calls = 256 , Pf = 0.0977 , 95.0 % confidence interval :[0.0536,0.1417]
- Number of function calls = 512 , Pf = 0.0508 , 95.0 % confidence interval :[0.0276,0.0740]
+ Number of function calls = 256 , Pf = 0.0781 , 95.0 % confidence interval :[0.0373,0.1190]
+ Number of function calls = 256 , Pf = 0.0625 , 95.0 % confidence interval :[0.0266,0.0984]
+ Number of function calls = 256 , Pf = 0.0781 , 95.0 % confidence interval :[0.0380,0.1182]
+ Number of function calls = 256 , Pf = 0.0352 , 95.0 % confidence interval :[0.0074,0.0630]
+ Number of function calls = 256 , Pf = 0.0664 , 95.0 % confidence interval :[0.0302,0.1026]
+ Number of function calls = 256 , Pf = 0.0547 , 95.0 % confidence interval :[0.0202,0.0891]
+ Number of function calls = 256 , Pf = 0.0625 , 95.0 % confidence interval :[0.0258,0.0992]
+ Number of function calls = 256 , Pf = 0.0703 , 95.0 % confidence interval :[0.0315,0.1092]
Number of function calls = 512 , Pf = 0.0723 , 95.0 % confidence interval :[0.0450,0.0996]
- Number of function calls = 512 , Pf = 0.0762 , 95.0 % confidence interval :[0.0482,0.1042]
- Number of function calls = 512 , Pf = 0.0645 , 95.0 % confidence interval :[0.0390,0.0900]
- Number of function calls = 512 , Pf = 0.0645 , 95.0 % confidence interval :[0.0381,0.0908]
- Number of function calls = 512 , Pf = 0.0762 , 95.0 % confidence interval :[0.0490,0.1034]
- Number of function calls = 512 , Pf = 0.0586 , 95.0 % confidence interval :[0.0334,0.0838]
- Number of function calls = 512 , Pf = 0.1055 , 95.0 % confidence interval :[0.0729,0.1380]
- Number of function calls = 512 , Pf = 0.0781 , 95.0 % confidence interval :[0.0498,0.1065]
- Number of function calls = 512 , Pf = 0.0840 , 95.0 % confidence interval :[0.0546,0.1134]
- Number of function calls = 1024 , Pf = 0.0850 , 95.0 % confidence interval :[0.0639,0.1060]
+ Number of function calls = 512 , Pf = 0.0605 , 95.0 % confidence interval :[0.0358,0.0852]
+ Number of function calls = 512 , Pf = 0.0996 , 95.0 % confidence interval :[0.0686,0.1306]
+ Number of function calls = 512 , Pf = 0.0938 , 95.0 % confidence interval :[0.0628,0.1247]
+ Number of function calls = 512 , Pf = 0.0742 , 95.0 % confidence interval :[0.0471,0.1013]
+ Number of function calls = 512 , Pf = 0.0723 , 95.0 % confidence interval :[0.0450,0.0996]
+ Number of function calls = 512 , Pf = 0.0684 , 95.0 % confidence interval :[0.0415,0.0952]
+ Number of function calls = 512 , Pf = 0.0859 , 95.0 % confidence interval :[0.0565,0.1154]
+ Number of function calls = 512 , Pf = 0.0938 , 95.0 % confidence interval :[0.0628,0.1247]
+ Number of function calls = 512 , Pf = 0.0566 , 95.0 % confidence interval :[0.0322,0.0811]
+ Number of function calls = 1024 , Pf = 0.0713 , 95.0 % confidence interval :[0.0519,0.0906]
+ Number of function calls = 1024 , Pf = 0.0791 , 95.0 % confidence interval :[0.0588,0.0994]
+ Number of function calls = 1024 , Pf = 0.0850 , 95.0 % confidence interval :[0.0638,0.1061]
+ Number of function calls = 1024 , Pf = 0.0850 , 95.0 % confidence interval :[0.0640,0.1059]
+ Number of function calls = 1024 , Pf = 0.0830 , 95.0 % confidence interval :[0.0625,0.1035]
+ Number of function calls = 1024 , Pf = 0.0869 , 95.0 % confidence interval :[0.0658,0.1080]
+ Number of function calls = 1024 , Pf = 0.0869 , 95.0 % confidence interval :[0.0657,0.1081]
+ Number of function calls = 1024 , Pf = 0.0771 , 95.0 % confidence interval :[0.0570,0.0973]
+ Number of function calls = 1024 , Pf = 0.0830 , 95.0 % confidence interval :[0.0622,0.1038]
Number of function calls = 1024 , Pf = 0.0742 , 95.0 % confidence interval :[0.0546,0.0939]
- Number of function calls = 1024 , Pf = 0.0889 , 95.0 % confidence interval :[0.0675,0.1102]
- Number of function calls = 1024 , Pf = 0.0674 , 95.0 % confidence interval :[0.0485,0.0862]
- Number of function calls = 1024 , Pf = 0.0850 , 95.0 % confidence interval :[0.0642,0.1058]
- Number of function calls = 1024 , Pf = 0.0635 , 95.0 % confidence interval :[0.0456,0.0814]
- Number of function calls = 1024 , Pf = 0.0781 , 95.0 % confidence interval :[0.0580,0.0983]
- Number of function calls = 1024 , Pf = 0.0967 , 95.0 % confidence interval :[0.0744,0.1189]
- Number of function calls = 1024 , Pf = 0.0820 , 95.0 % confidence interval :[0.0615,0.1026]
- Number of function calls = 1024 , Pf = 0.0752 , 95.0 % confidence interval :[0.0553,0.0951]
- Number of function calls = 2048 , Pf = 0.0786 , 95.0 % confidence interval :[0.0644,0.0929]
- Number of function calls = 2048 , Pf = 0.0776 , 95.0 % confidence interval :[0.0636,0.0917]
- Number of function calls = 2048 , Pf = 0.0840 , 95.0 % confidence interval :[0.0692,0.0988]
- Number of function calls = 2048 , Pf = 0.0664 , 95.0 % confidence interval :[0.0531,0.0797]
+ Number of function calls = 2048 , Pf = 0.0840 , 95.0 % confidence interval :[0.0693,0.0987]
+ Number of function calls = 2048 , Pf = 0.0864 , 95.0 % confidence interval :[0.0716,0.1013]
+ Number of function calls = 2048 , Pf = 0.0894 , 95.0 % confidence interval :[0.0743,0.1044]
+ Number of function calls = 2048 , Pf = 0.0864 , 95.0 % confidence interval :[0.0715,0.1014]
+ Number of function calls = 2048 , Pf = 0.0757 , 95.0 % confidence interval :[0.0618,0.0896]
+ Number of function calls = 2048 , Pf = 0.0781 , 95.0 % confidence interval :[0.0638,0.0925]
Number of function calls = 2048 , Pf = 0.0786 , 95.0 % confidence interval :[0.0643,0.0930]
- Number of function calls = 2048 , Pf = 0.0742 , 95.0 % confidence interval :[0.0605,0.0880]
- Number of function calls = 2048 , Pf = 0.0791 , 95.0 % confidence interval :[0.0647,0.0935]
- Number of function calls = 2048 , Pf = 0.0815 , 95.0 % confidence interval :[0.0670,0.0961]
- Number of function calls = 2048 , Pf = 0.0767 , 95.0 % confidence interval :[0.0626,0.0907]
- Number of function calls = 2048 , Pf = 0.0801 , 95.0 % confidence interval :[0.0658,0.0944]
- Number of function calls = 4096 , Pf = 0.0820 , 95.0 % confidence interval :[0.0717,0.0923]
- Number of function calls = 4096 , Pf = 0.0789 , 95.0 % confidence interval :[0.0688,0.0889]
- Number of function calls = 4096 , Pf = 0.0754 , 95.0 % confidence interval :[0.0656,0.0853]
- Number of function calls = 4096 , Pf = 0.0806 , 95.0 % confidence interval :[0.0703,0.0908]
- Number of function calls = 4096 , Pf = 0.0833 , 95.0 % confidence interval :[0.0728,0.0937]
- Number of function calls = 4096 , Pf = 0.0786 , 95.0 % confidence interval :[0.0686,0.0887]
- Number of function calls = 4096 , Pf = 0.0720 , 95.0 % confidence interval :[0.0623,0.0817]
- Number of function calls = 4096 , Pf = 0.0723 , 95.0 % confidence interval :[0.0625,0.0820]
- Number of function calls = 4096 , Pf = 0.0754 , 95.0 % confidence interval :[0.0656,0.0853]
- Number of function calls = 4096 , Pf = 0.0732 , 95.0 % confidence interval :[0.0635,0.0830]
- Number of function calls = 8192 , Pf = 0.0786 , 95.0 % confidence interval :[0.0715,0.0858]
+ Number of function calls = 2048 , Pf = 0.0747 , 95.0 % confidence interval :[0.0609,0.0885]
+ Number of function calls = 2048 , Pf = 0.0674 , 95.0 % confidence interval :[0.0542,0.0806]
+ Number of function calls = 2048 , Pf = 0.0796 , 95.0 % confidence interval :[0.0653,0.0938]
+ Number of function calls = 4096 , Pf = 0.0735 , 95.0 % confidence interval :[0.0637,0.0833]
+ Number of function calls = 4096 , Pf = 0.0774 , 95.0 % confidence interval :[0.0674,0.0874]
+ Number of function calls = 4096 , Pf = 0.0825 , 95.0 % confidence interval :[0.0722,0.0929]
+ Number of function calls = 4096 , Pf = 0.0764 , 95.0 % confidence interval :[0.0665,0.0863]
+ Number of function calls = 4096 , Pf = 0.0815 , 95.0 % confidence interval :[0.0713,0.0918]
+ Number of function calls = 4096 , Pf = 0.0791 , 95.0 % confidence interval :[0.0689,0.0893]
+ Number of function calls = 4096 , Pf = 0.0784 , 95.0 % confidence interval :[0.0682,0.0885]
+ Number of function calls = 4096 , Pf = 0.0740 , 95.0 % confidence interval :[0.0641,0.0838]
+ Number of function calls = 4096 , Pf = 0.0747 , 95.0 % confidence interval :[0.0649,0.0845]
+ Number of function calls = 4096 , Pf = 0.0815 , 95.0 % confidence interval :[0.0712,0.0918]
+ Number of function calls = 8192 , Pf = 0.0782 , 95.0 % confidence interval :[0.0711,0.0854]
+ Number of function calls = 8192 , Pf = 0.0781 , 95.0 % confidence interval :[0.0710,0.0852]
+ Number of function calls = 8192 , Pf = 0.0770 , 95.0 % confidence interval :[0.0700,0.0841]
+ Number of function calls = 8192 , Pf = 0.0768 , 95.0 % confidence interval :[0.0697,0.0838]
+ Number of function calls = 8192 , Pf = 0.0745 , 95.0 % confidence interval :[0.0675,0.0815]
+ Number of function calls = 8192 , Pf = 0.0780 , 95.0 % confidence interval :[0.0709,0.0851]
+ Number of function calls = 8192 , Pf = 0.0797 , 95.0 % confidence interval :[0.0725,0.0869]
Number of function calls = 8192 , Pf = 0.0797 , 95.0 % confidence interval :[0.0725,0.0869]
- Number of function calls = 8192 , Pf = 0.0785 , 95.0 % confidence interval :[0.0713,0.0856]
- Number of function calls = 8192 , Pf = 0.0809 , 95.0 % confidence interval :[0.0737,0.0882]
- Number of function calls = 8192 , Pf = 0.0785 , 95.0 % confidence interval :[0.0714,0.0856]
- Number of function calls = 8192 , Pf = 0.0764 , 95.0 % confidence interval :[0.0694,0.0834]
- Number of function calls = 8192 , Pf = 0.0833 , 95.0 % confidence interval :[0.0759,0.0906]
- Number of function calls = 8192 , Pf = 0.0803 , 95.0 % confidence interval :[0.0731,0.0875]
- Number of function calls = 8192 , Pf = 0.0789 , 95.0 % confidence interval :[0.0717,0.0860]
- Number of function calls = 8192 , Pf = 0.0859 , 95.0 % confidence interval :[0.0785,0.0934]
- Number of function calls = 16384 , Pf = 0.0776 , 95.0 % confidence interval :[0.0726,0.0827]
- Number of function calls = 16384 , Pf = 0.0801 , 95.0 % confidence interval :[0.0750,0.0852]
- Number of function calls = 16384 , Pf = 0.0792 , 95.0 % confidence interval :[0.0741,0.0842]
- Number of function calls = 16384 , Pf = 0.0768 , 95.0 % confidence interval :[0.0718,0.0818]
- Number of function calls = 16384 , Pf = 0.0770 , 95.0 % confidence interval :[0.0720,0.0820]
- Number of function calls = 16384 , Pf = 0.0778 , 95.0 % confidence interval :[0.0728,0.0829]
- Number of function calls = 16384 , Pf = 0.0804 , 95.0 % confidence interval :[0.0753,0.0855]
- Number of function calls = 16384 , Pf = 0.0817 , 95.0 % confidence interval :[0.0765,0.0868]
- Number of function calls = 16384 , Pf = 0.0779 , 95.0 % confidence interval :[0.0728,0.0829]
- Number of function calls = 16384 , Pf = 0.0802 , 95.0 % confidence interval :[0.0751,0.0853]
- Number of function calls = 32768 , Pf = 0.0785 , 95.0 % confidence interval :[0.0749,0.0821]
- Number of function calls = 32768 , Pf = 0.0782 , 95.0 % confidence interval :[0.0746,0.0818]
- Number of function calls = 32768 , Pf = 0.0803 , 95.0 % confidence interval :[0.0767,0.0839]
- Number of function calls = 32768 , Pf = 0.0782 , 95.0 % confidence interval :[0.0747,0.0818]
+ Number of function calls = 8192 , Pf = 0.0760 , 95.0 % confidence interval :[0.0690,0.0831]
+ Number of function calls = 8192 , Pf = 0.0818 , 95.0 % confidence interval :[0.0745,0.0891]
+ Number of function calls = 16384 , Pf = 0.0825 , 95.0 % confidence interval :[0.0773,0.0876]
+ Number of function calls = 16384 , Pf = 0.0812 , 95.0 % confidence interval :[0.0761,0.0863]
+ Number of function calls = 16384 , Pf = 0.0760 , 95.0 % confidence interval :[0.0710,0.0810]
+ Number of function calls = 16384 , Pf = 0.0790 , 95.0 % confidence interval :[0.0740,0.0841]
+ Number of function calls = 16384 , Pf = 0.0793 , 95.0 % confidence interval :[0.0743,0.0844]
+ Number of function calls = 16384 , Pf = 0.0806 , 95.0 % confidence interval :[0.0755,0.0857]
+ Number of function calls = 16384 , Pf = 0.0785 , 95.0 % confidence interval :[0.0735,0.0835]
+ Number of function calls = 16384 , Pf = 0.0779 , 95.0 % confidence interval :[0.0729,0.0830]
+ Number of function calls = 16384 , Pf = 0.0786 , 95.0 % confidence interval :[0.0736,0.0837]
+ Number of function calls = 16384 , Pf = 0.0750 , 95.0 % confidence interval :[0.0701,0.0799]
+ Number of function calls = 32768 , Pf = 0.0772 , 95.0 % confidence interval :[0.0737,0.0808]
+ Number of function calls = 32768 , Pf = 0.0766 , 95.0 % confidence interval :[0.0731,0.0801]
+ Number of function calls = 32768 , Pf = 0.0796 , 95.0 % confidence interval :[0.0760,0.0832]
Number of function calls = 32768 , Pf = 0.0802 , 95.0 % confidence interval :[0.0766,0.0838]
- Number of function calls = 32768 , Pf = 0.0775 , 95.0 % confidence interval :[0.0740,0.0811]
- Number of function calls = 32768 , Pf = 0.0794 , 95.0 % confidence interval :[0.0758,0.0830]
- Number of function calls = 32768 , Pf = 0.0794 , 95.0 % confidence interval :[0.0758,0.0830]
- Number of function calls = 32768 , Pf = 0.0799 , 95.0 % confidence interval :[0.0763,0.0835]
- Number of function calls = 32768 , Pf = 0.0789 , 95.0 % confidence interval :[0.0753,0.0825]
- Number of function calls = 65536 , Pf = 0.0781 , 95.0 % confidence interval :[0.0756,0.0806]
- Number of function calls = 65536 , Pf = 0.0777 , 95.0 % confidence interval :[0.0752,0.0802]
- Number of function calls = 65536 , Pf = 0.0804 , 95.0 % confidence interval :[0.0779,0.0830]
- Number of function calls = 65536 , Pf = 0.0778 , 95.0 % confidence interval :[0.0753,0.0803]
+ Number of function calls = 32768 , Pf = 0.0796 , 95.0 % confidence interval :[0.0760,0.0831]
+ Number of function calls = 32768 , Pf = 0.0772 , 95.0 % confidence interval :[0.0737,0.0807]
+ Number of function calls = 32768 , Pf = 0.0786 , 95.0 % confidence interval :[0.0750,0.0822]
+ Number of function calls = 32768 , Pf = 0.0778 , 95.0 % confidence interval :[0.0743,0.0814]
+ Number of function calls = 32768 , Pf = 0.0810 , 95.0 % confidence interval :[0.0774,0.0846]
+ Number of function calls = 32768 , Pf = 0.0808 , 95.0 % confidence interval :[0.0772,0.0844]
+ Number of function calls = 65536 , Pf = 0.0790 , 95.0 % confidence interval :[0.0765,0.0815]
+ Number of function calls = 65536 , Pf = 0.0774 , 95.0 % confidence interval :[0.0749,0.0799]
Number of function calls = 65536 , Pf = 0.0786 , 95.0 % confidence interval :[0.0761,0.0812]
- Number of function calls = 65536 , Pf = 0.0779 , 95.0 % confidence interval :[0.0754,0.0804]
- Number of function calls = 65536 , Pf = 0.0818 , 95.0 % confidence interval :[0.0792,0.0844]
- Number of function calls = 65536 , Pf = 0.0793 , 95.0 % confidence interval :[0.0768,0.0819]
- Number of function calls = 65536 , Pf = 0.0786 , 95.0 % confidence interval :[0.0761,0.0811]
- Number of function calls = 65536 , Pf = 0.0814 , 95.0 % confidence interval :[0.0788,0.0839]
+ Number of function calls = 65536 , Pf = 0.0781 , 95.0 % confidence interval :[0.0756,0.0807]
+ Number of function calls = 65536 , Pf = 0.0793 , 95.0 % confidence interval :[0.0767,0.0818]
+ Number of function calls = 65536 , Pf = 0.0793 , 95.0 % confidence interval :[0.0768,0.0818]
+ Number of function calls = 65536 , Pf = 0.0806 , 95.0 % confidence interval :[0.0781,0.0832]
+ Number of function calls = 65536 , Pf = 0.0784 , 95.0 % confidence interval :[0.0759,0.0810]
+ Number of function calls = 65536 , Pf = 0.0783 , 95.0 % confidence interval :[0.0758,0.0808]
+ Number of function calls = 65536 , Pf = 0.0789 , 95.0 % confidence interval :[0.0763,0.0814]
@@ -352,7 +352,7 @@ where :math:`n` is the sample size.
.. code-block:: none
- Elapsed = 1.75 (s)
+ Elapsed = 1.74 (s)
@@ -414,7 +414,7 @@ where :math:`n` is the sample size.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 2.174 seconds)
+ **Total running time of the script:** (0 minutes 2.177 seconds)
.. _sphx_glr_download_auto_examples_plot_convergence_reliability_mc.py:
diff --git a/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_2d.rst b/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_2d.rst
index 0fe72ae277f..7638d14386d 100644
--- a/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_2d.rst
+++ b/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_2d.rst
@@ -152,7 +152,7 @@ Plot cross-cuts of the distribution
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 3.997 seconds)
+ **Total running time of the script:** (0 minutes 2.066 seconds)
.. _sphx_glr_download_auto_examples_plot_crosscut_distribution_2d.py:
diff --git a/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_3d.rst b/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_3d.rst
index d8967bce4a5..358c323007a 100644
--- a/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_3d.rst
+++ b/otbenchmark/master/_sources/auto_examples/plot_crosscut_distribution_3d.rst
@@ -146,7 +146,7 @@ Print the iso-values of the distribution
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 8.366 seconds)
+ **Total running time of the script:** (0 minutes 7.724 seconds)
.. _sphx_glr_download_auto_examples_plot_crosscut_distribution_3d.py:
diff --git a/otbenchmark/master/_sources/auto_examples/plot_methodFactory.rst b/otbenchmark/master/_sources/auto_examples/plot_methodFactory.rst
index 440a6975aa9..0b51e0c6633 100644
--- a/otbenchmark/master/_sources/auto_examples/plot_methodFactory.rst
+++ b/otbenchmark/master/_sources/auto_examples/plot_methodFactory.rst
@@ -331,7 +331,7 @@ Create a LHS algorithm
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 4.439 seconds)
+ **Total running time of the script:** (0 minutes 7.465 seconds)
.. _sphx_glr_download_auto_examples_plot_methodFactory.py:
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/index.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/index.rst
index 51535d15c69..1cc1b1cd3ef 100644
--- a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/index.rst
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/index.rst
@@ -30,6 +30,193 @@ Sensitivity examples
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_flood_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_flood_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Flooding test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_borgonovo_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borgonovo_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Borgonovo test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_ishigami_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_ishigami_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Ishigami test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_dirichlet_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_dirichlet_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Dirichlet test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_borehole_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borehole_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Borehole test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_nloscillator_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_nloscillator_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the NLOscillator test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_gaussian_sum_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_sum.py`
+
+.. raw:: html
+
+
Benchmark the gaussian sum test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_gaussian_product_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_product_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the gaussian product test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_morris_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_morris_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Morris test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_oakleyohagan_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_oakleyohagan_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the Oakley-O'Hagan test function
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_gsobol_sensitivity_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gsobol_sensitivity.py`
+
+.. raw:: html
+
+
Benchmark the G-Sobol test function
+
+
+
.. raw:: html
@@ -47,6 +234,23 @@ Sensitivity examples
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /auto_examples/sensitivity_problems/images/thumb/sphx_glr_plot_benchmark_sensitivity_methods_thumb.png
+ :alt:
+
+ :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_benchmark_sensitivity_methods.py`
+
+.. raw:: html
+
+
Benchmark sensitivity analysis methods
+
+
+
.. thumbnail-parent-div-close
.. raw:: html
@@ -58,5 +262,17 @@ Sensitivity examples
:hidden:
/auto_examples/sensitivity_problems/plot_print_problems
+ /auto_examples/sensitivity_problems/plot_flood_sensitivity
+ /auto_examples/sensitivity_problems/plot_borgonovo_sensitivity
+ /auto_examples/sensitivity_problems/plot_ishigami_sensitivity
+ /auto_examples/sensitivity_problems/plot_dirichlet_sensitivity
+ /auto_examples/sensitivity_problems/plot_borehole_sensitivity
+ /auto_examples/sensitivity_problems/plot_nloscillator_sensitivity
+ /auto_examples/sensitivity_problems/plot_gaussian_sum
+ /auto_examples/sensitivity_problems/plot_gaussian_product_sensitivity
+ /auto_examples/sensitivity_problems/plot_morris_sensitivity
+ /auto_examples/sensitivity_problems/plot_oakleyohagan_sensitivity
+ /auto_examples/sensitivity_problems/plot_gsobol_sensitivity
/auto_examples/sensitivity_problems/plot_convergence_ishigami
+ /auto_examples/sensitivity_problems/plot_benchmark_sensitivity_methods
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_benchmark_sensitivity_methods.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_benchmark_sensitivity_methods.rst
new file mode 100644
index 00000000000..e7958717c8a
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_benchmark_sensitivity_methods.rst
@@ -0,0 +1,576 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_benchmark_sensitivity_methods.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_benchmark_sensitivity_methods.py:
+
+
+Benchmark sensitivity analysis methods
+======================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-10
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 11-17
+
+When we estimate Sobol' indices, we may encounter the following warning messages:
+```
+WRN - The estimated first order Sobol index (2) is greater than its total order index ...
+WRN - The estimated total order Sobol index (2) is lesser than first order index ...
+```
+Lots of these messages are printed in the current Notebook. This is why we disable them with:
+
+.. GENERATED FROM PYTHON SOURCE LINES 17-19
+
+.. code-block:: Python
+
+ ot.Log.Show(ot.Log.NONE)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Use Borgonovo problem
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-25
+
+.. code-block:: Python
+
+ problem = otb.BorgonovoSensitivity()
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 26-27
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 27-30
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_total_order = problem.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 31-33
+
+Saltelli estimator with Monte-Carlo sample
+------------------------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 35-37
+
+.. code-block:: Python
+
+ sample_size = 10000
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 38-41
+
+.. code-block:: Python
+
+ inputDesign = ot.SobolIndicesExperiment(distribution, sample_size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 42-43
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 43-49
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(
+ inputDesign, outputDesign, sample_size
+ )
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 50-51
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 51-59
+
+.. code-block:: Python
+
+ print("Sample size : ", sample_size)
+ # First order
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.18553,0.173199,0.637105]
+ Exact first order = [0.157895,0.157895,0.631579]
+ Computed total order = [0.203344,0.210474,0.620406]
+ Exact total order = [0.210526,0.210526,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 60-62
+
+Saltelli estimator with Quasi Monte-Carlo sample
+------------------------------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 64-66
+
+.. code-block:: Python
+
+ sample_size = 500
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 67-72
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ sequence = ot.SobolSequence(dimension)
+ restart = True
+ experiment = ot.LowDiscrepancyExperiment(sequence, distribution, sample_size, restart)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 73-76
+
+.. code-block:: Python
+
+ inputDesign = ot.SobolIndicesExperiment(experiment).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 77-78
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 78-84
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(
+ inputDesign, outputDesign, sample_size
+ )
+ first_order = sensitivityAnalysis.getFirstOrderIndices()
+ total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 85-86
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 86-94
+
+.. code-block:: Python
+
+ print("Sample size : ", sample_size)
+ # First order
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 500
+ Computed first order = [0.18553,0.173199,0.637105]
+ Exact first order = [0.157895,0.157895,0.631579]
+ Computed total order = [0.203344,0.210474,0.620406]
+ Exact total order = [0.210526,0.210526,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-97
+
+Loop over the estimators
+------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 99-105
+
+.. code-block:: Python
+
+ print("Available estimators:")
+ estimators_list = otb.SensitivityBenchmarkMetaAlgorithm.GetEstimators()
+ for sobolAlgorithm in estimators_list:
+ name = sobolAlgorithm.getClassName()
+ print(" - ", name)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Available estimators:
+ - SaltelliSensitivityAlgorithm
+ - MartinezSensitivityAlgorithm
+ - JansenSensitivityAlgorithm
+ - MauntzKucherenkoSensitivityAlgorithm
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 106-108
+
+.. code-block:: Python
+
+ metaSAAlgorithm = otb.SensitivityBenchmarkMetaAlgorithm(problem)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 109-120
+
+.. code-block:: Python
+
+ print("Monte-Carlo sampling")
+ for sobolAlgorithm in estimators_list:
+ (
+ computed_first_order,
+ computed_total_order,
+ ) = metaSAAlgorithm.runSamplingEstimator(sample_size)
+ name = sobolAlgorithm.getClassName()
+ print(name)
+ print(" S = ", computed_first_order)
+ print(" T = ", computed_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Monte-Carlo sampling
+ SaltelliSensitivityAlgorithm
+ S = [0.199997,0.180685,0.664071]
+ T = [0.223721,0.228732,0.6502]
+ MartinezSensitivityAlgorithm
+ S = [0.191903,0.173622,0.638601]
+ T = [0.2242,0.207898,0.591462]
+ JansenSensitivityAlgorithm
+ S = [0.0952801,0.125079,0.615803]
+ T = [0.253686,0.237742,0.592254]
+ MauntzKucherenkoSensitivityAlgorithm
+ S = [0.205369,0.314775,0.698245]
+ T = [0.220371,0.172107,0.567821]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 121-134
+
+.. code-block:: Python
+
+ print("Quasi Monte-Carlo sampling")
+ for estimator in ["Saltelli", "Martinez", "Jansen", "MauntzKucherenko"]:
+ (
+ computed_first_order,
+ computed_total_order,
+ ) = metaSAAlgorithm.runSamplingEstimator(
+ sample_size, estimator=estimator, sampling_method="QMC"
+ )
+ name = sobolAlgorithm.getClassName()
+ print(name)
+ print(" S = ", computed_first_order)
+ print(" T = ", computed_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Quasi Monte-Carlo sampling
+ MauntzKucherenkoSensitivityAlgorithm
+ S = [0.147144,0.151326,0.624455]
+ T = [0.212622,0.209087,0.643622]
+ MauntzKucherenkoSensitivityAlgorithm
+ S = [0.147601,0.150976,0.629051]
+ T = [0.210037,0.210799,0.640943]
+ MauntzKucherenkoSensitivityAlgorithm
+ S = [0.151099,0.149846,0.632098]
+ T = [0.20915,0.21105,0.635553]
+ MauntzKucherenkoSensitivityAlgorithm
+ S = [0.159027,0.163209,0.636338]
+ T = [0.212622,0.209087,0.643622]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 135-149
+
+.. code-block:: Python
+
+ print("Polynomial chaos")
+ sample_size = 500
+ (
+ computed_first_order,
+ computed_total_order,
+ ) = metaSAAlgorithm.runPolynomialChaosEstimator(
+ sample_size_train=sample_size,
+ sample_size_test=2,
+ total_degree=5,
+ hyperbolic_quasinorm=0.5,
+ )
+ print(" S = ", computed_first_order)
+ print(" T = ", computed_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Polynomial chaos
+ S = [0.157895,0.157895,0.631579]
+ T = [0.210526,0.210526,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 150-152
+
+Define the metric
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 154-164
+
+We consider the following accuracy metrics:
+* the vector or log relative errors for a given index (first order or total order),
+* the mean log relative error, as the mean of the LRE vector (first order or total order),
+* the average mean log relative error, as the mean of the first and total order mean log relative error.
+
+Larger LRE values are prefered.
+
+The first order (resp. total order) mean LRE represents the mean number of digits for all components
+of the first order indices (resp. total order indices).
+The average mean LRE represents the mean LRE for both first and total order indices.
+
+.. GENERATED FROM PYTHON SOURCE LINES 166-176
+
+.. code-block:: Python
+
+ S_LRE = ot.Point(dimension)
+ T_LRE = ot.Point(dimension)
+ for i in range(dimension):
+ S_LRE[i] = otb.ComputeLogRelativeError(
+ computed_first_order[i], exact_first_order[i]
+ )
+ T_LRE[i] = otb.ComputeLogRelativeError(
+ computed_total_order[i], exact_total_order[i]
+ )
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 177-180
+
+.. code-block:: Python
+
+ print("LRE S = ", S_LRE)
+ print("LRE T = ", T_LRE)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ LRE S = [14.7136,14.5509,15.153]
+ LRE T = [15.0349,14.8008,15.153]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 181-188
+
+.. code-block:: Python
+
+ mean_LRE_S = sum(S_LRE) / dimension
+ mean_LRE_T = sum(T_LRE) / dimension
+ mean_LRE = (mean_LRE_S + mean_LRE_T) / 2.0
+ print("Mean LRE S = %.2f" % (mean_LRE_S))
+ print("Mean LRE T = %.2f" % (mean_LRE_T))
+ print("Mean LRE = %.2f" % (mean_LRE))
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Mean LRE S = 14.81
+ Mean LRE T = 15.00
+ Mean LRE = 14.90
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 189-190
+
+The digit per point ratio measure the number of digits relatively to the sample size. A greater value is prefered.
+
+.. GENERATED FROM PYTHON SOURCE LINES 190-192
+
+.. code-block:: Python
+
+ digit_per_point_ratio = mean_LRE / sample_size
+ print("Digit / point = %.3e" % (digit_per_point_ratio))
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Digit / point = 2.980e-02
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 0.034 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_benchmark_sensitivity_methods.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_benchmark_sensitivity_methods.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_benchmark_sensitivity_methods.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_benchmark_sensitivity_methods.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_borehole_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_borehole_sensitivity.rst
new file mode 100644
index 00000000000..60250c68e5f
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_borehole_sensitivity.rst
@@ -0,0 +1,340 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_borehole_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_borehole_sensitivity.py:
+
+
+Benchmark the Borehole test function
+====================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.BoreholeSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Borehole
+ distribution = ComposedDistribution(Normal(mu = 0.1, sigma = 0.0161812), LogNormal(muLog = 7.71, sigmaLog = 1.0056, gamma = 0), Uniform(a = 63070, b = 115600), Uniform(a = 990, b = 1110), Uniform(a = 63.1, b = 116), Uniform(a = 700, b = 820), Uniform(a = 1120, b = 1680), Uniform(a = 9855, b = 12045), IndependentCopula(dimension = 8))
+ function = [rw,r,Tu,Hu,Tl,Hl,L,Kw]->[(2*pi_*Tu*(Hu-Hl))/(ln(r/rw)*(1+(2*L*Tu)/(ln(r/rw)*rw^2*Kw)+Tu/Tl))]
+ firstOrderIndices = [0.66,0,0,0.09,0,0.09,0.09,0.02]
+ totalOrderIndices = [0.69,0,0,0.11,0,0.11,0.1,0.02]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=8 values=[0.66,0,0,0.09,0,0.09,0.09,0.02]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-28
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=8 values=[0.69,0,0,0.11,0,0.11,0.1,0.02]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 29-31
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-34
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 34-39
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 40-48
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 49-58
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (10.0, 10.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borehole_sensitivity_001.png
+ :alt: plot borehole sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borehole_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 59-62
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borehole_sensitivity_002.png
+ :alt: plot borehole sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borehole_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 63-65
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 67-68
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 68-73
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 74-75
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 75-79
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 80-81
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 81-91
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.673759,0.00700637,0.00702324,0.0955299,0.00698057,0.106366,0.0916606,0.0283122]
+ Exact first order = [0.66,0,0,0.09,0,0.09,0.09,0.02]
+ Computed total order = [0.699598,-5.69378e-05,-3.20159e-08,0.0973057,9.79799e-05,0.103265,0.095226,0.0247122]
+ Exact total order = [0.69,0,0,0.11,0,0.11,0.1,0.02]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 92-94
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borehole_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borehole_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-96
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 3.696 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_borehole_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_borehole_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_borehole_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_borehole_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_borgonovo_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_borgonovo_sensitivity.rst
new file mode 100644
index 00000000000..b356b8c58bb
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_borgonovo_sensitivity.rst
@@ -0,0 +1,340 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_borgonovo_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_borgonovo_sensitivity.py:
+
+
+Benchmark the Borgonovo test function
+=====================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.BorgonovoSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Borgonovo
+ distribution = ComposedDistribution(Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), IndependentCopula(dimension = 3))
+ function = [x1,x2,x3]->[x1 * x2 + x3]
+ firstOrderIndices = [0.157895,0.157895,0.631579]
+ totalOrderIndices = [0.210526,0.210526,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.157895,0.157895,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-28
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.210526,0.210526,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 29-31
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-34
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 34-39
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 40-48
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 49-58
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borgonovo_sensitivity_001.png
+ :alt: plot borgonovo sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borgonovo_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 59-62
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borgonovo_sensitivity_002.png
+ :alt: plot borgonovo sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borgonovo_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 63-65
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 67-68
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 68-73
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 74-75
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 75-79
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 80-81
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 81-91
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.166136,0.157381,0.623798]
+ Exact first order = [0.157895,0.157895,0.631579]
+ Computed total order = [0.207054,0.2159,0.623765]
+ Exact total order = [0.210526,0.210526,0.631579]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 92-94
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borgonovo_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_borgonovo_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-96
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 1.145 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_borgonovo_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_borgonovo_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_borgonovo_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_borgonovo_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_convergence_ishigami.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_convergence_ishigami.rst
index bf50767a2b0..ceea9c95a27 100644
--- a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_convergence_ishigami.rst
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_convergence_ishigami.rst
@@ -463,7 +463,7 @@ Use polynomial chaos.
Elapsed = 0.1 (s), Sample size = 160
Elapsed = 0.6 (s), Sample size = 320
Elapsed = 3.1 (s), Sample size = 640
- Elapsed = 18.60 (s)
+ Elapsed = 18.70 (s)
@@ -483,7 +483,7 @@ Use polynomial chaos.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 44.837 seconds)
+ **Total running time of the script:** (0 minutes 45.054 seconds)
.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_convergence_ishigami.py:
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_dirichlet_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_dirichlet_sensitivity.rst
new file mode 100644
index 00000000000..e108acad3cb
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_dirichlet_sensitivity.rst
@@ -0,0 +1,340 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_dirichlet_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_dirichlet_sensitivity.py:
+
+
+Benchmark the Dirichlet test function
+=====================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.DirichletSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Dirichlet
+ distribution = ComposedDistribution(Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), IndependentCopula(dimension = 3))
+ function = class=PythonEvaluation name=DirichletFunction
+ firstOrderIndices = [0.525547,0.233577,0.131387]
+ totalOrderIndices = [0.620438,0.310219,0.182482]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.525547,0.233577,0.131387]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-28
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.620438,0.310219,0.182482]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 29-31
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-34
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 34-39
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 40-48
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 49-58
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_dirichlet_sensitivity_001.png
+ :alt: plot dirichlet sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_dirichlet_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 59-62
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_dirichlet_sensitivity_002.png
+ :alt: plot dirichlet sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_dirichlet_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 63-65
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 67-68
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 68-73
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 74-75
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 75-79
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 80-81
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 81-91
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.5332,0.240662,0.130402]
+ Exact first order = [0.525547,0.233577,0.131387]
+ Computed total order = [0.616112,0.301247,0.180961]
+ Exact total order = [0.620438,0.310219,0.182482]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 92-94
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_dirichlet_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_dirichlet_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-96
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 2.273 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_dirichlet_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_dirichlet_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_dirichlet_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_dirichlet_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_flood_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_flood_sensitivity.rst
new file mode 100644
index 00000000000..91a7016915e
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_flood_sensitivity.rst
@@ -0,0 +1,350 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_flood_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_flood_sensitivity.py:
+
+
+Benchmark the Flooding test function
+====================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-14
+
+.. code-block:: Python
+
+ problem = otb.FloodingSensitivity()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 15-17
+
+.. code-block:: Python
+
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Flooding
+ distribution = ComposedDistribution(TruncatedDistribution(Gumbel(beta = 558, gamma = 1013), bounds = [0, (19000.8) +inf[), TruncatedDistribution(Normal(mu = 30, sigma = 7.5), bounds = [0, (87.3797) +inf[), Uniform(a = 49, b = 51), Uniform(a = 54, b = 56), Uniform(a = 7, b = 9), Triangular(a = 55, m = 55.5, b = 56), Triangular(a = 4990, m = 5000, b = 5010), Triangular(a = 295, m = 300, b = 305), IndependentCopula(dimension = 8))
+ function = [Q,Ks,Zv,Zm,Hd,Zb,L,B]->[(Q / (Ks * B * sqrt((Zm - Zv) / L)))^(3.0 / 5.0) + Zv - Zb - Hd]
+ firstOrderIndices = [0.38,0.13,0.25,0,0.19,0.02,0,0]
+ totalOrderIndices = [0.4,0.15,0.25,0.01,0.19,0.02,0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 18-21
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 22-23
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 23-26
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=8 values=[0.38,0.13,0.25,0,0.19,0.02,0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 27-30
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=8 values=[0.4,0.15,0.25,0.01,0.19,0.02,0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 31-33
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 35-36
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 36-41
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 42-50
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 51-60
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (10.0, 10.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_flood_sensitivity_001.png
+ :alt: plot flood sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_flood_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 61-64
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_flood_sensitivity_002.png
+ :alt: plot flood sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_flood_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 65-67
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 69-70
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 70-75
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 76-77
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 77-81
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 82-83
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 83-91
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.371175,0.132331,0.26067,0.0122818,0.191486,0.0325675,0.00737938,0.00742294]
+ Exact first order = [0.38,0.13,0.25,0,0.19,0.02,0,0]
+ Computed total order = [0.413371,0.145399,0.24342,0.00473238,0.181701,0.0226346,5.5996e-06,0.000250305]
+ Exact total order = [0.4,0.15,0.25,0.01,0.19,0.02,0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 92-94
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_flood_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_flood_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-96
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 2.451 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_flood_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_flood_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_flood_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_flood_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gaussian_product_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gaussian_product_sensitivity.rst
new file mode 100644
index 00000000000..00565812625
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gaussian_product_sensitivity.rst
@@ -0,0 +1,352 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_gaussian_product_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_product_sensitivity.py:
+
+
+Benchmark the gaussian product test function
+============================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-14
+
+.. code-block:: Python
+
+ problem = otb.GaussianProductSensitivity()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 15-17
+
+.. code-block:: Python
+
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = GaussianProduct
+ distribution = ComposedDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 2))
+ function = class=PythonEvaluation name=OpenTURNSPythonFunction
+ firstOrderIndices = [0,0]
+ totalOrderIndices = [1,1]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 18-21
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 22-23
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 23-26
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ print(exact_first_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 27-30
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ print(exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [1,1]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 31-33
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 35-36
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 36-41
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 42-50
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 51-60
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ view = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_product_sensitivity_001.png
+ :alt: plot gaussian product sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_product_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 61-64
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_product_sensitivity_002.png
+ :alt: plot gaussian product sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_product_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 65-67
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 69-70
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 70-75
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 76-77
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 77-81
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 82-83
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 83-93
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.00444004,-0.030873]
+ Exact first order = [0,0]
+ Computed total order = [1.02181,0.996161]
+ Exact total order = [1,1]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 94-96
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_product_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_product_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 97-98
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 1.658 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_gaussian_product_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_gaussian_product_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_gaussian_product_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_gaussian_product_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gaussian_sum.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gaussian_sum.rst
new file mode 100644
index 00000000000..80defe138fd
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gaussian_sum.rst
@@ -0,0 +1,352 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_gaussian_sum.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_sum.py:
+
+
+Benchmark the gaussian sum test function
+========================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-14
+
+.. code-block:: Python
+
+ problem = otb.GaussianSumSensitivity()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 15-17
+
+.. code-block:: Python
+
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = GaussianSum
+ distribution = ComposedDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 2))
+ function = class=PythonEvaluation name=OpenTURNSPythonFunction
+ firstOrderIndices = [0.5,0.5]
+ totalOrderIndices = [0.5,0.5]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 18-21
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 22-23
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 23-26
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ print(exact_first_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [0.5,0.5]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 27-30
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ print(exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [0.5,0.5]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 31-33
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 35-36
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 36-41
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 42-50
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 51-60
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ view = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_sum_001.png
+ :alt: plot gaussian sum
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_sum_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 61-64
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_sum_002.png
+ :alt: plot gaussian sum
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_sum_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 65-67
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 69-70
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 70-75
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 76-77
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 77-81
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 82-83
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 83-93
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.513373,0.504889]
+ Exact first order = [0.5,0.5]
+ Computed total order = [0.50317,0.494875]
+ Exact total order = [0.5,0.5]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 94-96
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_sum_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gaussian_sum_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 97-98
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 1.770 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_gaussian_sum.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_gaussian_sum.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_gaussian_sum.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_gaussian_sum.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gsobol_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gsobol_sensitivity.rst
new file mode 100644
index 00000000000..eada954f850
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_gsobol_sensitivity.rst
@@ -0,0 +1,361 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_gsobol_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_gsobol_sensitivity.py:
+
+
+Benchmark the G-Sobol test function
+===================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.GSobolSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = GSobol
+ distribution = ComposedDistribution(Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), IndependentCopula(dimension = 3))
+ function = class=PythonEvaluation name=OpenTURNSPythonFunction
+ firstOrderIndices = [0.986712,0.00986712,9.86712e-05]
+ totalOrderIndices = [0.990034,0.0131566,0.000132]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.986712,0.00986712,9.86712e-05]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-28
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ print(exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [0.990034,0.0131566,0.000132]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 29-31
+
+Plot function
+-------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-34
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 34-39
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 40-48
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 49-59
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gsobol_sensitivity_001.png
+ :alt: plot gsobol sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gsobol_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 60-61
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 61-66
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 1000
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 67-70
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gsobol_sensitivity_002.png
+ :alt: plot gsobol sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gsobol_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 71-73
+
+Perform SA
+----------
+
+.. GENERATED FROM PYTHON SOURCE LINES 75-76
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 76-81
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 82-83
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 83-87
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 88-89
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 89-99
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.978665,0.021486,0.0124414]
+ Exact first order = [0.986712,0.00986712,9.86712e-05]
+ Computed total order = [0.979669,0.0104535,-4.12658e-05]
+ Exact total order = [0.990034,0.0131566,0.000132]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 100-102
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gsobol_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_gsobol_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 103-104
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 2.334 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_gsobol_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_gsobol_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_gsobol_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_gsobol_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_ishigami_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_ishigami_sensitivity.rst
new file mode 100644
index 00000000000..0ce0ecddc29
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_ishigami_sensitivity.rst
@@ -0,0 +1,352 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_ishigami_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_ishigami_sensitivity.py:
+
+
+Benchmark the Ishigami test function
+====================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-14
+
+.. code-block:: Python
+
+ problem = otb.IshigamiSensitivity()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 15-17
+
+.. code-block:: Python
+
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Ishigami
+ distribution = ComposedDistribution(Uniform(a = -3.14159, b = 3.14159), Uniform(a = -3.14159, b = 3.14159), Uniform(a = -3.14159, b = 3.14159), IndependentCopula(dimension = 3))
+ function = ParametricEvaluation([X1,X2,X3,a,b]->[sin(X1) + a * sin(X2)^2 + b * X3^4 * sin(X1)], parameters positions=[3,4], parameters=[a : 7, b : 0.1], input positions=[0,1,2])
+ firstOrderIndices = [0.313905,0.442411,0]
+ totalOrderIndices = [0.557589,0.442411,0.243684]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 18-21
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 22-23
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 23-26
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.313905,0.442411,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 27-30
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=3 values=[0.557589,0.442411,0.243684]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 31-33
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 35-36
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 36-41
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 42-50
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 51-60
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (6.0, 6.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_ishigami_sensitivity_001.png
+ :alt: plot ishigami sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_ishigami_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 61-64
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_ishigami_sensitivity_002.png
+ :alt: plot ishigami sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_ishigami_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 65-67
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 69-70
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 70-75
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 76-77
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 77-81
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 82-83
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 83-93
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.302745,0.460846,0.0066916]
+ Exact first order = [0.313905,0.442411,0]
+ Computed total order = [0.574996,0.427126,0.256689]
+ Exact total order = [0.557589,0.442411,0.243684]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 94-96
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_ishigami_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_ishigami_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 97-98
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 1.187 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_ishigami_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_ishigami_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_ishigami_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_ishigami_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_morris_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_morris_sensitivity.rst
new file mode 100644
index 00000000000..3bc2afd5873
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_morris_sensitivity.rst
@@ -0,0 +1,330 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_morris_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_morris_sensitivity.py:
+
+
+Benchmark the Morris test function
+==================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.MorrisSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Morris
+ distribution = ComposedDistribution(Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), Uniform(a = 0, b = 1), IndependentCopula(dimension = 20))
+ function = class=PythonEvaluation name=MorrisFunction
+ firstOrderIndices = [0.08,0.08,0.06,0.08,0.06,0.13,0.06,0.13,0.13,0.12,0,0,0,0,0,0,0,0,0,0]#20
+ totalOrderIndices = [0.11,0.11,0.06,0.11,0.06,0.13,0.06,0.13,0.13,0.12,0,0,0,0,0,0,0,0,0,0]#20
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=20 values=[0.08,0.08,0.06,0.08,0.06,0.13,0.06,0.13,0.13,0.12,0,0,0,0,0,0,0,0,0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-28
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=20 values=[0.11,0.11,0.06,0.11,0.06,0.13,0.06,0.13,0.13,0.12,0,0,0,0,0,0,0,0,0,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 29-31
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-34
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 34-39
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 40-65
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ nbcolumns = 4
+ nbrows = int(dimension / nbcolumns)
+ grid = ot.GridLayout(nbrows, nbcolumns)
+ inputDescription = distribution.getDescription()
+ outputDescription = model.getOutputDescription()[0]
+ index = 0
+ for i in range(nbrows):
+ for j in range(nbcolumns):
+ graph = ot.Graph(
+ "n=%d" % (size), inputDescription[index], outputDescription, True, ""
+ )
+ sample = ot.Sample(size, 2)
+ sample[:, 0] = inputDesign[:, index]
+ sample[:, 1] = outputDesign[:, 0]
+ cloud = ot.Cloud(sample)
+ graph.add(cloud)
+ grid.setGraph(i, j, graph)
+ index += 1
+ _ = otv.View(grid, figure_kw={"figsize": (10.0, 10.0)})
+
+ # %
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. rst-class:: sphx-glr-horizontal
+
+
+ *
+
+ .. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_morris_sensitivity_001.png
+ :alt: , n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_morris_sensitivity_001.png
+ :class: sphx-glr-multi-img
+
+ *
+
+ .. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_morris_sensitivity_002.png
+ :alt: plot morris sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_morris_sensitivity_002.png
+ :class: sphx-glr-multi-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 66-68
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 70-71
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 71-76
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 30
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 77-78
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 78-82
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 83-84
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 84-94
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 30
+ Computed first order = [0.0607395,0.20637,0.267428,0.262258,0.314109,0.61827,0.294943,0.439378,0.246433,0.274413,0.221509,0.18807,0.218819,0.228214,0.208058,0.215507,0.23585,0.21719,0.237087,0.214426]#20
+ Exact first order = [0.08,0.08,0.06,0.08,0.06,0.13,0.06,0.13,0.13,0.12,0,0,0,0,0,0,0,0,0,0]#20
+ Computed total order = [0.0311589,0.22498,0.219259,0.078154,-0.0539979,-0.0392477,-0.0216198,0.20086,0.311105,0.0877451,-0.0160964,-0.000247103,-0.0276497,0.000406818,-0.0165498,-0.0183569,-0.0308313,-0.0264689,-0.00283312,-0.00660521]#20
+ Exact total order = [0.11,0.11,0.06,0.11,0.06,0.13,0.06,0.13,0.13,0.12,0,0,0,0,0,0,0,0,0,0]#20
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-97
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_morris_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_morris_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 98-99
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 16.944 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_morris_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_morris_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_morris_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_morris_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_nloscillator_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_nloscillator_sensitivity.rst
new file mode 100644
index 00000000000..a5b1eb10717
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_nloscillator_sensitivity.rst
@@ -0,0 +1,340 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_nloscillator_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_nloscillator_sensitivity.py:
+
+
+Benchmark the NLOscillator test function
+========================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.NLOscillatorSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = N.L. Oscillator
+ distribution = ComposedDistribution(class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=21.5 sigma=2.15 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=3.06308 sigmaLog=0.0997513 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=1.5 sigma=0.15 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=0.40049 sigmaLog=0.0997513 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=0.01 sigma=0.001 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=-4.61015 sigmaLog=0.0997513 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=1 sigma=0.2 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=-0.0196104 sigmaLog=0.198042 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=0.01 sigma=0.002 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=-4.62478 sigmaLog=0.198042 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=0.05 sigma=0.02 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=-3.06994 sigmaLog=0.385253 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=0.02 sigma=0.01 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=-4.02359 sigmaLog=0.472381 gamma=0, class=ParametrizedDistribution parameters=class=LogNormalMuSigma name=Unnamed mu=100 sigma=10 gamma=0 distribution=class=LogNormal name=LogNormal dimension=1 muLog=4.6002 sigmaLog=0.0997513 gamma=0, IndependentCopula(dimension = 8))
+ function = class=PythonEvaluation name=OpenTURNSPythonFunction
+ firstOrderIndices = [0.4,0.03,0.09,0.18,0.12,0.05,0.05,0]
+ totalOrderIndices = [0.4,0.04,0.1,0.23,0.16,0.07,0.06,0.01]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ exact_first_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=8 values=[0.4,0.03,0.09,0.18,0.12,0.05,0.05,0]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-28
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ exact_total_order
+
+
+
+
+
+
+.. raw:: html
+
+
+ class=Point name=Unnamed dimension=8 values=[0.4,0.04,0.1,0.23,0.16,0.07,0.06,0.01]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 29-31
+
+Plot the function
+-----------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-34
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 34-39
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 40-48
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ full_sample = ot.Sample(size, 1 + dimension)
+ full_sample[:, range(dimension)] = inputDesign
+ full_sample[:, dimension] = outputDesign
+ full_description = list(inputDesign.getDescription())
+ full_description.append(outputDesign.getDescription()[0])
+ full_sample.setDescription(full_description)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 49-58
+
+.. code-block:: Python
+
+ marginal_distribution = ot.ComposedDistribution(
+ [
+ ot.KernelSmoothing().build(full_sample.getMarginal(i))
+ for i in range(1 + dimension)
+ ]
+ )
+ clouds = ot.VisualTest.DrawPairsMarginals(full_sample, marginal_distribution)
+ _ = otv.View(clouds, figure_kw={"figsize": (10.0, 10.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_nloscillator_sensitivity_001.png
+ :alt: plot nloscillator sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_nloscillator_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 59-62
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_nloscillator_sensitivity_002.png
+ :alt: plot nloscillator sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_nloscillator_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 63-65
+
+Perform sensitivity analysis
+----------------------------
+
+.. GENERATED FROM PYTHON SOURCE LINES 67-68
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 68-73
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 10000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 74-75
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 75-79
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 80-81
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 81-91
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 10000
+ Computed first order = [0.374552,0.0347919,0.0853174,0.186246,0.120437,0.04356,0.0358369,0.00467826]
+ Exact first order = [0.4,0.03,0.09,0.18,0.12,0.05,0.05,0]
+ Computed total order = [0.375092,0.0778412,0.127126,0.279952,0.201389,0.0667096,0.0458004,0.00812321]
+ Exact total order = [0.4,0.04,0.1,0.23,0.16,0.07,0.06,0.01]
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 92-94
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_nloscillator_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_nloscillator_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 95-96
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 3.807 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_nloscillator_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_nloscillator_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_nloscillator_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_nloscillator_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_oakleyohagan_sensitivity.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_oakleyohagan_sensitivity.rst
new file mode 100644
index 00000000000..fde2ab72657
--- /dev/null
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_oakleyohagan_sensitivity.rst
@@ -0,0 +1,330 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "auto_examples/sensitivity_problems/plot_oakleyohagan_sensitivity.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+ .. note::
+ :class: sphx-glr-download-link-note
+
+ :ref:`Go to the end `
+ to download the full example code.
+
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_auto_examples_sensitivity_problems_plot_oakleyohagan_sensitivity.py:
+
+
+Benchmark the Oakley-O'Hagan test function
+==========================================
+
+.. GENERATED FROM PYTHON SOURCE LINES 7-11
+
+.. code-block:: Python
+
+ import openturns as ot
+ import otbenchmark as otb
+ import openturns.viewer as otv
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 12-15
+
+.. code-block:: Python
+
+ problem = otb.OakleyOHaganSensitivity()
+ print(problem)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ name = Oakley-O'Hagan
+ distribution = ComposedDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 15))
+ function = class=PythonEvaluation name=OpenTURNSPythonFunction
+ firstOrderIndices = [0,0,0,0,0,0.02,0.02,0.03,0.05,0.01,0.1,0.14,0.1,0.11,0.12]#15
+ totalOrderIndices = [0.06,0.06,0.04,0.05,0.02,0.04,0.06,0.08,0.1,0.04,0.15,0.15,0.14,0.14,0.16]#15
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 16-19
+
+.. code-block:: Python
+
+ distribution = problem.getInputDistribution()
+ model = problem.getFunction()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 20-21
+
+Exact first and total order
+
+.. GENERATED FROM PYTHON SOURCE LINES 21-24
+
+.. code-block:: Python
+
+ exact_first_order = problem.getFirstOrderIndices()
+ print(exact_first_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [0,0,0,0,0,0.02,0.02,0.03,0.05,0.01,0.1,0.14,0.1,0.11,0.12]#15
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 25-31
+
+.. code-block:: Python
+
+ exact_total_order = problem.getTotalOrderIndices()
+ print(exact_total_order)
+
+
+ # ## Plot the function
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ [0.06,0.06,0.04,0.05,0.02,0.04,0.06,0.08,0.1,0.04,0.15,0.15,0.14,0.14,0.16]#15
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 32-33
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 33-38
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 200
+ inputDesign = ot.MonteCarloExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 39-60
+
+.. code-block:: Python
+
+ dimension = distribution.getDimension()
+ nbcolumns = 5
+ nbrows = int(dimension / nbcolumns)
+ grid = ot.GridLayout(nbrows, nbcolumns)
+ inputDescription = distribution.getDescription()
+ outputDescription = model.getOutputDescription()[0]
+ index = 0
+ for i in range(nbrows):
+ for j in range(nbcolumns):
+ graph = ot.Graph(
+ "n=%d" % (size), inputDescription[index], outputDescription, True, ""
+ )
+ sample = ot.Sample(size, 2)
+ sample[:, 0] = inputDesign[:, index]
+ sample[:, 1] = outputDesign[:, 0]
+ cloud = ot.Cloud(sample)
+ graph.add(cloud)
+ grid.setGraph(i, j, graph)
+ index += 1
+ _ = otv.View(grid, figure_kw={"figsize": (10.0, 10.0)})
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_oakleyohagan_sensitivity_001.png
+ :alt: , n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200, n=200
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_oakleyohagan_sensitivity_001.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 61-64
+
+.. code-block:: Python
+
+ output_distribution = ot.KernelSmoothing().build(outputDesign)
+ _ = otv.View(output_distribution.drawPDF())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_oakleyohagan_sensitivity_002.png
+ :alt: plot oakleyohagan sensitivity
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_oakleyohagan_sensitivity_002.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 65-66
+
+## Perform sensitivity analysis
+
+.. GENERATED FROM PYTHON SOURCE LINES 68-69
+
+Create X/Y data
+
+.. GENERATED FROM PYTHON SOURCE LINES 69-74
+
+.. code-block:: Python
+
+ ot.RandomGenerator.SetSeed(0)
+ size = 1000
+ inputDesign = ot.SobolIndicesExperiment(distribution, size).generate()
+ outputDesign = model(inputDesign)
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 75-76
+
+Compute first order indices using the Saltelli estimator
+
+.. GENERATED FROM PYTHON SOURCE LINES 76-80
+
+.. code-block:: Python
+
+ sensitivityAnalysis = ot.SaltelliSensitivityAlgorithm(inputDesign, outputDesign, size)
+ computed_first_order = sensitivityAnalysis.getFirstOrderIndices()
+ computed_total_order = sensitivityAnalysis.getTotalOrderIndices()
+
+
+
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 81-82
+
+Compare with exact results
+
+.. GENERATED FROM PYTHON SOURCE LINES 82-92
+
+.. code-block:: Python
+
+ print("Sample size : ", size)
+ # First order
+ # Compute absolute error (the LRE cannot be computed,
+ # because S can be zero)
+ print("Computed first order = ", computed_first_order)
+ print("Exact first order = ", exact_first_order)
+ # Total order
+ print("Computed total order = ", computed_total_order)
+ print("Exact total order = ", exact_total_order)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+ Sample size : 1000
+ Computed first order = [0.00686154,0.0173649,0.0121877,-0.0153947,-0.0223964,0.0038293,0.0373239,0.014391,0.0568532,0.0057647,0.0867005,0.162502,0.0882588,0.0706715,0.108779]#15
+ Exact first order = [0,0,0,0,0,0.02,0.02,0.03,0.05,0.01,0.1,0.14,0.1,0.11,0.12]#15
+ Computed total order = [0.0565808,0.0625981,0.0461935,0.0758801,0.0356766,0.028928,0.058367,0.101891,0.087846,0.0501691,0.128598,0.146953,0.125396,0.149566,0.16276]#15
+ Exact total order = [0.06,0.06,0.04,0.05,0.02,0.04,0.06,0.08,0.1,0.04,0.15,0.15,0.14,0.14,0.16]#15
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 93-95
+
+.. code-block:: Python
+
+ _ = otv.View(sensitivityAnalysis.draw())
+
+
+
+
+.. image-sg:: /auto_examples/sensitivity_problems/images/sphx_glr_plot_oakleyohagan_sensitivity_003.png
+ :alt: Sobol' indices - SaltelliSensitivityAlgorithm
+ :srcset: /auto_examples/sensitivity_problems/images/sphx_glr_plot_oakleyohagan_sensitivity_003.png
+ :class: sphx-glr-single-img
+
+
+
+
+
+.. GENERATED FROM PYTHON SOURCE LINES 96-97
+
+.. code-block:: Python
+
+ otv.View.ShowAll()
+
+
+
+
+
+
+
+
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** (0 minutes 1.088 seconds)
+
+
+.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_oakleyohagan_sensitivity.py:
+
+.. only:: html
+
+ .. container:: sphx-glr-footer sphx-glr-footer-example
+
+ .. container:: sphx-glr-download sphx-glr-download-jupyter
+
+ :download:`Download Jupyter notebook: plot_oakleyohagan_sensitivity.ipynb `
+
+ .. container:: sphx-glr-download sphx-glr-download-python
+
+ :download:`Download Python source code: plot_oakleyohagan_sensitivity.py `
+
+ .. container:: sphx-glr-download sphx-glr-download-zip
+
+ :download:`Download zipped: plot_oakleyohagan_sensitivity.zip `
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_print_problems.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_print_problems.rst
index 0238c66b83c..1cf29e6d0cc 100644
--- a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_print_problems.rst
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/plot_print_problems.rst
@@ -178,7 +178,7 @@ For each problem in the benchmark, print the problem name and the exact Sobol' i
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** (0 minutes 0.165 seconds)
+ **Total running time of the script:** (0 minutes 0.252 seconds)
.. _sphx_glr_download_auto_examples_sensitivity_problems_plot_print_problems.py:
diff --git a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/sg_execution_times.rst b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/sg_execution_times.rst
index 8723708d561..3608e6f635a 100644
--- a/otbenchmark/master/_sources/auto_examples/sensitivity_problems/sg_execution_times.rst
+++ b/otbenchmark/master/_sources/auto_examples/sensitivity_problems/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:45.002** total execution time for 2 files **from auto_examples/sensitivity_problems**:
+**01:23.694** total execution time for 14 files **from auto_examples/sensitivity_problems**:
.. container::
@@ -33,8 +33,44 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_convergence_ishigami.py` (``plot_convergence_ishigami.py``)
- - 00:44.837
+ - 00:45.054
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_morris_sensitivity.py` (``plot_morris_sensitivity.py``)
+ - 00:16.944
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_nloscillator_sensitivity.py` (``plot_nloscillator_sensitivity.py``)
+ - 00:03.807
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borehole_sensitivity.py` (``plot_borehole_sensitivity.py``)
+ - 00:03.696
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_flood_sensitivity.py` (``plot_flood_sensitivity.py``)
+ - 00:02.451
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gsobol_sensitivity.py` (``plot_gsobol_sensitivity.py``)
+ - 00:02.334
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_dirichlet_sensitivity.py` (``plot_dirichlet_sensitivity.py``)
+ - 00:02.273
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_sum.py` (``plot_gaussian_sum.py``)
+ - 00:01.770
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_product_sensitivity.py` (``plot_gaussian_product_sensitivity.py``)
+ - 00:01.658
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_ishigami_sensitivity.py` (``plot_ishigami_sensitivity.py``)
+ - 00:01.187
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borgonovo_sensitivity.py` (``plot_borgonovo_sensitivity.py``)
+ - 00:01.145
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_oakleyohagan_sensitivity.py` (``plot_oakleyohagan_sensitivity.py``)
+ - 00:01.088
- 0.0
* - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_print_problems.py` (``plot_print_problems.py``)
- - 00:00.165
+ - 00:00.252
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_benchmark_sensitivity_methods.py` (``plot_benchmark_sensitivity_methods.py``)
+ - 00:00.034
- 0.0
diff --git a/otbenchmark/master/_sources/auto_examples/sg_execution_times.rst b/otbenchmark/master/_sources/auto_examples/sg_execution_times.rst
index 49da92f6963..f3616dc40f5 100644
--- a/otbenchmark/master/_sources/auto_examples/sg_execution_times.rst
+++ b/otbenchmark/master/_sources/auto_examples/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:24.333** total execution time for 6 files **from auto_examples**:
+**00:23.239** total execution time for 6 files **from auto_examples**:
.. container::
@@ -33,20 +33,20 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_plot_crosscut_distribution_3d.py` (``plot_crosscut_distribution_3d.py``)
- - 00:08.366
- - 0.0
- * - :ref:`sphx_glr_auto_examples_plot_ConditionalDistribution_Demo.py` (``plot_ConditionalDistribution_Demo.py``)
- - 00:04.619
+ - 00:07.724
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_methodFactory.py` (``plot_methodFactory.py``)
- - 00:04.439
+ - 00:07.465
- 0.0
- * - :ref:`sphx_glr_auto_examples_plot_crosscut_distribution_2d.py` (``plot_crosscut_distribution_2d.py``)
- - 00:03.997
+ * - :ref:`sphx_glr_auto_examples_plot_ConditionalDistribution_Demo.py` (``plot_ConditionalDistribution_Demo.py``)
+ - 00:02.577
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_convergence_reliability_mc.py` (``plot_convergence_reliability_mc.py``)
- - 00:02.174
+ - 00:02.177
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_plot_crosscut_distribution_2d.py` (``plot_crosscut_distribution_2d.py``)
+ - 00:02.066
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_CrossCutFunction_Demo.py` (``plot_CrossCutFunction_Demo.py``)
- - 00:00.738
+ - 00:01.229
- 0.0
diff --git a/otbenchmark/master/_sources/index.rst b/otbenchmark/master/_sources/index.rst
index 01b259514a6..9fc8066f0f0 100644
--- a/otbenchmark/master/_sources/index.rst
+++ b/otbenchmark/master/_sources/index.rst
@@ -10,14 +10,6 @@ User documentation
user_manual/user_manual
../auto_examples/index.rst
-Developer guide
----------------
-
-.. toctree::
- :maxdepth: 1
-
- developer_guide/developer_guide
-
Indices and tables
==================
diff --git a/otbenchmark/master/_sources/sg_execution_times.rst b/otbenchmark/master/_sources/sg_execution_times.rst
index d91e6aab675..2a0d646c170 100644
--- a/otbenchmark/master/_sources/sg_execution_times.rst
+++ b/otbenchmark/master/_sources/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**01:09.335** total execution time for 8 files **from all galleries**:
+**01:46.932** total execution time for 20 files **from all galleries**:
.. container::
@@ -33,26 +33,62 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_convergence_ishigami.py` (``examples/sensitivity_problems/plot_convergence_ishigami.py``)
- - 00:44.837
+ - 00:45.054
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_morris_sensitivity.py` (``examples/sensitivity_problems/plot_morris_sensitivity.py``)
+ - 00:16.944
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_crosscut_distribution_3d.py` (``examples/plot_crosscut_distribution_3d.py``)
- - 00:08.366
+ - 00:07.724
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_plot_methodFactory.py` (``examples/plot_methodFactory.py``)
+ - 00:07.465
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_nloscillator_sensitivity.py` (``examples/sensitivity_problems/plot_nloscillator_sensitivity.py``)
+ - 00:03.807
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borehole_sensitivity.py` (``examples/sensitivity_problems/plot_borehole_sensitivity.py``)
+ - 00:03.696
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_ConditionalDistribution_Demo.py` (``examples/plot_ConditionalDistribution_Demo.py``)
- - 00:04.619
+ - 00:02.577
- 0.0
- * - :ref:`sphx_glr_auto_examples_plot_methodFactory.py` (``examples/plot_methodFactory.py``)
- - 00:04.439
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_flood_sensitivity.py` (``examples/sensitivity_problems/plot_flood_sensitivity.py``)
+ - 00:02.451
- 0.0
- * - :ref:`sphx_glr_auto_examples_plot_crosscut_distribution_2d.py` (``examples/plot_crosscut_distribution_2d.py``)
- - 00:03.997
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gsobol_sensitivity.py` (``examples/sensitivity_problems/plot_gsobol_sensitivity.py``)
+ - 00:02.334
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_dirichlet_sensitivity.py` (``examples/sensitivity_problems/plot_dirichlet_sensitivity.py``)
+ - 00:02.273
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_convergence_reliability_mc.py` (``examples/plot_convergence_reliability_mc.py``)
- - 00:02.174
+ - 00:02.177
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_plot_crosscut_distribution_2d.py` (``examples/plot_crosscut_distribution_2d.py``)
+ - 00:02.066
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_sum.py` (``examples/sensitivity_problems/plot_gaussian_sum.py``)
+ - 00:01.770
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_gaussian_product_sensitivity.py` (``examples/sensitivity_problems/plot_gaussian_product_sensitivity.py``)
+ - 00:01.658
- 0.0
* - :ref:`sphx_glr_auto_examples_plot_CrossCutFunction_Demo.py` (``examples/plot_CrossCutFunction_Demo.py``)
- - 00:00.738
+ - 00:01.229
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_ishigami_sensitivity.py` (``examples/sensitivity_problems/plot_ishigami_sensitivity.py``)
+ - 00:01.187
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_borgonovo_sensitivity.py` (``examples/sensitivity_problems/plot_borgonovo_sensitivity.py``)
+ - 00:01.145
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_oakleyohagan_sensitivity.py` (``examples/sensitivity_problems/plot_oakleyohagan_sensitivity.py``)
+ - 00:01.088
- 0.0
* - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_print_problems.py` (``examples/sensitivity_problems/plot_print_problems.py``)
- - 00:00.165
+ - 00:00.252
+ - 0.0
+ * - :ref:`sphx_glr_auto_examples_sensitivity_problems_plot_benchmark_sensitivity_methods.py` (``examples/sensitivity_problems/plot_benchmark_sensitivity_methods.py``)
+ - 00:00.034
- 0.0
diff --git a/otbenchmark/master/auto_examples/index.html b/otbenchmark/master/auto_examples/index.html
index 6a833f3e79a..333a577beb1 100644
--- a/otbenchmark/master/auto_examples/index.html
+++ b/otbenchmark/master/auto_examples/index.html
@@ -75,9 +75,6 @@
Sensitivity examples
-
-
@@ -143,9 +140,45 @@
Sensitivity examples