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: TangentTest
25 .. _section_ref_algorithm_TangentTest:
27 Algorithme de vérification "*TangentTest*"
28 ------------------------------------------
33 Cet algorithme permet de vérifier la qualité de l'opérateur tangent, en
34 calculant un résidu dont les propriétés théoriques sont connues.
36 On observe le résidu suivant, provenant du rapport d'incréments utilisant
37 l'opérateur linéaire tangent :
39 .. math:: R(\alpha) = \frac{|| F(\mathbf{x}+\alpha*\mathbf{dx}) - F(\mathbf{x}) ||}{|| \alpha * TangentF_x * \mathbf{dx} ||}
41 qui doit rester stable en :math:`1+O(\alpha)` jusqu'à ce que l'on atteigne la
44 Lorsque :math:`|R-1|/\alpha` est inférieur ou égal à une valeur stable lorsque
45 :math:`\alpha` varie, le tangent est valide, jusqu'à ce que l'on atteigne la
48 Si :math:`|R-1|/\alpha` est très faible, le code de calcul :math:`F` est
49 vraisemblablement linéaire ou quasi-linéaire (ce que l'on peut vérifier par
50 l':ref:`section_ref_algorithm_LinearityTest`), et le tangent est valide jusqu'à
51 ce que l'on atteigne la précision du calcul.
53 On prend :math:`\mathbf{dx}_0=Normal(0,\mathbf{x})` et
54 :math:`\mathbf{dx}=\alpha*\mathbf{dx}_0`. :math:`F` est le code de calcul.
56 Commandes requises et optionnelles
57 ++++++++++++++++++++++++++++++++++
59 Les commandes requises générales, disponibles dans l'interface en édition, sont
62 .. include:: snippets/CheckingPoint.rst
64 .. include:: snippets/ObservationOperator.rst
66 Les commandes optionnelles générales, disponibles dans l'interface en édition,
67 sont indiquées dans la :ref:`section_ref_checking_keywords`. De plus, les
68 paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les
69 options particulières, décrites ci-après, de l'algorithme. On se reportera à la
70 :ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
73 Les options de l'algorithme sont les suivantes:
75 .. include:: snippets/AmplitudeOfInitialDirection.rst
77 .. include:: snippets/EpsilonMinimumExponent.rst
79 .. include:: snippets/InitialDirection.rst
81 .. include:: snippets/SetSeed.rst
83 StoreSupplementaryCalculations
84 .. index:: single: StoreSupplementaryCalculations
86 Cette liste indique les noms des variables supplémentaires qui peuvent être
87 disponibles à la fin de l'algorithme. Cela implique potentiellement des
88 calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
89 aucune de ces variables n'étant calculée et stockée par défaut. Les noms
90 possibles sont dans la liste suivante : ["CurrentState", "Residu",
91 "SimulatedObservationAtCurrentState"].
94 ``{"StoreSupplementaryCalculations":["CurrentState"]}``
96 Informations et variables disponibles à la fin de l'algorithme
97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
99 En sortie, après exécution de l'algorithme, on dispose d'informations et de
100 variables issues du calcul. La description des
101 :ref:`section_ref_output_variables` indique la manière de les obtenir par la
102 méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
103 d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
104 l'écriture des procédures de post-processing, sont décrites dans
105 l':ref:`subsection_r_o_v_Inventaire`.
107 Les sorties non conditionnelles de l'algorithme sont les suivantes:
109 .. include:: snippets/Residu.rst
111 Les sorties conditionnelles de l'algorithme sont les suivantes:
113 .. include:: snippets/CurrentState.rst
115 .. include:: snippets/SimulatedObservationAtCurrentState.rst
120 Références vers d'autres sections :
121 - :ref:`section_ref_algorithm_FunctionTest`
122 - :ref:`section_ref_algorithm_LinearityTest`
123 - :ref:`section_ref_algorithm_AdjointTest`
124 - :ref:`section_ref_algorithm_GradientTest`