Salome HOME
Documentation improvements and post analysis
[modules/adao.git] / doc / fr / ref_algorithm_TangentTest.rst
1 ..
2    Copyright (C) 2008-2021 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: TangentTest
25 .. _section_ref_algorithm_TangentTest:
26
27 Algorithme de vérification "*TangentTest*"
28 ------------------------------------------
29
30 .. ------------------------------------ ..
31 .. include:: snippets/Header2Algo01.rst
32
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.
35
36 On observe le résidu suivant, provenant du rapport d'incréments utilisant
37 l'opérateur linéaire tangent :
38
39 .. math:: R(\alpha) = \frac{|| F(\mathbf{x}+\alpha*\mathbf{dx}) - F(\mathbf{x}) ||}{|| \alpha * TangentF_x * \mathbf{dx} ||}
40
41 qui doit rester stable en :math:`1+O(\alpha)` jusqu'à ce que l'on atteigne la
42 précision du calcul.
43
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
46 précision du calcul.
47
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.
52
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.
55
56 .. ------------------------------------ ..
57 .. include:: snippets/Header2Algo02.rst
58
59 .. include:: snippets/CheckingPoint.rst
60
61 .. include:: snippets/ObservationOperator.rst
62
63 .. ------------------------------------ ..
64 .. include:: snippets/Header2Algo03Chck.rst
65
66 .. include:: snippets/AmplitudeOfInitialDirection.rst
67
68 .. include:: snippets/EpsilonMinimumExponent.rst
69
70 .. include:: snippets/InitialDirection.rst
71
72 .. include:: snippets/SetSeed.rst
73
74 StoreSupplementaryCalculations
75   .. index:: single: StoreSupplementaryCalculations
76
77   *Liste de noms*. Cette liste indique les noms des variables supplémentaires
78   qui peuvent être disponibles au cours du déroulement ou à la fin de
79   l'algorithme, si elles sont initialement demandées par l'utilisateur. Cela
80   implique potentiellement des calculs ou du stockage coûteux. La valeur par
81   défaut est une liste vide, aucune de ces variables n'étant calculée et
82   stockée par défaut sauf les variables inconditionnelles. Les noms possibles
83   sont dans la liste suivante : [
84   "CurrentState",
85   "Residu",
86   "SimulatedObservationAtCurrentState",
87   ].
88
89   Exemple :
90   ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}``
91
92 .. ------------------------------------ ..
93 .. include:: snippets/Header2Algo04.rst
94
95 .. include:: snippets/Residu.rst
96
97 .. ------------------------------------ ..
98 .. include:: snippets/Header2Algo05.rst
99
100 .. include:: snippets/CurrentState.rst
101
102 .. include:: snippets/Residu.rst
103
104 .. include:: snippets/SimulatedObservationAtCurrentState.rst
105
106 .. ------------------------------------ ..
107 .. include:: snippets/Header2Algo06.rst
108
109 - :ref:`section_ref_algorithm_FunctionTest`
110 - :ref:`section_ref_algorithm_LinearityTest`
111 - :ref:`section_ref_algorithm_AdjointTest`
112 - :ref:`section_ref_algorithm_GradientTest`
113 - :ref:`section_ref_algorithm_LocalSensitivityTest`