]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Documentation correction and improvements
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Thu, 24 Sep 2015 13:21:48 +0000 (15:21 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Thu, 24 Sep 2015 13:21:48 +0000 (15:21 +0200)
doc/en/bibliography.rst
doc/en/ref_operator_requirements.rst
doc/fr/bibliography.rst
doc/fr/ref_operator_requirements.rst

index c1543130e054605eb9d3219e2fed3483009ff3d7..f3a9d0a992606ea96b5ba7da726b7aa27ba530c9 100644 (file)
@@ -63,6 +63,8 @@ Bibliography
 
 .. [WikipediaMO] Wikipedia, *Mathematical optimization*, https://en.wikipedia.org/wiki/Mathematical_optimization
 
+.. [WikipediaND] Wikipedia, *Nondimensionalization*, https://en.wikipedia.org/wiki/Nondimensionalization
+
 .. [WikipediaPSO] Wikipedia, *Particle swarm optimization*, https://en.wikipedia.org/wiki/Particle_swarm_optimization
 
 .. [WikipediaQR] Wikipedia, *Quantile regression*, https://en.wikipedia.org/wiki/Quantile_regression
index dc0c422060f3c9d1339c298d6d9530a600cb6cce..f0d946db2aa37856e0dc48a1299b47e4f9a3f0d6 100644 (file)
@@ -275,3 +275,34 @@ that the derivatives has to be done only partially against :math:`\mathbf{x}`.
 In such a case with explicit control, only the second functional form (using
 "*ScriptWithFunctions*") and third functional form (using "*ScriptWithSwitch*")
 can be used.
+
+Additional notes on nondimensionalization of operators
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. index:: single: Nondimensionalization
+.. index:: single: Dimensionless
+
+It is common that physical quantities, in input or output of the operators, have
+significant differences in magnitude or rate of change. One way to avoid
+numerical difficulties is to use, or to set, a nondimensionalization of the
+calculations carried out in operators [WikipediaND]_. In principle, since
+physical simulation should be as dimensionless as possible, it is firstly
+recommended to use the existing capacity of nondimensionalization of the
+calculation code.
+
+However, in the common case where we can not dispose of it, it is often useful
+to surround the calculation to remove dimension for input or output. A simple
+way to do this is to convert the input parameters :math:`\mathbf{x}` which are
+arguments of a function like "*DirectOperator*". One mostly use the default
+values :math:`\mathbf{x}^b` (background, or nominal value). Provided that each
+component of :math:`\mathbf{x}^b` is non zero, one can indeed put:
+
+.. math:: \mathbf{x} = \mathbf{\alpha}\mathbf{x}^b
+
+and then optimize the multiplicative parameter :math:`\mathbf{\alpha}`.  This
+parameter has as default value (or as background) a vector of 1. Be careful,
+applying a process of nondimensionalization also requires changing the error
+covariances associated in an ADAO formulation of the optimization problem.
+
+Such a process is rarely enough to avoid all the numerical problems, but it
+often improves a lot the numeric conditioning of the optimization.
index 1757095608fd67c4f7bac4623e7925188977caa7..573d10c96bfe7a71155b4dd490a2a6b4c0525dfa 100644 (file)
@@ -59,16 +59,23 @@ Bibliographie
 
 .. [Tikhonov77] Tikhonov A. N., Arsenin V. Y., *Solution of Ill-posed Problems*, Winston & Sons, 1977
 
-.. [WikipediaDA] Wikipedia, *Data assimilation*, http://en.wikipedia.org/wiki/Data_assimilation
+.. [WikipediaDA] Wikipédia, *Data assimilation*, http://en.wikipedia.org/wiki/Data_assimilation
 
-.. [WikipediaMO] Wikipedia, *Mathematical optimization*, https://en.wikipedia.org/wiki/Mathematical_optimization
+.. [WikipediaMO] Wikipédia, *Mathematical optimization*, https://en.wikipedia.org/wiki/Mathematical_optimization
 
-.. [WikipediaPSO] Wikipedia, *Particle swarm optimization*, https://en.wikipedia.org/wiki/Particle_swarm_optimization
+.. [WikipediaND] Wikipédia, *Nondimensionalization*, https://en.wikipedia.org/wiki/Nondimensionalization
 
-.. [WikipediaQR] Wikipedia, *Quantile regression*, https://en.wikipedia.org/wiki/Quantile_regression
+.. [WikipediaPSO] Wikipédia, *Particle swarm optimization*, https://en.wikipedia.org/wiki/Particle_swarm_optimization
 
-.. [WikipediaTI] Wikipedia, *Tikhonov regularization*, https://en.wikipedia.org/wiki/Tikhonov_regularization
+.. [WikipediaQR] Wikipédia, *Quantile regression*, https://en.wikipedia.org/wiki/Quantile_regression
 
-.. [WikipediaUKF] Wikipedia, *Unscented Kalman filter*, https://en.wikipedia.org/wiki/Unscented_Kalman_filter
+.. [WikipediaTI] Wikipédia, *Tikhonov regularization*, https://en.wikipedia.org/wiki/Tikhonov_regularization
+
+.. [WikipediaUKF] Wikipédia, *Unscented Kalman filter*, https://en.wikipedia.org/wiki/Unscented_Kalman_filter
 
 .. [Zhu97] Zhu C., Byrd R. H., Nocedal J., *L-BFGS-B: Algorithm 778: L-BFGS-B, FORTRAN routines for large scale bound constrained optimization*, ACM Transactions on Mathematical Software, 23(4), pp.550-560, 1997
+
+*Nota Bene* : un lien vers la version française de chaque page Wikipédia se
+trouve dans le sous-menu "*Languages*". Les deux versions sont complémentaires
+car, même si souvent le contenu en anglais est plus fourni, les informations
+disponibles dans chaque langue ne sont pas toujours identiques.
index 68b58808fc9d3e568c2997e9a68ec68018f26db9..c4f93e0095551ccdeb5f3aba3639db00417a7c39 100644 (file)
@@ -285,3 +285,37 @@ notant que les d
 à :math:`\mathbf{x}`. Dans un tel cas de contrôle explicite, seule la deuxième
 forme fonctionnelle (en utilisant "*ScriptWithFunctions*") et la troisième forme
 fonctionnelle (en utilisant "*ScriptWithSwitch*") peuvent être utilisées.
+
+Remarques complémentaires sur l'adimensionnement des opérateurs
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. index:: single: Adimensionnement
+.. index:: single: Sans dimension
+
+Il est fréquent que les grandeurs physiques, en entrée ou en sortie des
+opérateurs, présentent des différences notables d'ordre de grandeur ou de taux
+de variation. Une manière d'éviter des difficultés numériques est d'utiliser, ou
+d'établir, un adimensionnement des calculs menés dans les opérateurs
+[WikipediaND]_. Par principe, dans la mesure où la simulation de la physique
+devrait être la plus adimensionnée possible, il est en premier lieu recommandé
+d'utiliser les capacités existantes d'adimensionnement du code de calcul.
+
+Néanmoins, dans le cas courant où l'on ne peut en disposer, il est souvent utile
+d'environner le calcul pour l'adimensionner en entrée ou en sortie. Une manière
+simple de faire cela en entrée consiste à transformer les paramètres
+:math:`\mathbf{x}` en argument d'une fonction comme "*DirectOperator*". On
+utilise le plus souvent les valeurs par défaut :math:`\mathbf{x}^b` (ébauche, ou
+valeur nominale). Pourvu que chaque composante de :math:`\mathbf{x}^b` soit non
+nulle, on peut en effet poser:
+
+.. math:: \mathbf{x} = \mathbf{\alpha}\mathbf{x}^b
+
+et optimiser ensuite le paramètre multiplicatif :math:`\mathbf{\alpha}`. Ce
+paramètre a pour valeur par défaut (ou pour ébauche) un vecteur de 1. Attention,
+l'application d'une démarche d'adimensionnement nécessite aussi la modification
+des covariances d'erreurs associées dans la formulation ADAO du problème
+d'optimisation.
+
+Une telle démarche suffit rarement à éviter tous les problèmes numériques, mais
+permet souvent d'améliorer beaucoup le conditionnement numérique de
+l'optimisation.