""" #! /usr/bin/env python from __future__ import print_function import openturns as ot from gsobollib import (gsobolSAExact, gsobolDistribution, gsobol) import numpy as np import pylab as pl import openturns.viewer as otv a = np.array([0, 9, 99]) d = len(a) # Distribution uniforme associée au cas-test GSobol distribution = gsobolDistribution(d) # Indices de sensibilité exacts [muexact, vexact, sexact, stexact] = gsobolSAExact(a) # Taille du plan d'expérience de base pour estimer S et ST sampleSize = 1000 # Nombre de répétition de l'expérience nrepetitions = 500 # Estimations des indices du premier ordre sampleFirstMartinez = ot.Sample(nrepetitions, 3) # Estimations des indices totaux sampleTotalMartinez = ot.Sample(nrepetitions, 3)
######################################### # Sizes of simulation n_loops = 10 list_sampleSize = np.logspace(1, 5, n_loops) # n_loops valeurs de 1e1 à 1e5 ref_sampleSize = 4e5 ref_nrepetitions = 1000 ################################################################################ ################# GSOBOL ##################### ################################################################################ a = array([0, 9, 99]) # Distribution uniforme associée au cas-test GSobol distribution_gsobol = gsobolDistribution(len(a)) model_gsobol = ot.PythonFunction(len(a), 1, func_sample=lambda X: gsobol(X, a)) model_gsobol.setName("G-Sobol") # Saltelli runConvergence(model_gsobol, distribution_gsobol, SaltelliSensitivityAlgorithm, list_sampleSize, ref_sampleSize, ref_nrepetitions) # Jansen runConvergence(model_gsobol, distribution_gsobol, JansenSensitivityAlgorithm, list_sampleSize, ref_sampleSize, ref_nrepetitions)