Salome HOME
Code and documentation update for ControledFunctionTest
[modules/adao.git] / doc / fr / ref_algorithm_UnscentedKalmanFilter.rst
index de39ae913a35f83eb85db61a2e089074e8f7207e..2689ddbd1f6e5906e978466943dfabad01c095e3 100644 (file)
@@ -1,5 +1,5 @@
 ..
-   Copyright (C) 2008-2019 EDF R&D
+   Copyright (C) 2008-2023 EDF R&D
 
    This file is part of SALOME ADAO module.
 
@@ -37,16 +37,31 @@ comme dans les filtres de Kalman simple ou étendu.
 
 Il s'applique aux cas d'opérateurs d'observation et d'évolution incrémentale
 (processus) non-linéaires et présente d'excellentes qualités de robustesse et
-de performances. Il peut être comparé à
+de performances. Il peut être rapproché de
 l':ref:`section_ref_algorithm_EnsembleKalmanFilter`, dont les qualités sont
 similaires pour les systèmes non-linéaires.
 
+On remarque qu'il n'y a pas d'analyse effectuée au pas de temps initial
+(numéroté 0 dans l'indexage temporel) car il n'y a pas de prévision à cet
+instant (l'ébauche est stockée comme pseudo-analyse au pas initial). Si les
+observations sont fournies en série par l'utilisateur, la première n'est donc
+pas utilisée.
+
 Dans le cas d'opérateurs linéaires ou "faiblement" non-linéaire, on peut
 aisément utiliser l':ref:`section_ref_algorithm_ExtendedKalmanFilter` ou même
 l':ref:`section_ref_algorithm_KalmanFilter`, qui sont souvent largement moins
 coûteux en évaluation sur de petits systèmes. On peut vérifier la linéarité des
 opérateurs à l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
 
+.. index::
+    pair: Variant ; UKF
+    pair: Variant ; 2UKF
+
+On fait une différence entre le filtre de Kalman "unscented" tenant compte de
+bornes sur les états (la variante nommée "2UKF", qui est recommandée et qui est
+utilisée par défaut), et le filtre de Kalman "unscented" canonique conduit sans
+aucune contrainte (la variante nommée "UKF", qui n'est pas recommandée).
+
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo02.rst
 
@@ -67,23 +82,27 @@ opérateurs à l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo03AdOp.rst
 
-.. include:: snippets/BoundsWithExtremes.rst
+.. include:: snippets/BoundsWithNone.rst
 
 .. include:: snippets/ConstrainedBy.rst
 
-.. include:: snippets/EstimationOf.rst
+.. include:: snippets/EstimationOf_State.rst
 
 .. include:: snippets/AlphaBeta.rst
 
 StoreSupplementaryCalculations
   .. index:: single: StoreSupplementaryCalculations
 
-  Cette liste indique les noms des variables supplémentaires qui peuvent être
-  disponibles à 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 : [
+  *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. Leur
+  disponibilité implique, potentiellement, des calculs ou du stockage coûteux.
+  La valeur par défaut est donc une liste vide, aucune de ces variables n'étant
+  calculée et stockée par défaut (sauf les variables inconditionnelles). Les
+  noms possibles pour les variables supplémentaires sont dans la liste suivante
+  (la description détaillée de chaque variable nommée est donnée dans la suite
+  de cette documentation par algorithme spécifique, dans la sous-partie
+  "*Informations et variables disponibles à la fin de l'algorithme*") : [
   "Analysis",
   "APosterioriCorrelations",
   "APosterioriCovariance",
@@ -91,14 +110,27 @@ StoreSupplementaryCalculations
   "APosterioriVariances",
   "BMA",
   "CostFunctionJ",
+  "CostFunctionJAtCurrentOptimum",
   "CostFunctionJb",
+  "CostFunctionJbAtCurrentOptimum",
   "CostFunctionJo",
+  "CostFunctionJoAtCurrentOptimum",
+  "CurrentOptimum",
   "CurrentState",
+  "ForecastCovariance",
+  "ForecastState",
+  "IndexOfOptimum",
+  "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
+  "SimulatedObservationAtCurrentAnalysis",
+  "SimulatedObservationAtCurrentOptimum",
+  "SimulatedObservationAtCurrentState",
   ].
 
   Exemple :
-  ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}``
+  ``{"StoreSupplementaryCalculations":["CurrentState", "Residu"]}``
+
+.. include:: snippets/Variant_UKF.rst
 
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo04.rst
@@ -122,15 +154,39 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CostFunctionJ.rst
 
+.. include:: snippets/CostFunctionJAtCurrentOptimum.rst
+
 .. include:: snippets/CostFunctionJb.rst
 
+.. include:: snippets/CostFunctionJbAtCurrentOptimum.rst
+
 .. include:: snippets/CostFunctionJo.rst
 
+.. include:: snippets/CostFunctionJoAtCurrentOptimum.rst
+
+.. include:: snippets/CurrentOptimum.rst
+
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastCovariance.rst
+
+.. include:: snippets/ForecastState.rst
+
+.. include:: snippets/IndexOfOptimum.rst
+
+.. include:: snippets/InnovationAtCurrentAnalysis.rst
+
 .. include:: snippets/InnovationAtCurrentState.rst
 
+.. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
+
+.. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
+
+.. include:: snippets/SimulatedObservationAtCurrentState.rst
+
 .. ------------------------------------ ..
+.. _section_ref_algorithm_UnscentedKalmanFilter_examples:
+
 .. include:: snippets/Header2Algo06.rst
 
 - :ref:`section_ref_algorithm_KalmanFilter`