2 Copyright (C) 2008-2018 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: AdjointTest
25 .. _section_ref_algorithm_AdjointTest:
27 Algorithme de vérification "*AdjointTest*"
28 ------------------------------------------
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.
36 On observe le résidu suivant, qui est la différence de deux produits scalaires :
38 .. math:: R(\alpha) = | < TangentF_x(\mathbf{dx}) , \mathbf{y} > - < \mathbf{dx} , AdjointF_x(\mathbf{y}) > |
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})`.
46 Commandes requises et optionnelles
47 ++++++++++++++++++++++++++++++++++
49 Les commandes requises générales, disponibles dans l'interface en édition, sont
52 .. include:: snippets/CheckingPoint.rst
54 .. include:: snippets/ObservationOperator.rst
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
63 Les options de l'algorithme sont les suivantes:
65 .. include:: snippets/AmplitudeOfInitialDirection.rst
67 .. include:: snippets/EpsilonMinimumExponent.rst
69 .. include:: snippets/InitialDirection.rst
71 .. include:: snippets/SetSeed.rst
73 StoreSupplementaryCalculations
74 .. index:: single: StoreSupplementaryCalculations
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"].
84 ``{"StoreSupplementaryCalculations":["CurrentState"]}``
86 Informations et variables disponibles à la fin de l'algorithme
87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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`.
97 Les sorties non conditionnelles de l'algorithme sont les suivantes:
99 .. include:: snippets/Residu.rst
101 Les sorties conditionnelles de l'algorithme sont les suivantes:
103 .. include:: snippets/CurrentState.rst
105 .. include:: snippets/SimulatedObservationAtCurrentState.rst
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`