English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Sensitivity: TShapley.h Source File
Uranie / Sensitivity v4.9.0
/* @license-end */
TShapley.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2024 CEA/DES
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published
6// by the Free Software Foundation, either version 3 of the License, or any
7// later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
17
44#ifndef TSHAPLEY_H
45#define TSHAPLEY_H
46
48
50#include "TSensitivity.h"
51#include "TGaussianSampling.h"
52
53using namespace URANIE::DataServer;
54using namespace URANIE::Sampler;
55
56namespace URANIE
57{
58namespace Sensitivity
59{
61{
62public:
70 //---------------------------------------------
78
79 TShapley(TDataServer *tds, const char *varexpinput,
80 const char *varexpoutput, Option_t * option = "");
81
91 TShapley(TDataServer *tds, const char *fcn, Int_t ns,
92 const char *varexpinput, const char *varexpoutput,
93 Option_t* option="");
94
103 TShapley(TDataServer *tds, void (*fcn)(Double_t*,Double_t*),
104 Int_t ns, const char *varexpinput, const char *varexpoutput,
105 Option_t* option="");
106
114 TShapley(TDataServer *tds, URANIE::Launcher::TCode *fcode,
115 Int_t ns, Option_t * option = "");
116
124 TShapley(TDataServer *tds, URANIE::Relauncher::TRun *run,
125 Int_t ns, Option_t * option = "");
126
127
131 virtual ~TShapley();
133 //---------------------------------------------
137 const char * getIteratorNameNo()
138 {
139 return _sIteratorNameNo.Data();
140 }
141 const char * getIteratorNameNi()
142 {
143 return _sIteratorNameNi.Data();
144 }
145 Int_t getNv() { return _nV;}
146 void setNv(Int_t nv);
147
148 Int_t getNm() { return _nM;}
149 void setNm(Int_t nm);
150
151 Int_t getNo() { return _nO;}
152 void setNo(Int_t no);
153
154 Int_t getNi() { return _nI;}
155 void setNi(Int_t ni);
156
157
159
163
166 }
167
168
170
171 //---------------------------------------------
175 virtual void generateSample(Option_t * option = "");
177
178
179 //---------------------------------------------
183
188 void evaluateIndexes(Option_t * option = "");
190
191
192
193 void printLog(Option_t *option = "");
194
202 void printSummary(Option_t * option = "");
204
205
206private:
207 // methods
208 void transfertDataTDS(TDataServer *tds);
209 void splitMatrixVarCoVar(TMatrixD matVarCovar, TVectorD vecOfUnit,
210 TMatrixD &matVarCovar0, TMatrixD &matVarCovar1, TMatrixD &matVarCovar01,
211 TMatrixD matCorr, TMatrixD &matCorrtmp);
222 void computeNormalCorrelationMatrix(TMatrixD matVarCovariance);
223
234 TDataServer *generateConditionnalSampleByNortaOriginal(TDataServer *tds0, TDataServer *tds1, TMatrixD matVarCovar0, TMatrixD matVarCovar1, TMatrixD matVarCovar01);
235 void generateConditionnalSampleByNorta(TGaussianSampling *tsanormal, TDataServer *tdsres, TList *listOfLeaves, TMatrixD matVarCovar, TVectorD &vecOf01);
236
237
238 // Attributes
241 Int_t _nV;
242 Int_t _nO;
243 Int_t _nI;
244 Int_t _nM;
247protected:
248 void init(Option_t* option);
249public:
250 ClassDef(TShapley, ID_SENSITIVITY)
251};
252} // End Of namespace Sensitivity
253} // End Of namespace URANIE
254
255#endif
256// End Of File
Interface of class URANIE::Sensitivity::TSensitivity.
Description of the class TSensitivity.
Definition TSensitivity.h:112
Description of the class TShapley.
Definition TShapley.h:61
void printLog(Option_t *option="")
void setSamplerMethod(EConditionalSampling nMethod)
EConditionalSampling getSamplerMethod()
Definition TShapley.h:160
TShapley(TDataServer *tds, const char *fcn, Int_t ns, const char *varexpinput, const char *varexpoutput, Option_t *option="")
Constructor with the TDataServer and function name.
Int_t getNo()
Definition TShapley.h:151
Int_t getNm()
Definition TShapley.h:148
virtual void generateSample(Option_t *option="")
void printSummary(Option_t *option="")
Print the summary of the TShapley method.
Int_t _nM
The size of the loop of permutations.
Definition TShapley.h:244
const char * getIteratorNameNi()
Definition TShapley.h:141
TShapley()
Default constructor.
Int_t getNi()
Definition TShapley.h:154
void transfertDataTDS(TDataServer *tds)
virtual ~TShapley()
Default destructor.
TShapley(TDataServer *tds, URANIE::Launcher::TCode *fcode, Int_t ns, Option_t *option="")
Constructor with the TDataServer and a TCode.
EConditionalSampling
Definition TShapley.h:64
@ kVines
Definition TShapley.h:67
@ kCopulas
Definition TShapley.h:66
@ kUnknown
Definition TShapley.h:68
@ kNorta
Definition TShapley.h:65
TDataServer * generateConditionnalSampleByNortaOriginal(TDataServer *tds0, TDataServer *tds1, TMatrixD matVarCovar0, TMatrixD matVarCovar1, TMatrixD matVarCovar01)
generateConditionnalSample
TShapley(TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="")
const char * getIteratorNameNo()
Definition TShapley.h:137
TMatrixD _matNormalCovariance
Normal(Gaussian) Input Covariance matrix.
Definition TShapley.h:245
Int_t getNv()
Definition TShapley.h:145
void splitMatrixVarCoVar(TMatrixD matVarCovar, TVectorD vecOfUnit, TMatrixD &matVarCovar0, TMatrixD &matVarCovar1, TMatrixD &matVarCovar01, TMatrixD matCorr, TMatrixD &matCorrtmp)
void evaluateIndexes(Option_t *option="")
Compute the sensitivity matrix.
Int_t _nI
The size of the nI sample.
Definition TShapley.h:243
Int_t _nV
The size of the nV sample.
Definition TShapley.h:241
EConditionalSampling _nCondSampler
The method of sampler.
Definition TShapley.h:246
Int_t _nO
The size of the nO sample.
Definition TShapley.h:242
TString _sIteratorNameNi
The specific iterator attribute for NI integer.
Definition TShapley.h:240
TString _sIteratorNameNo
The specific iterator attribute for NO integer.
Definition TShapley.h:239
void computeNormalCorrelationMatrix(TMatrixD matVarCovariance)
computeNormalCorrelationMatrix
TShapley(TDataServer *tds, URANIE::Relauncher::TRun *run, Int_t ns, Option_t *option="")
Constructor with the TDataServer and a TRun.
TMatrixD getMatrixNormalVariance()
Definition TShapley.h:164
void init(Option_t *option)
void generateConditionnalSampleByNorta(TGaussianSampling *tsanormal, TDataServer *tdsres, TList *listOfLeaves, TMatrixD matVarCovar, TVectorD &vecOf01)
TShapley(TDataServer *tds, void(*fcn)(Double_t *, Double_t *), Int_t ns, const char *varexpinput, const char *varexpoutput, Option_t *option="")
Constructor with the TDataServer and function.
ROOT.
Definition TCMN.h:45