..
- Copyright (C) 2008-2015 EDF R&D
+ Copyright (C) 2008-2016 EDF R&D
This file is part of SALOME ADAO module.
***************
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
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"
*************
.. 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:
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.
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).
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`