From dd3f22ae405259777ec371b4a67fe6127c826616 Mon Sep 17 00:00:00 2001 From: Jean-Philippe ARGAUD Date: Sat, 23 Dec 2017 21:42:54 +0100 Subject: [PATCH] Documentation update and corrections --- doc/en/ref_algorithm_3DVAR.rst | 10 +-- doc/en/ref_algorithm_4DVAR.rst | 7 +- ...f_algorithm_DerivativeFreeOptimization.rst | 67 ++++++++++++++++-- .../ref_algorithm_NonLinearLeastSquares.rst | 35 +++++++++- doc/en/tui.rst | 2 +- doc/fr/ref_algorithm_3DVAR.rst | 16 +++-- doc/fr/ref_algorithm_4DVAR.rst | 1 + ...f_algorithm_DerivativeFreeOptimization.rst | 69 +++++++++++++++++-- .../ref_algorithm_NonLinearLeastSquares.rst | 51 +++++++++++--- doc/fr/tui.rst | 8 +-- 10 files changed, 225 insertions(+), 41 deletions(-) diff --git a/doc/en/ref_algorithm_3DVAR.rst b/doc/en/ref_algorithm_3DVAR.rst index bfc309a..46c3039 100644 --- a/doc/en/ref_algorithm_3DVAR.rst +++ b/doc/en/ref_algorithm_3DVAR.rst @@ -166,10 +166,12 @@ The options of the algorithm are the following: are in the following list: ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "CostFunctionJ", "CostFunctionJb", - "CostFunctionJo", "CostFunctionJAtCurrentOptimum", "CurrentOptimum", - "CurrentState", "IndexOfOptimum", "Innovation", "InnovationAtCurrentState", - "MahalanobisConsistency", "OMA", "OMB", "SigmaObs2", - "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentOptimum", + "CostFunctionJo", "CostFunctionJAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentOptimum", "CurrentState", "IndexOfOptimum", "Innovation", + "InnovationAtCurrentState", "MahalanobisConsistency", "OMA", "OMB", + "SigmaObs2", "SimulatedObservationAtBackground", + "SimulatedObservationAtCurrentOptimum", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum", "SimulationQuantiles"]. diff --git a/doc/en/ref_algorithm_4DVAR.rst b/doc/en/ref_algorithm_4DVAR.rst index 1876e6f..8388c15 100644 --- a/doc/en/ref_algorithm_4DVAR.rst +++ b/doc/en/ref_algorithm_4DVAR.rst @@ -183,9 +183,10 @@ The options of the algorithm are the following: available at the end of the algorithm. It involves potentially costly calculations or memory consumptions. The default is a void list, none of these variables being calculated and stored by default. The possible names - are in the following list: ["BMA", "CostFunctionJ", "CostFunctionJb", - "CostFunctionJo", "CostFunctionJAtCurrentOptimum", "CurrentOptimum", - "CurrentState", "IndexOfOptimum"]. + are in the following list: ["BMA", "CostFunctionJ", + "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentOptimum", "CurrentState", "IndexOfOptimum"]. Example : ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}`` diff --git a/doc/en/ref_algorithm_DerivativeFreeOptimization.rst b/doc/en/ref_algorithm_DerivativeFreeOptimization.rst index 7898082..0c489a6 100644 --- a/doc/en/ref_algorithm_DerivativeFreeOptimization.rst +++ b/doc/en/ref_algorithm_DerivativeFreeOptimization.rst @@ -182,11 +182,12 @@ The options of the algorithm are the following: available at the end of the algorithm. It involves potentially costly calculations or memory consumptions. The default is a void list, none of these variables being calculated and stored by default. The possible names - are in the following list: ["CurrentState", "CostFunctionJ", + are in the following list: ["BMA", "CostFunctionJ", "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum", - "CurrentOptimum", "IndexOfOptimum", "InnovationAtCurrentState", "BMA", - "OMA", "OMB", "SimulatedObservationAtBackground", - "SimulatedObservationAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentOptimum", "CurrentState", "IndexOfOptimum", + "InnovationAtCurrentState", "OMA", "OMB", + "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentOptimum", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"]. Example : ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}`` @@ -235,12 +236,70 @@ The unconditional outputs of the algorithm are the following: The conditional outputs of the algorithm are the following: + CostFunctionJAtCurrentOptimum + *List of values*. Each element is a value of the error function :math:`J`. + At each step, the value corresponds to the optimal state found from the + beginning. + + Example : ``JACO = ADD.get("CostFunctionJAtCurrentOptimum")[:]`` + + CostFunctionJbAtCurrentOptimum + *List of values*. Each element is a value of the error function :math:`J^b`, + that is of the background difference part. At each step, the value + corresponds to the optimal state found from the beginning. + + Example : ``JbACO = ADD.get("CostFunctionJbAtCurrentOptimum")[:]`` + + CostFunctionJoAtCurrentOptimum + *List of values*. Each element is a value of the error function :math:`J^o`, + that is of the observation difference part. At each step, the value + corresponds to the optimal state found from the beginning. + + Example : ``JoACO = ADD.get("CostFunctionJoAtCurrentOptimum")[:]`` + + CurrentOptimum + *List of vectors*. Each element is the optimal state obtained at the current + step of the optimization algorithm. It is not necessarily the last state. + + Example : ``Xo = ADD.get("CurrentOptimum")[:]`` + + IndexOfOptimum + *List of integers*. Each element is the iteration index of the optimum + obtained at the current step the optimization algorithm. It is not + necessarily the number of the last iteration. + + Example : ``i = ADD.get("IndexOfOptimum")[-1]`` + + InnovationAtCurrentState + *List of vectors*. Each element is an innovation vector at current state. + + Example : ``ds = ADD.get("InnovationAtCurrentState")[-1]`` + + OMA + *List of vectors*. Each element is a vector of difference between the + observation and the optimal state in the observation space. + + Example : ``oma = ADD.get("OMA")[-1]`` + + OMB + *List of vectors*. Each element is a vector of difference between the + observation and the background state in the observation space. + + Example : ``omb = ADD.get("OMB")[-1]`` + SimulatedObservationAtBackground *List of vectors*. Each element is a vector of observation simulated from the background :math:`\mathbf{x}^b`. Example : ``hxb = ADD.get("SimulatedObservationAtBackground")[-1]`` + SimulatedObservationAtCurrentOptimum + *List of vectors*. Each element is a vector of observation simulated from + the optimal state obtained at the current step the optimization algorithm, + that is, in the observation space. + + Example : ``hxo = ADD.get("SimulatedObservationAtCurrentOptimum")[-1]`` + SimulatedObservationAtCurrentState *List of vectors*. Each element is an observed vector at the current state, that is, in the observation space. diff --git a/doc/en/ref_algorithm_NonLinearLeastSquares.rst b/doc/en/ref_algorithm_NonLinearLeastSquares.rst index c2af40a..ac54ffb 100644 --- a/doc/en/ref_algorithm_NonLinearLeastSquares.rst +++ b/doc/en/ref_algorithm_NonLinearLeastSquares.rst @@ -155,9 +155,13 @@ The options of the algorithm are the following: available at the end of the algorithm. It involves potentially costly calculations or memory consumptions. The default is a void list, none of these variables being calculated and stored by default. The possible names - are in the following list: ["BMA", "CostFunctionJ", "CostFunctionJb", - "CostFunctionJo", "CurrentState", "OMA", "OMB", "Innovation", - "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"]. + are in the following list: ["BMA", "CostFunctionJ", + "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentState", "CurrentOptimum", "IndexOfOptimum", "Innovation", + "InnovationAtCurrentState", "OMA", "OMB", + "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState", + "SimulatedObservationAtOptimum", "SimulatedObservationAtCurrentOptimum"]. Example : ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}`` @@ -218,6 +222,13 @@ The conditional outputs of the algorithm are the following: Example : ``Xs = ADD.get("CurrentState")[:]`` + IndexOfOptimum + *List of integers*. Each element is the iteration index of the optimum + obtained at the current step the optimization algorithm. It is not + necessarily the number of the last iteration. + + Example : ``i = ADD.get("IndexOfOptimum")[-1]`` + Innovation *List of vectors*. Each element is an innovation vector, which is in static the difference between the optimal and the background, and in dynamic the @@ -225,6 +236,11 @@ The conditional outputs of the algorithm are the following: Example : ``d = ADD.get("Innovation")[-1]`` + InnovationAtCurrentState + *List of vectors*. Each element is an innovation vector at current state. + + Example : ``ds = ADD.get("InnovationAtCurrentState")[-1]`` + OMA *List of vectors*. Each element is a vector of difference between the observation and the optimal state in the observation space. @@ -237,6 +253,19 @@ The conditional outputs of the algorithm are the following: Example : ``omb = ADD.get("OMB")[-1]`` + SimulatedObservationAtBackground + *List of vectors*. Each element is a vector of observation simulated from + the background :math:`\mathbf{x}^b`. + + Example : ``hxb = ADD.get("SimulatedObservationAtBackground")[-1]`` + + SimulatedObservationAtCurrentOptimum + *List of vectors*. Each element is a vector of observation simulated from + the optimal state obtained at the current step the optimization algorithm, + that is, in the observation space. + + Example : ``hxo = ADD.get("SimulatedObservationAtCurrentOptimum")[-1]`` + SimulatedObservationAtCurrentState *List of vectors*. Each element is an observed vector at the current state, that is, in the observation space. diff --git a/doc/en/tui.rst b/doc/en/tui.rst index 28e9912..5a5e6b3 100644 --- a/doc/en/tui.rst +++ b/doc/en/tui.rst @@ -83,7 +83,7 @@ The creation and initialization of a study are done using the following commands, the ``case`` object name of the ADAO TUI calculation case being let free to the user choice:: - from numpy import array + from numpy import array, matrix import adaoBuilder case = adaoBuilder.New() diff --git a/doc/fr/ref_algorithm_3DVAR.rst b/doc/fr/ref_algorithm_3DVAR.rst index e352aea..71c6fb9 100644 --- a/doc/fr/ref_algorithm_3DVAR.rst +++ b/doc/fr/ref_algorithm_3DVAR.rst @@ -121,9 +121,9 @@ Les options de l'algorithme sont les suivantes: Cette clé permet de définir des bornes supérieure et inférieure pour chaque variable d'état optimisée. Les bornes doivent être données par une liste de liste de paires de bornes inférieure/supérieure pour chaque variable, avec - une valeur ``None`` chaque fois qu'il n'y a pas de borne. Les bornes peuvent - toujours être spécifiées, mais seuls les optimiseurs sous contraintes les - prennent en compte. + une valeur ``None`` chaque fois qu'il n'y a pas de borne. Les bornes + peuvent toujours être spécifiées, mais seuls les optimiseurs sous + contraintes les prennent en compte. Exemple : ``{"Bounds":[[2.,5.],[1.e-2,10.],[-30.,None],[None,None]]}`` @@ -171,10 +171,12 @@ Les options de l'algorithme sont les suivantes: possibles sont dans la liste suivante : ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "CostFunctionJ", "CostFunctionJb", - "CostFunctionJo", "CostFunctionJAtCurrentOptimum", "CurrentOptimum", - "CurrentState", "IndexOfOptimum", "Innovation", "InnovationAtCurrentState", - "MahalanobisConsistency", "OMA", "OMB", "SigmaObs2", - "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentOptimum", + "CostFunctionJo", "CostFunctionJAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentOptimum", "CurrentState", "IndexOfOptimum", "Innovation", + "InnovationAtCurrentState", "MahalanobisConsistency", "OMA", "OMB", + "SigmaObs2", "SimulatedObservationAtBackground", + "SimulatedObservationAtCurrentOptimum", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum", "SimulationQuantiles"]. diff --git a/doc/fr/ref_algorithm_4DVAR.rst b/doc/fr/ref_algorithm_4DVAR.rst index 749d8be..9833a7e 100644 --- a/doc/fr/ref_algorithm_4DVAR.rst +++ b/doc/fr/ref_algorithm_4DVAR.rst @@ -190,6 +190,7 @@ Les options de l'algorithme sont les suivantes: aucune de ces variables n'étant calculée et stockée par défaut. Les noms possibles sont dans la liste suivante : ["BMA", "CostFunctionJ", "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", "CurrentOptimum", "CurrentState", "IndexOfOptimum"]. Exemple : ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}`` diff --git a/doc/fr/ref_algorithm_DerivativeFreeOptimization.rst b/doc/fr/ref_algorithm_DerivativeFreeOptimization.rst index 6f0bde3..c0ec43c 100644 --- a/doc/fr/ref_algorithm_DerivativeFreeOptimization.rst +++ b/doc/fr/ref_algorithm_DerivativeFreeOptimization.rst @@ -187,11 +187,12 @@ Les options de l'algorithme sont les suivantes: 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", "CostFunctionJ", + possibles sont dans la liste suivante : ["BMA", "CostFunctionJ", "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum", - "CurrentOptimum", "IndexOfOptimum", "InnovationAtCurrentState", "BMA", - "OMA", "OMB", "SimulatedObservationAtBackground", - "SimulatedObservationAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentOptimum", "CurrentState", "IndexOfOptimum", + "InnovationAtCurrentState", "OMA", "OMB", + "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentOptimum", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"]. Exemple : ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}`` @@ -242,12 +243,72 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes: Les sorties conditionnelles de l'algorithme sont les suivantes: + CostFunctionJAtCurrentOptimum + *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart + :math:`J`. A chaque pas, la valeur correspond à l'état optimal trouvé depuis + le début. + + Exemple : ``JACO = ADD.get("CostFunctionJAtCurrentOptimum")[:]`` + + CostFunctionJbAtCurrentOptimum + *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. A chaque pas, la + valeur correspond à l'état optimal trouvé depuis le début. + + Exemple : ``JbACO = ADD.get("CostFunctionJbAtCurrentOptimum")[:]`` + + CostFunctionJoAtCurrentOptimum + *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. A chaque pas, + la valeur correspond à l'état optimal trouvé depuis le début. + + Exemple : ``JoACO = ADD.get("CostFunctionJoAtCurrentOptimum")[:]`` + + CurrentOptimum + *Liste de vecteurs*. Chaque élément est le vecteur d'état optimal au pas de + temps courant au cours du déroulement de l'algorithme d'optimisation. Ce + n'est pas nécessairement le dernier état. + + Exemple : ``Xo = ADD.get("CurrentOptimum")[:]`` + + IndexOfOptimum + *Liste d'entiers*. Chaque élément est l'index d'itération de l'optimum + obtenu au cours du déroulement de l'algorithme d'optimisation. Ce n'est pas + nécessairement le numéro de la dernière itération. + + Exemple : ``i = ADD.get("IndexOfOptimum")[-1]`` + + InnovationAtCurrentState + *Liste de vecteurs*. Chaque élément est un vecteur d'innovation à l'état + courant. + + Exemple : ``ds = ADD.get("InnovationAtCurrentState")[-1]`` + + OMA + *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre + l'observation et l'état optimal dans l'espace des observations. + + Exemple : ``oma = ADD.get("OMA")[-1]`` + + OMB + *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre + l'observation et l'état d'ébauche dans l'espace des observations. + + Exemple : ``omb = ADD.get("OMB")[-1]`` + SimulatedObservationAtBackground *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à partir de l'ébauche :math:`\mathbf{x}^b`. Exemple : ``hxb = ADD.get("SimulatedObservationAtBackground")[-1]`` + SimulatedObservationAtCurrentOptimum + *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à + partir de l'état optimal au pas de temps courant au cours du déroulement de + l'algorithme d'optimisation, c'est-à-dire dans l'espace des observations. + + Exemple : ``hxo = ADD.get("SimulatedObservationAtCurrentOptimum")[-1]`` + SimulatedObservationAtCurrentState *Liste de vecteurs*. Chaque élément est un vecteur observé à l'état courant, c'est-à-dire dans l'espace des observations. diff --git a/doc/fr/ref_algorithm_NonLinearLeastSquares.rst b/doc/fr/ref_algorithm_NonLinearLeastSquares.rst index 72c7f93..16d9ed6 100644 --- a/doc/fr/ref_algorithm_NonLinearLeastSquares.rst +++ b/doc/fr/ref_algorithm_NonLinearLeastSquares.rst @@ -112,11 +112,11 @@ Les options de l'algorithme sont les suivantes: Exemple : ``{"Minimizer":"LBFGSB"}`` Bounds - Cette clé permet de définir des bornes supérieure et inférieure pour - chaque variable d'état optimisée. Les bornes doivent être données par une - liste de liste de paires de bornes inférieure/supérieure pour chaque - variable, avec une valeur ``None`` chaque fois qu'il n'y a pas de borne. Les - bornes peuvent toujours être spécifiées, mais seuls les optimiseurs sous + Cette clé permet de définir des bornes supérieure et inférieure pour chaque + variable d'état optimisée. Les bornes doivent être données par une liste de + liste de paires de bornes inférieure/supérieure pour chaque variable, avec + une valeur ``None`` chaque fois qu'il n'y a pas de borne. Les bornes + peuvent toujours être spécifiées, mais seuls les optimiseurs sous contraintes les prennent en compte. Exemple : ``{"Bounds":[[2.,5.],[1.e-2,10.],[-30.,None],[None,None]]}`` @@ -163,9 +163,12 @@ Les options de l'algorithme sont les suivantes: 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 : ["BMA", "CostFunctionJ", - "CostFunctionJb", "CostFunctionJo", "CurrentState", "OMA", "OMB", - "Innovation", "SimulatedObservationAtCurrentState", - "SimulatedObservationAtOptimum"]. + "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum", + "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum", + "CurrentState", "CurrentOptimum", "IndexOfOptimum", "Innovation", + "InnovationAtCurrentState", "OMA", "OMB", + "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState", + "SimulatedObservationAtOptimum", "SimulatedObservationAtCurrentOptimum"]. Exemple : ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}`` @@ -228,6 +231,13 @@ Les sorties conditionnelles de l'algorithme sont les suivantes: Exemple : ``Xs = ADD.get("CurrentState")[:]`` + IndexOfOptimum + *Liste d'entiers*. Chaque élément est l'index d'itération de l'optimum + obtenu au cours du déroulement de l'algorithme d'optimisation. Ce n'est pas + nécessairement le numéro de la dernière itération. + + Exemple : ``i = ADD.get("IndexOfOptimum")[-1]`` + Innovation *Liste de vecteurs*. Chaque élément est un vecteur d'innovation, qui est en statique l'écart de l'optimum à l'ébauche, et en dynamique l'incrément @@ -235,6 +245,12 @@ Les sorties conditionnelles de l'algorithme sont les suivantes: Exemple : ``d = ADD.get("Innovation")[-1]`` + InnovationAtCurrentState + *Liste de vecteurs*. Chaque élément est un vecteur d'innovation à l'état + courant. + + Exemple : ``ds = ADD.get("InnovationAtCurrentState")[-1]`` + OMA *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre l'observation et l'état optimal dans l'espace des observations. @@ -247,11 +263,24 @@ Les sorties conditionnelles de l'algorithme sont les suivantes: Exemple : ``omb = ADD.get("OMB")[-1]`` + SimulatedObservationAtBackground + *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à + partir de l'ébauche :math:`\mathbf{x}^b`. + + Exemple : ``hxb = ADD.get("SimulatedObservationAtBackground")[-1]`` + + SimulatedObservationAtCurrentOptimum + *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à + partir de l'état optimal au pas de temps courant au cours du déroulement de + l'algorithme d'optimisation, c'est-à-dire dans l'espace des observations. + + Exemple : ``hxo = ADD.get("SimulatedObservationAtCurrentOptimum")[-1]`` + SimulatedObservationAtCurrentState - *Liste de vecteurs*. Chaque élément est un vecteur observé à l'état courant, - c'est-à-dire dans l'espace des observations. + *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 : ``Ys = ADD.get("SimulatedObservationAtCurrentState")[-1]`` + Exemple : ``hxs = ADD.get("SimulatedObservationAtCurrentState")[-1]`` SimulatedObservationAtOptimum *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à diff --git a/doc/fr/tui.rst b/doc/fr/tui.rst index 95a716d..6557d08 100644 --- a/doc/fr/tui.rst +++ b/doc/fr/tui.rst @@ -55,7 +55,7 @@ de cas de calcul ADAO. Toutes les données sont explicitement définies dans le corps du script pour faciliter la lecture. L'ensemble des commandes est le suivant:: - from numpy import array + from numpy import array, matrix import adaoBuilder case = adaoBuilder.New() case.set( 'AlgorithmParameters', Algorithm='3DVAR' ) @@ -84,7 +84,7 @@ La création et l'initialisation d'une étude se font par les commandes suivante le nom ``case`` de l'objet du cas de calcul TUI ADAO étant quelconque, au choix de l'utilisateur:: - from numpy import array + from numpy import array, matrix import adaoBuilder case = adaoBuilder.New() @@ -283,13 +283,13 @@ font en important le module d'interface "*adaoBuilder*" et en invoquant sa méthode "*New()*" comme illustré dans les quelques lignes suivantes (le nom ``case`` de l'objet étant quelconque, au choix de l'utilisateur):: - from numpy import array + from numpy import array, matrix import adaoBuilder case = adaoBuilder.New() Il est recommandé par principe de toujours importer le module ``numpy`` (ou ses constructeurs particuliers, comme celui d'``array``) pour faciliter ensuite son -usage dans les commandes elle-mêmes. +usage dans les commandes elles-mêmes. Définir les données de calcul +++++++++++++++++++++++++++++ -- 2.39.2