Salome HOME
Documentation improvements and post analysis
[modules/adao.git] / doc / fr / ref_algorithm_LinearLeastSquares.rst
index 10bc9ce02ef24882a92de74c5c8f5566aeac2493..3261c47f6393c4f7be3afdfc02b91869b33ad815 100644 (file)
@@ -1,5 +1,5 @@
 ..
-   Copyright (C) 2008-2015 EDF R&D
+   Copyright (C) 2008-2021 EDF R&D
 
    This file is part of SALOME ADAO module.
 
 Algorithme de calcul "*LinearLeastSquares*"
 -------------------------------------------
 
-Description
-+++++++++++
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo01.rst
 
-Cet algorithme réalise une estimation linéaire de type "Moindres Carrés"
-pondérés. Il est similaire à l':ref:`section_ref_algorithm_Blue`
-amputé de sa partie ébauche.
+Cet algorithme réalise une estimation linéaire de type "Moindres Carrés"
+pondérés. Il est similaire à l':ref:`section_ref_algorithm_Blue`
+amputé de sa partie ébauche.
 
 Cet algorithme est toujours le plus rapide de l'ensemble des algorithmes
-d'optimisation d'ADAO. Il est théoriquement réservé aux cas d'opérateurs
-d'observation linéaires, même s'il fonctionne parfois dans les cas "faiblement"
-non-linéaire. On peut vérifier la linéarité de l'opérateur d'observation à
-l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
+d'optimisation d'ADAO. Il est théoriquement réservé aux cas d'opérateurs
+d'observation explicitement linéaires, même s'il fonctionne parfois dans les
+cas "faiblement" non-linéaire. On peut vérifier la linéarité de l'opérateur
+d'observation à l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
 
-Dans tous les cas, il est recommandé de lui préférer au minimum
+Dans tous les cas, il est recommandé de lui préférer au minimum
 l':ref:`section_ref_algorithm_Blue`, voire
 l':ref:`section_ref_algorithm_ExtendedBlue` ou
 l':ref:`section_ref_algorithm_3DVAR`.
 
-Commandes requises et optionnelles
-++++++++++++++++++++++++++++++++++
-
-.. index:: single: Observation
-.. index:: single: ObservationError
-.. index:: single: ObservationOperator
-.. index:: single: StoreSupplementaryCalculations
-
-Les commandes requises générales, disponibles dans l'interface en édition, sont
-les suivantes:
-
-  Observation
-    *Commande obligatoire*. Elle définit le vecteur d'observation utilisé en
-    assimilation de données ou en optimisation, et noté précédemment
-    :math:`\mathbf{y}^o`. Sa valeur est définie comme un objet de type "*Vector*"
-    ou de type "*VectorSerie*".
-
-  ObservationError
-    *Commande obligatoire*. Elle définit la matrice de covariance des erreurs
-    d'ébauche, notée précédemment :math:`\mathbf{R}`. Sa valeur est définie
-    comme un objet de type "*Matrix*", de type "*ScalarSparseMatrix*", ou de
-    type "*DiagonalSparseMatrix*".
-
-  ObservationOperator
-    *Commande obligatoire*. Elle indique l'opérateur d'observation, noté
-    précédemment :math:`H`, qui transforme les paramètres d'entrée
-    :math:`\mathbf{x}` en résultats :math:`\mathbf{y}` qui sont à comparer aux
-    observations :math:`\mathbf{y}^o`. Sa valeur est définie comme un objet de
-    type "*Function*" ou de type "*Matrix*". Dans le cas du type "*Function*",
-    différentes formes fonctionnelles peuvent être utilisées, comme décrit dans
-    la section :ref:`section_ref_operator_requirements`. Si un contrôle
-    :math:`U` est inclus dans le modèle d'observation, l'opérateur doit être
-    appliqué à une paire :math:`(X,U)`.
-
-Les commandes optionnelles générales, disponibles dans l'interface en édition,
-sont indiquées dans la :ref:`section_ref_assimilation_keywords`. En particulier,
-la commande optionnelle "*AlgorithmParameters*" permet d'indiquer les options
-particulières, décrites ci-après, de l'algorithme. On se reportera à la
-:ref:`section_ref_options_AlgorithmParameters` pour le bon usage de cette
-commande.
-
-Les options de l'algorithme sont les suivantes:
-
-  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 : ["OMA", "CostFunctionJ",
-    "SimulatedObservationAtOptimum"].
-
-    Exemple : ``{"StoreSupplementaryCalculations":["OMA"]}``
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo02.rst
+
+.. include:: snippets/Observation.rst
+
+.. include:: snippets/ObservationError.rst
+
+.. include:: snippets/ObservationOperator.rst
+
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo03AdOp.rst
+
+StoreSupplementaryCalculations
+  .. index:: single: StoreSupplementaryCalculations
+
+  *Liste de noms*. Cette liste indique les noms des variables supplémentaires
+  qui peuvent être disponibles au cours du déroulement ou à la fin de
+  l'algorithme, si elles sont initialement demandées par l'utilisateur. 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 sauf les variables inconditionnelles. Les noms possibles
+  sont dans la liste suivante : [
+  "Analysis",
+  "CostFunctionJ",
+  "CostFunctionJAtCurrentOptimum",
+  "CostFunctionJb",
+  "CostFunctionJbAtCurrentOptimum",
+  "CostFunctionJo",
+  "CostFunctionJoAtCurrentOptimum",
+  "CurrentOptimum",
+  "CurrentState",
+  "OMA",
+  "SimulatedObservationAtCurrentOptimum",
+  "SimulatedObservationAtCurrentState",
+  "SimulatedObservationAtOptimum",
+  ].
+
+  Exemple :
+  ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}``
 
 *Astuce pour cet algorithme :*
 
-    Comme les commandes *"Background"* et *"BackgroundError"* sont requises pour
-    TOUS les algorithmes de calcul dans l'interface, vous devez fournir une
-    valeur, malgré le fait que ces commandes ne sont pas requises pour
-    cet algorithme, et ne seront pas utilisées. La manière la plus simple est
-    de donner "1" comme un STRING pour les deux.
+    Comme les commandes *"Background"* et *"BackgroundError"* sont requises
+    pour TOUS les algorithmes de calcul dans l'interface graphique, vous devez
+    fournir une valeur, malgré le fait que ces commandes ne soient pas
+    nécessaires pour cet algorithme, et ne sont donc pas utilisées. La manière
+    la plus simple est de donner "1" comme un STRING pour les deux.
 
-Informations et variables disponibles à la fin de l'algorithme
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo04.rst
 
-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`.
+.. include:: snippets/Analysis.rst
 
-Les sorties non conditionnelles de l'algorithme sont les suivantes:
+.. include:: snippets/CostFunctionJ.rst
 
-  Analysis
-    *Liste de vecteurs*. Chaque élément est un état optimal :math:`\mathbf{x}*`
-    en optimisation ou une analyse :math:`\mathbf{x}^a` en assimilation de
-    données.
+.. include:: snippets/CostFunctionJb.rst
 
-    Exemple : ``Xa = ADD.get("Analysis")[-1]``
+.. include:: snippets/CostFunctionJo.rst
 
-  CostFunctionJ
-    *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
-    :math:`J`.
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo05.rst
 
-    Exemple : ``J = ADD.get("CostFunctionJ")[:]``
+.. include:: snippets/Analysis.rst
 
-  CostFunctionJb
-    *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
-    :math:`J^b`, c'est-à-dire de la partie écart à l'ébauche.
+.. include:: snippets/CostFunctionJ.rst
 
-    Exemple : ``Jb = ADD.get("CostFunctionJb")[:]``
+.. include:: snippets/CostFunctionJAtCurrentOptimum.rst
 
-  CostFunctionJo
-    *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
-    :math:`J^o`, c'est-à-dire de la partie écart à l'observation.
+.. include:: snippets/CostFunctionJb.rst
 
-    Exemple : ``Jo = ADD.get("CostFunctionJo")[:]``
+.. include:: snippets/CostFunctionJbAtCurrentOptimum.rst
 
-Les sorties conditionnelles de l'algorithme sont les suivantes:
+.. include:: snippets/CostFunctionJo.rst
 
-  OMA
-    *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
-    l'observation et l'état optimal dans l'espace des observations.
+.. include:: snippets/CostFunctionJoAtCurrentOptimum.rst
 
-    Exemple : ``oma = ADD.get("OMA")[-1]``
+.. include:: snippets/CurrentOptimum.rst
 
-  SimulatedObservationAtOptimum
-    *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
-    partir de l'analyse ou de l'état optimal :math:`\mathbf{x}^a`.
+.. include:: snippets/CurrentState.rst
 
-    Exemple : ``hxa = ADD.get("SimulatedObservationAtOptimum")[-1]``
+.. include:: snippets/OMA.rst
 
-Voir aussi
-++++++++++
+.. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
 
-Références vers d'autres sections :
-  - :ref:`section_ref_algorithm_Blue`
-  - :ref:`section_ref_algorithm_ExtendedBlue`
-  - :ref:`section_ref_algorithm_3DVAR`
-  - :ref:`section_ref_algorithm_LinearityTest`
+.. include:: snippets/SimulatedObservationAtCurrentState.rst
+
+.. include:: snippets/SimulatedObservationAtOptimum.rst
+
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo06.rst
+
+- :ref:`section_ref_algorithm_Blue`
+- :ref:`section_ref_algorithm_ExtendedBlue`
+- :ref:`section_ref_algorithm_3DVAR`
+- :ref:`section_ref_algorithm_LinearityTest`