]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Minor documentation review corrections V9_9_0rc1 V9_9_0rc2
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Tue, 17 May 2022 07:20:24 +0000 (09:20 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Tue, 17 May 2022 07:20:24 +0000 (09:20 +0200)
doc/en/ref_algorithm_InputValuesTest.rst
doc/en/ref_algorithm_ObserverTest.rst
doc/en/theory.rst
doc/fr/gui_in_salome.rst
doc/fr/ref_algorithm_InputValuesTest.rst
doc/fr/ref_algorithm_ObserverTest.rst
doc/fr/ref_assimilation_keywords.rst
doc/fr/snippets/InflationType.rst
doc/fr/theory.rst
doc/fr/tui.rst
src/daComposant/daAlgorithms/Atoms/lbfgsbhlt.py

index df9ec02b80a2cfe3d9d90a8af0d56e27ae9515a6..cfdc29fd942a298dff3df8cc2a7309b3f7594f96 100644 (file)
@@ -50,11 +50,11 @@ if a variable is large in size, this can be difficult*).
 
 *Tips for this algorithm:*
 
-    Because *"ObservationOperator"* is a required command for ALL checking
-    algorithms in the graphical interface, you have to provide a value for it,
+    Because *"ObservationOperator"*, in the graphical interface, is a required
+    command for ALL checking algorithms, you have to provide a value for it,
     despite the fact that this command is not required for this test, and will
     not be used. The easiest way is to give "1" as a STRING,
-    *"ObservationOperator"* having to be of type *Matrix*.
+    *"ObservationOperator"* having to be of type sparse *Matrix*.
 
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo03Chck.rst
index 357921c9e61d4514aedfc96b3a0d8d37b8813eec..fe19f3441bf556524246c2be239056445c001e37 100644 (file)
@@ -31,9 +31,9 @@ Checking algorithm "*ObserverTest*"
 .. include:: snippets/Header2Algo01.rst
 
 This algorithm allows to verify an external function, given by the user, used as
-an *observer*. This external function can be applied to every of the variables
+an *observer*. This external function can be applied to each of the variables
 that can be potentially observed. It is activated only on those who are
-explicitly associated with the *observer* in the interface.
+explicitly associated with the *observer* in its declaration.
 
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo02.rst
@@ -45,8 +45,9 @@ indicated in :ref:`section_ref_assimilation_keywords`.
 
 *Tips for this algorithm:*
 
-    Because *"CheckingPoint"* and *"ObservationOperator"* are required commands
-    for ALL checking algorithms in the interface, you have to provide a value
-    for them, despite the fact that these commands are not required for this
-    test, and will not be used. The easiest way is to give "1" as a STRING for
-    both, *"ObservationOperator"* having to be of type *Matrix*.
+    Because *"CheckingPoint"* and *"ObservationOperator"*, in the graphical
+    interface, are required commands for ALL checking algorithms, you have to
+    provide a value for them, despite the fact that these commands are not
+    required for this test, and will not be used. The easiest way is to give
+    "1" as a STRING for both, *"ObservationOperator"* having to be of type
+    sparse *Matrix*.
index 062d41e0ee609e1b1a5c543b08a7e51327a554fe..80b540a0eab451c5522d1645af5262c3b7371c7e 100644 (file)
@@ -189,6 +189,7 @@ way the problem of joint estimation of states and parameters.
 Simple description of the data assimilation methodological framework
 --------------------------------------------------------------------
 
+.. index:: single: analysis
 .. index:: single: background
 .. index:: single: background error covariances
 .. index:: single: observation error covariances
@@ -249,9 +250,9 @@ matrix of background error covariances by:
 
 The optimal estimation of the true parameters :math:`\mathbf{x}^t`, given the
 background :math:`\mathbf{x}^b` and the observations :math:`\mathbf{y}^o`, is
-then the "*analysis*" :math:`\mathbf{x}^a` and comes from the minimisation of an
-error function, explicit in variational assimilation, or from the filtering
-correction in assimilation by filtering.
+then called an "*analysis*", noted as :math:`\mathbf{x}^a`, and comes from the
+minimisation of an error function, explicit in variational assimilation, or
+from the filtering correction in assimilation by filtering.
 
 In **variational assimilation**, in a static case, one classically attempts to
 minimize the following function :math:`J`:
index 3a5bdfed638a42f6ab9ee0c8ca541349299ba59a..5946458990bec6a01f5d785a1d5e3f7d41cf6b36 100644 (file)
@@ -113,9 +113,9 @@ le menu principal "*ADAO*") pour créer un nouveau cas ADAO, et on obtient :
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 Pour construire un cas en utilisant l'éditeur intégré, on doit passer par une
-série de sous-étapes, en choisissant, à chaque étape, un mot-clé puis en
+série de sous-étapes, en choisissant, à chaque sous-étape, un mot-clé puis en
 remplissant ses valeurs. On note que c'est dans cette étape qu'il faut, entre
-autres, définir l'**appel au code de simulation** utilisé dans les opérateurs
+autres, définir un **appel au code de simulation** utilisé dans les opérateurs
 d'observation ou d'évolution décrivant le problème [#]_.
 
 L'éditeur structuré indique des types hiérarchiques, des valeurs ou des
index dff1a145b567adf26407d0ec9c11b6dafa0f4835..5ac04028b652b3779cee4858fdae52eeda7b2b99 100644 (file)
@@ -52,12 +52,12 @@ informatiquement problématique*).
 
 *Astuce pour cet algorithme :*
 
-    Comme la commande *"ObservationOperator"* est requise pour TOUS les
-    algorithmes de vérification dans l'interface graphique, vous devez fournir
-    une valeur, malgré le fait que cette commandes ne soit pas nécessaires pour
-    cet test, et ne soit donc pas utilisée. La manière la plus simple est de
-    donner "1" comme un STRING, l'*"ObservationOperator"* devant être de type
-    *Matrix*.
+    Comme la commande *"ObservationOperator"*, dans l'interface graphique, est
+    requise pour TOUS les algorithmes de vérification, il faut fournir une
+    valeur, malgré le fait que cette commandes ne soit pas nécessaires pour cet
+    test (et sa valeur n'est donc pas utilisée). La manière la plus simple est
+    de donner "1" comme un STRING, pour un *"ObservationOperator"* devant être
+    de type *Matrix* creuse.
 
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo03Chck.rst
index 24cfdd610b651074be5c6b6b03fd6754552d2a41..973ce3c900e11f4494b520d1e37845ad3895c442 100644 (file)
@@ -32,9 +32,9 @@ Algorithme de vérification "*ObserverTest*"
 
 Cet algorithme permet de vérifier une fonction externe et fournie par
 l'utilisateur, utilisée comme un *observer*. Cette fonction externe peut être
-appliquée à chacune des variables potentiellement observables. Elle n'est
-activée que sur celles qui sont explicitement associées avec l'*observer* dans
-l'interface.
+appliquée pour chacune des variables potentiellement observables. Elle n'est
+activée que sur celles qui sont explicitement associées avec cet *observer*
+dans sa déclaration.
 
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo02.rst
@@ -46,9 +46,10 @@ sont indiquées dans la :ref:`section_ref_checking_keywords`.
 
 *Astuce pour cet algorithme :*
 
-    Comme les commandes *"CheckingPoint"* et *"ObservationOperator"* sont
-    requises pour TOUS les algorithmes de vérification dans l'interface, vous
-    devez fournir une valeur, malgré le fait que ces commandes ne soient pas
-    nécessaires pour ce test, et ne sont donc pas utilisées. La manière la plus
-    simple est de donner "1" comme un STRING pour les deux,
-    l'*"ObservationOperator"* devant être de type *Matrix*.
+    Comme les commandes *"CheckingPoint"* et *"ObservationOperator"*, dans
+    l'interface graphique, sont requises pour TOUS les algorithmes de
+    vérification, il faut fournir une valeur, malgré le fait que ces commandes
+    ne soient pas nécessaires pour ce test (et que leurs valeurs ne sont donc
+    pas utilisées). La manière la plus simple est de donner "1" comme un STRING
+    pour les deux, avec un *"ObservationOperator"* devant être de type *Matrix*
+    creuse.
index b26141f11eeaade3e3049acbdb14b7b39f506427..7043b370fee23454b028b6dfab941950921a2abe 100644 (file)
@@ -31,8 +31,8 @@ calcul en évitant les particularités de chaque algorithme. C'est donc un
 inventaire commun des commandes.
 
 Le jeu de commandes pour un cas d'assimilation de données ou d'optimisation est
-lié à la description d'un cas de calcul, qui est une procédure d'*Assimilation
-de Données*, de *Méthodes avec Réduction* ou de méthodes *Optimisation*.
+lié à la description d'un cas de calcul, qui est une procédure en *Assimilation
+de Données*, en *Méthodes avec Réduction* ou en méthodes *Optimisation*.
 
 Le premier terme décrit le choix entre un calcul ou une vérification. Dans
 l'interface graphique, chacun des trois types de calculs, individuellement
index 1d27a29068d389501c59570d7dbc0dca4699a841..90f77ba710b02d0a3826fa386af7b3cd69980eb8 100644 (file)
@@ -6,7 +6,7 @@ InflationType
   L'inflation peut être appliquée de diverses manières, selon les options
   suivantes : multiplicative ou additive du facteur d'inflation spécifié,
   appliquée sur l'ébauche ou sur l'analyse, appliquée sur les covariances ou
-  sur les anomalies. L'*inflation multiplicative sur les anomalies*, qui sont
+  sur les anomalies. Une *inflation multiplicative sur les anomalies*, qui sont
   obtenues en retranchant la moyenne d'ensemble, est effectuée en multipliant
   ces anomalies par le facteur d'inflation, puis en reconstituant les membres
   de l'ensemble par ajout de la moyenne préalablement calculée. Un seul type
index 1fd936d72a1420e40814fb03bd7f72fa9b102145..68fee18cafebfdaef850db25a8c4437c3b4e7bdc 100644 (file)
@@ -206,6 +206,7 @@ d'états et de paramètres.
 Description simple du cadre méthodologique de l'assimilation de données
 -----------------------------------------------------------------------
 
+.. index:: single: analyse
 .. index:: single: ebauche
 .. index:: single: covariances d'erreurs d'ébauche
 .. index:: single: covariances d'erreurs d'observation
@@ -267,9 +268,9 @@ matrice :math:`\mathbf{B}` des covariances d'erreurs d'ébauche par :
 
 L'estimation optimale des paramètres vrais :math:`\mathbf{x}^t`, étant donné
 l'ébauche :math:`\mathbf{x}^b` et les observations :math:`\mathbf{y}^o`, est
-ainsi "l'*analyse*" :math:`\mathbf{x}^a` et provient de la minimisation d'une
-fonction d'erreur, explicite en assimilation variationnelle, ou d'une correction
-de filtrage en assimilation par filtrage.
+ainsi appelée une "*analyse*", notée :math:`\mathbf{x}^a`, et provient de la
+minimisation d'une fonction d'erreur, explicite en assimilation variationnelle,
+ou d'une correction de filtrage en assimilation par filtrage.
 
 En **assimilation variationnelle**, dans un cas statique, on cherche
 classiquement à minimiser la fonction :math:`J` suivante :
@@ -579,10 +580,10 @@ méthodes sont un coût numérique souvent bien supérieur pour trouver les
 estimations d'états, et fréquemment aucune garantie de convergence en temps
 fini. Ici, on ne mentionne que quelques méthodes disponibles dans ADAO :
 
-- l'*optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
-- l'*optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
-- l'*évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`),
-- la *régression de quantile (Quantile Regression ou QR)* (voir :ref:`section_ref_algorithm_QuantileRegression`).
+- *optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
+- *optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
+- *évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`),
+- *régression de quantile (Quantile Regression ou QR)* (voir :ref:`section_ref_algorithm_QuantileRegression`).
 
 En second lieu, les méthodes d'optimisation cherchent usuellement à minimiser
 des mesures quadratiques d'erreurs, car les propriétés naturelles de ces
@@ -634,9 +635,9 @@ sont un coût numérique souvent bien supérieur pour trouver les estimations
 d'états, et pas de garantie de convergence en temps fini. Ici encore, on ne
 mentionne que quelques méthodes qui sont disponibles dans ADAO :
 
-- l'*optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
-- l'*optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
-- l'*évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`).
+- *optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
+- *optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
+- *évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`).
 
 Le lecteur intéressé par le sujet de l'optimisation pourra utilement commencer
 sa recherche grâce au point d'entrée [WikipediaMO]_.
index 7de90cd59841b0571fc425f36ace8a3ba6975e6a..cfbb2a58755fdc06871d45d3cafda311b3d9ed0e 100644 (file)
@@ -550,13 +550,14 @@ Paramétrer le calcul, les sorties, etc.
     finale du calcul. On se reportera à la description des
     :ref:`section_ref_observers_requirements` pour avoir leur liste et leur
     format, et à la :ref:`section_reference` pour savoir quelles sont les
-    quantités observables. On définit comme un "*String*" le corps de
-    l'*observer*, en utilisant une chaîne de caractères incluant si nécessaire
-    des sauts de lignes. On recommande d'utiliser les patrons disponibles par
-    l'argument "*Template*". Dans le cas d'une définition par "*Script*", le
-    fichier indiqué doit contenir uniquement le corps de la fonction, comme
-    décrit dans les :ref:`section_ref_observers_requirements`. La variable
-    "*Info*" contient une chaîne de caractère d'information ou une chaine vide.
+    quantités observables. On définit comme un "*String*" le corps de la
+    fonction d'un *observer*, en utilisant une chaîne de caractères incluant si
+    nécessaire des sauts de lignes. On recommande d'utiliser les patrons
+    disponibles par l'argument "*Template*". Dans le cas d'une définition par
+    "*Script*", le fichier indiqué doit contenir uniquement le corps de la
+    fonction, comme décrit dans les :ref:`section_ref_observers_requirements`.
+    La variable "*Info*" contient une chaîne de caractère d'information ou une
+    chaine vide.
 
 .. index:: single: UserPostAnalysis
 .. index:: single: UserPostAnalysis Template
index f59c1ec3f99a1389b9d40a5b644e80ef4fcb5bc6..426aecb989743f3a6299d94efe07532498a15638 100644 (file)
@@ -1,4 +1,4 @@
-# Modification de la version 1.1.0
+# Modification de la version 1.4.1
 """
 Functions
 ---------
@@ -39,7 +39,7 @@ from __future__ import division, print_function, absolute_import
 import numpy as np
 from numpy import array, asarray, float64, int32, zeros
 from scipy.optimize import _lbfgsb
-from scipy.optimize.optimize import (approx_fprime, MemoizeJac, OptimizeResult,
+from scipy.optimize.optimize import (MemoizeJac, OptimizeResult,
                        _check_unknown_options, wrap_function,
                        _approx_fprime_helper)
 from scipy.sparse.linalg import LinearOperator
@@ -219,8 +219,10 @@ def _minimize_lbfgsb(fun, x0, args=(), jac=None, bounds=None,
 
     Options
     -------
-    disp : bool
-       Set to True to print convergence messages.
+    disp : None or int
+        If `disp is None` (the default), then the supplied version of `iprint`
+        is used. If `disp is not None`, then it overrides the supplied version
+        of `iprint` with the behaviour you outlined.
     maxcor : int
         The maximum number of variable metric corrections used to
         define the limited memory matrix. (The limited memory BFGS
@@ -235,12 +237,20 @@ def _minimize_lbfgsb(fun, x0, args=(), jac=None, bounds=None,
         projected gradient.
     eps : float
         Step size used for numerical approximation of the jacobian.
-    disp : int
-        Set to True to print convergence messages.
     maxfun : int
         Maximum number of function evaluations.
     maxiter : int
         Maximum number of iterations.
+    iprint : int, optional
+        Controls the frequency of output. ``iprint < 0`` means no output;
+        ``iprint = 0``    print only one line at the last iteration;
+        ``0 < iprint < 99`` print also f and ``|proj g|`` every iprint iterations;
+        ``iprint = 99``   print details of every iteration except n-vectors;
+        ``iprint = 100``  print also the changes of active set and final x;
+        ``iprint > 100``  print details of every iteration including x and g.
+    callback : callable, optional
+        Called after each iteration, as ``callback(xk)``, where ``xk`` is the
+        current parameter vector.
     maxls : int, optional
         Maximum number of line search steps (per iteration). Default is 20.