Salome HOME
Updating copyright date information
[modules/adao.git] / doc / fr / ref_algorithm_FunctionTest.rst
1 ..
2    Copyright (C) 2008-2016 EDF R&D
3
4    This file is part of SALOME ADAO module.
5
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.
10
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.
15
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
19
20    See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
22    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
23
24 .. index:: single: FunctionTest
25 .. _section_ref_algorithm_FunctionTest:
26
27 Algorithme de vérification "*FunctionTest*"
28 -------------------------------------------
29
30 Description
31 +++++++++++
32
33 Cet algorithme permet de vérifier que l'opérateur d'observation fonctionne
34 correctement et que son appel se déroule de manière compatible avec son usage
35 dans les algorithmes d'ADAO. De manière pratique, il permet d'appeler une ou
36 plusieurs fois l'opérateur, en activant ou non le mode "debug" lors de
37 l'exécution.
38
39 Une statistique sur les vecteurs en entrée et en sortie de chaque exécution de
40 l'opérateur est indiquée, et une autre globale est fournie de manière
41 récapitulative à la fin de l'algorithme de vérification. La précision
42 d'affichage est contrôlable pour permettre l'automatisation des tests
43 d'opérateur.
44
45 Commandes requises et optionnelles
46 ++++++++++++++++++++++++++++++++++
47
48 .. index:: single: AlgorithmParameters
49 .. index:: single: CheckingPoint
50 .. index:: single: ObservationOperator
51 .. index:: single: NumberOfPrintedDigits
52 .. index:: single: NumberOfRepetition
53 .. index:: single: SetDebug
54 .. index:: single: StoreSupplementaryCalculations
55
56 Les commandes requises générales, disponibles dans l'interface en édition, sont
57 les suivantes:
58
59   CheckingPoint
60     *Commande obligatoire*. Elle définit le vecteur utilisé comme l'état autour
61     duquel réaliser le test requis, noté :math:`\mathbf{x}` et similaire à
62     l'ébauche :math:`\mathbf{x}^b`. Sa valeur est définie comme un objet de type
63     "*Vector*".
64
65   ObservationOperator
66     *Commande obligatoire*. Elle indique l'opérateur d'observation, notée
67     précédemment :math:`H`, qui transforme les paramètres d'entrée
68     :math:`\mathbf{x}` en résultats :math:`\mathbf{y}` qui sont à comparer aux
69     observations :math:`\mathbf{y}^o`.  Sa valeur est définie comme un objet de
70     type "*Function*". Différentes formes fonctionnelles peuvent être
71     utilisées, comme décrit dans la section
72     :ref:`section_ref_operator_requirements`. Si un contrôle :math:`U` est
73     inclus dans le modèle d'observation, l'opérateur doit être appliqué à une
74     paire :math:`(X,U)`.
75
76 Les commandes optionnelles générales, disponibles dans l'interface en édition,
77 sont indiquées dans la :ref:`section_ref_checking_keywords`. De plus, les
78 paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les
79 options particulières, décrites ci-après, de l'algorithme. On se reportera à la
80 :ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
81 commande.
82
83 Les options de l'algorithme sont les suivantes:
84
85   NumberOfPrintedDigits
86     Cette clé indique le nombre de décimales de précision pour les affichages de
87     valeurs réelles. La valeur par défaut est 5, avec un minimum de 0.
88
89     Exemple : ``{"NumberOfPrintedDigits":5}``
90
91   NumberOfRepetition
92     Cette clé indique le nombre de fois où répéter l'évaluation de la fonction.
93     La valeur par défaut est 1.
94
95     Exemple : ``{"NumberOfRepetition":3}``
96
97   SetDebug
98     Cette clé requiert l'activation, ou pas, du mode de débogage durant
99     l'évaluation de la fonction. La valeur par défaut est "False", les choix
100     sont "True" ou "False".
101
102     Exemple : ``{"SetDebug":False}``
103
104   StoreSupplementaryCalculations
105     Cette liste indique les noms des variables supplémentaires qui peuvent être
106     disponibles à la fin de l'algorithme. Cela implique potentiellement des
107     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
108     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
109     possibles sont dans la liste suivante : ["CurrentState",
110     "SimulatedObservationAtCurrentState"].
111
112     Exemple : ``{"StoreSupplementaryCalculations":["CurrentState"]}``
113
114 Informations et variables disponibles à la fin de l'algorithme
115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
116
117 En sortie, après exécution de l'algorithme, on dispose d'informations et de
118 variables issues du calcul. La description des
119 :ref:`section_ref_output_variables` indique la manière de les obtenir par la
120 méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
121 d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
122 l'écriture des procédures de post-processing, sont décrites dans
123 l':ref:`subsection_r_o_v_Inventaire`.
124
125 Les sorties conditionnelles de l'algorithme sont les suivantes:
126
127   CurrentState
128     *Liste de vecteurs*. Chaque élément est un vecteur d'état courant utilisé
129     au cours du déroulement de l'algorithme d'optimisation.
130
131     Exemple : ``Xs = ADD.get("CurrentState")[:]``
132
133   SimulatedObservationAtCurrentState
134     *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
135     partir de l'état courant, c'est-à-dire dans l'espace des observations.
136
137     Exemple : ``hxs = ADD.get("SimulatedObservationAtCurrentState")[-1]``
138
139 Voir aussi
140 ++++++++++
141
142 Références vers d'autres sections :
143   - :ref:`section_ref_algorithm_LinearityTest`