Salome HOME
Documentation corrections and modular evolution (2 FR)
[modules/adao.git] / doc / fr / ref_algorithm_AdjointTest.rst
1 ..
2    Copyright (C) 2008-2018 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: AdjointTest
25 .. _section_ref_algorithm_AdjointTest:
26
27 Algorithme de vérification "*AdjointTest*"
28 ------------------------------------------
29
30 Description
31 +++++++++++
32
33 Cet algorithme permet de vérifier la qualité de l'opérateur adjoint, en
34 calculant un résidu dont les propriétés théoriques sont connues.
35
36 On observe le résidu suivant, qui est la différence de deux produits scalaires :
37
38 .. math:: R(\alpha) = | < TangentF_x(\mathbf{dx}) , \mathbf{y} > - < \mathbf{dx} , AdjointF_x(\mathbf{y}) > |
39
40 qui doit rester constamment égal à zéro à la précision du calcul. On prend
41 :math:`\mathbf{dx}_0=Normal(0,\mathbf{x})` et
42 :math:`\mathbf{dx}=\alpha*\mathbf{dx}_0`. :math:`F` est le code de calcul.
43 :math:`\mathbf{y}` doit être dans l'image de :math:`F`. S'il n'est pas donné, on
44 prend :math:`\mathbf{y} = F(\mathbf{x})`.
45
46 Commandes requises et optionnelles
47 ++++++++++++++++++++++++++++++++++
48
49 Les commandes requises générales, disponibles dans l'interface en édition, sont
50 les suivantes:
51
52   .. include:: snippets/CheckingPoint.rst
53
54   .. include:: snippets/ObservationOperator.rst
55
56 Les commandes optionnelles générales, disponibles dans l'interface en édition,
57 sont indiquées dans la :ref:`section_ref_checking_keywords`. De plus, les
58 paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les
59 options particulières, décrites ci-après, de l'algorithme. On se reportera à la
60 :ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
61 commande.
62
63 Les options de l'algorithme sont les suivantes:
64
65   .. include:: snippets/AmplitudeOfInitialDirection.rst
66
67   .. include:: snippets/EpsilonMinimumExponent.rst
68
69   .. include:: snippets/InitialDirection.rst
70
71   .. include:: snippets/SetSeed.rst
72
73   StoreSupplementaryCalculations
74     .. index:: single: StoreSupplementaryCalculations
75
76     Cette liste indique les noms des variables supplémentaires qui peuvent être
77     disponibles à la fin de l'algorithme. Cela implique potentiellement des
78     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
79     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
80     possibles sont dans la liste suivante : ["CurrentState", "Residu",
81     "SimulatedObservationAtCurrentState"].
82
83     Exemple :
84     ``{"StoreSupplementaryCalculations":["CurrentState"]}``
85
86 Informations et variables disponibles à la fin de l'algorithme
87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
88
89 En sortie, après exécution de l'algorithme, on dispose d'informations et de
90 variables issues du calcul. La description des
91 :ref:`section_ref_output_variables` indique la manière de les obtenir par la
92 méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
93 d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
94 l'écriture des procédures de post-processing, sont décrites dans
95 l':ref:`subsection_r_o_v_Inventaire`.
96
97 Les sorties non conditionnelles de l'algorithme sont les suivantes:
98
99   .. include:: snippets/Residu.rst
100
101 Les sorties conditionnelles de l'algorithme sont les suivantes:
102
103   .. include:: snippets/CurrentState.rst
104
105   .. include:: snippets/SimulatedObservationAtCurrentState.rst
106
107 Voir aussi
108 ++++++++++
109
110 Références vers d'autres sections :
111   - :ref:`section_ref_algorithm_FunctionTest`
112   - :ref:`section_ref_algorithm_LinearityTest`
113   - :ref:`section_ref_algorithm_TangentTest`
114   - :ref:`section_ref_algorithm_GradientTest`