2 Copyright (C) 2008-2014 EDF R&D
4 This file is part of SALOME ADAO module.
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
24 .. index:: single: SamplingTest
25 .. _section_ref_algorithm_SamplingTest:
27 Algorithme de vérification "*SamplingTest*"
28 -------------------------------------------
33 Cet algorithme permet d'établir les valeurs, liées à un état :math:`\mathbf{x}`,
34 de la fonctionnelle d'erreur d'assimilation de données :math:`J` et de
35 l'opérateur d'observation, pour un échantillon d'états donné a priori. C'est un
36 algorithme utile pour tester la sensibilité, de la fonctionnelle :math:`J` en
37 particulier, aux variations de l'état :math:`\mathbf{x}`. Lorsque un état n'est
38 pas observable, une value *"NaN"* est retournée.
40 L'échantillon des états :math:`\mathbf{x}` peut être fourni explicitement ou
41 sous la forme d'hypercubes.
43 Commandes requises et optionnelles
44 ++++++++++++++++++++++++++++++++++
46 .. index:: single: CheckingPoint
47 .. index:: single: BackgroundError
48 .. index:: single: Observation
49 .. index:: single: ObservationError
50 .. index:: single: ObservationOperator
51 .. index:: single: SampleAsnUplet
52 .. index:: single: SampleAsExplicitHyperCube
53 .. index:: single: SampleAsMinMaxStepHyperCube
54 .. index:: single: SetDebug
55 .. index:: single: StoreSupplementaryCalculations
57 Les commandes requises générales, disponibles dans l'interface en édition, sont
61 *Commande obligatoire*. Elle définit le vecteur utilisé comme l'état autour
62 duquel réaliser le test requis, noté :math:`\mathbf{x}` et similaire à
63 l'ébauche :math:`\mathbf{x}^b`. Sa valeur est définie comme un objet de type
67 *Commande obligatoire*. Elle définit la matrice de covariance des erreurs
68 d'ébauche, notée précédemment :math:`\mathbf{B}`. Sa valeur est définie
69 comme un objet de type "*Matrix*", de type "*ScalarSparseMatrix*", ou de
70 type "*DiagonalSparseMatrix*".
73 *Commande obligatoire*. Elle définit le vecteur d'observation utilisé en
74 assimilation de données ou en optimisation, et noté précédemment
75 :math:`\mathbf{y}^o`. Sa valeur est définie comme un objet de type "*Vector*"
76 ou de type "*VectorSerie*".
79 *Commande obligatoire*. Elle définit la matrice de covariance des erreurs
80 d'ébauche, notée précédemment :math:`\mathbf{R}`. Sa valeur est définie
81 comme un objet de type "*Matrix*", de type "*ScalarSparseMatrix*", ou de
82 type "*DiagonalSparseMatrix*".
85 *Commande obligatoire*. Elle indique l'opérateur d'observation, notée
86 précédemment :math:`H`, qui transforme les paramètres d'entrée
87 :math:`\mathbf{x}` en résultats :math:`\mathbf{y}` qui sont à comparer aux
88 observations :math:`\mathbf{y}^o`. Sa valeur est définie comme un objet de
89 type "*Function*". Différentes formes fonctionnelles peuvent être
90 utilisées, comme décrit dans la section
91 :ref:`section_ref_operator_requirements`. Si un contrôle :math:`U` est
92 inclus dans le modèle d'observation, l'opérateur doit être appliqué à une
95 Les commandes optionnelles générales, disponibles dans l'interface en édition,
96 sont indiquées dans la :ref:`section_ref_checking_keywords`. En particulier, la
97 commande optionnelle "*AlgorithmParameters*" permet d'indiquer les options
98 particulières, décrites ci-après, de l'algorithme. On se reportera à la
99 :ref:`section_ref_options_AlgorithmParameters` pour le bon usage de cette
102 Les options de l'algorithme sont les suivantes:
105 Cette clé décrit les points de calcul sous la forme d'une liste de n-uplets,
106 chaque n-uplet étant un état.
108 SampleAsExplicitHyperCube
109 Cette clé décrit les points de calcul sous la forme d'un hyper-cube, dont on
110 donne la liste des échantillonages de chaque variable comme une liste. C'est
111 donc une liste de listes, chacune étant de taille potentiellement
114 SampleAsMinMaxStepHyperCube
115 Cette clé décrit les points de calcul sous la forme d'un hyper-cube dont on
116 donne la liste des échantillonages de chaque variable par un triplet
117 *[min,max,step]*. C'est donc une liste de la même taille que celle de
121 Cette clé requiert l'activation, ou pas, du mode de débogage durant
122 l'évaluation de la fonction. La valeur par défaut est "True", les choix sont
125 StoreSupplementaryCalculations
126 Cette liste indique les noms des variables supplémentaires qui peuvent être
127 disponibles à la fin de l'algorithme. Cela implique potentiellement des
128 calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
129 aucune de ces variables n'étant calculée et stockée par défaut. Les noms
130 possibles sont dans la liste suivante : ["CostFunctionJ", "CurrentState",
131 "Innovation", "ObservedState"].
136 Références vers d'autres sections :
137 - :ref:`section_ref_algorithm_FunctionTest`