Salome HOME
Updating copyright date information
[modules/adao.git] / doc / fr / ref_algorithm_GradientTest.rst
index 61bd4fe562345c832766ebe50bd2436f26f6dbf8..ebe72eedefa8ee10345054b0aac6406fde3286c8 100644 (file)
@@ -1,5 +1,5 @@
 ..
-   Copyright (C) 2008-2015 EDF R&D
+   Copyright (C) 2008-2016 EDF R&D
 
    This file is part of SALOME ADAO module.
 
@@ -41,13 +41,13 @@ R
 ***************
 
 On observe le résidu issu du développement de Taylor de la fonction :math:`F`,
-normalisée par la valeur au point nominal :
+normalisé par la valeur au point nominal :
 
 .. math:: R(\alpha) = \frac{|| F(\mathbf{x}+\alpha*\mathbf{dx}) - F(\mathbf{x}) - \alpha * \nabla_xF(\mathbf{dx}) ||}{|| F(\mathbf{x}) ||}
 
 Si le résidu décroit et que la décroissance se fait en :math:`\alpha^2` selon
 :math:`\alpha`, cela signifie que le gradient est bien calculé jusqu'à la
-précision d'arrêt de la décroissance quadratique et que :math:`F` n'est pas
+précision d'arrêt de la décroissance quadratique, et que :math:`F` n'est pas
 linéaire.
 
 Si le résidu décroit et que la décroissance se fait en :math:`\alpha` selon
@@ -55,6 +55,27 @@ Si le r
 constant, cela signifie que :math:`F` est linéaire et que le résidu décroit à
 partir de l'erreur faite dans le calcul du terme :math:`\nabla_xF`.
 
+Résidu "TaylorOnNorm"
+*********************
+
+On observe le résidu issu du développement de Taylor de la fonction :math:`F`,
+rapporté au paramètre :math:`\alpha` au carré :
+
+.. math:: R(\alpha) = \frac{|| F(\mathbf{x}+\alpha*\mathbf{dx}) - F(\mathbf{x}) - \alpha * \nabla_xF(\mathbf{dx}) ||}{\alpha^2}
+
+C'est un résidu essentiellement similaire au critère classique de Taylor décrit
+précédemment, mais son comportement peut différer selon les propriétés
+numériques des calculs de ses différents termes.
+
+Si le résidu est constant jusqu'à un certain seuil et croissant ensuite, cela
+signifie que le gradient est bien calculé jusqu'à cette précision d'arrêt, et
+que :math:`F` n'est pas linéaire.
+
+Si le résidu est systématiquement croissant en partant d'une valeur faible par
+rapport à :math:`||F(\mathbf{x})||`, cela signifie que :math:`F` est
+(quasi-)linéaire et que le calcul du gradient est correct jusqu'au moment où le
+résidu est de l'ordre de grandeur de :math:`||F(\mathbf{x})||`.
+
 Résidu "Norm"
 *************
 
@@ -75,6 +96,7 @@ Commandes requises et optionnelles
 .. index:: single: InitialDirection
 .. index:: single: ResiduFormula
 .. index:: single: SetSeed
+.. index:: single: StoreSupplementaryCalculations
 
 Les commandes requises générales, disponibles dans l'interface en édition, sont
 les suivantes:
@@ -98,8 +120,8 @@ les suivantes:
 
 Les commandes optionnelles générales, disponibles dans l'interface en édition,
 sont indiquées dans la :ref:`section_ref_checking_keywords`. De plus, les
-paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les options
-particulières, décrites ci-après, de l'algorithme. On se reportera à la
+paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les
+options particulières, décrites ci-après, de l'algorithme. On se reportera à la
 :ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
 commande.
 
@@ -134,8 +156,10 @@ Les options de l'algorithme sont les suivantes:
   ResiduFormula
     Cette clé indique la formule de résidu qui doit être utilisée pour le test.
     Le choix par défaut est "Taylor", et les choix possibles sont "Taylor"
-    (résidu du développement de Taylor de l'opérateur, qui doit décroître comme
-    le carré de la perturbation) et "Norm" (résidu obtenu en prenant la norme du
+    (résidu du développement de Taylor normalisé de l'opérateur, qui doit
+    décroître comme le carré de la perturbation), "TaylorOnNorm" (résidu du
+    développement de Taylor rapporté à la perturbation de l'opérateur, qui doit
+    rester constant) et "Norm" (résidu obtenu en prenant la norme du
     développement de Taylor à l'ordre 0, qui approxime le gradient, et qui doit
     rester constant).
 
@@ -149,10 +173,55 @@ Les options de l'algorithme sont les suivantes:
 
     Exemple : ``{"SetSeed":1000}``
 
+  StoreSupplementaryCalculations
+    Cette liste indique les noms des variables supplémentaires qui peuvent être
+    disponibles à la fin de l'algorithme. Cela implique potentiellement des
+    calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
+    aucune de ces variables n'étant calculée et stockée par défaut. Les noms
+    possibles sont dans la liste suivante : ["CurrentState", "Residu",
+    "SimulatedObservationAtCurrentState"].
+
+    Exemple : ``{"StoreSupplementaryCalculations":["CurrentState"]}``
+
+Informations et variables disponibles à la fin de l'algorithme
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+En sortie, après exécution de l'algorithme, on dispose d'informations et de
+variables issues du calcul. La description des
+:ref:`section_ref_output_variables` indique la manière de les obtenir par la
+méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
+d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
+l'écriture des procédures de post-processing, sont décrites dans
+l':ref:`subsection_r_o_v_Inventaire`.
+
+Les sorties non conditionnelles de l'algorithme sont les suivantes:
+
+  Residu
+    *Liste de valeurs*. Chaque élément est la valeur du résidu particulier
+    vérifié lors d'un algorithme de vérification, selon l'ordre des tests
+    effectués.
+
+    Exemple : ``r = ADD.get("Residu")[:]``
+
+Les sorties conditionnelles de l'algorithme sont les suivantes:
+
+  CurrentState
+    *Liste de vecteurs*. Chaque élément est un vecteur d'état courant utilisé
+    au cours du déroulement de l'algorithme d'optimisation.
+
+    Exemple : ``Xs = ADD.get("CurrentState")[:]``
+
+  SimulatedObservationAtCurrentState
+    *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
+    partir de l'état courant, c'est-à-dire dans l'espace des observations.
+
+    Exemple : ``hxs = ADD.get("SimulatedObservationAtCurrentState")[-1]``
+
 Voir aussi
 ++++++++++
 
 Références vers d'autres sections :
   - :ref:`section_ref_algorithm_FunctionTest`
+  - :ref:`section_ref_algorithm_LinearityTest`
   - :ref:`section_ref_algorithm_TangentTest`
   - :ref:`section_ref_algorithm_AdjointTest`