Salome HOME
Correction of catalogue and version setting
[modules/adao.git] / doc / en / theory.rst
index 34eba109957ed693df1de5083d47a02dc14da535..03f222234ed8fbfe46f56b5938d2838cc8688cc3 100644 (file)
@@ -1,8 +1,31 @@
+..
+   Copyright (C) 2008-2015 EDF R&D
+
+   This file is part of SALOME ADAO module.
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+   Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
 .. _section_theory:
 
-================================================================================
-A brief introduction to Data Assimilation and Optimization
-================================================================================
+=================================================================================
+**[DocT]** A brief introduction to Data Assimilation and Optimization
+=================================================================================
 
 .. index:: single: Data Assimilation
 .. index:: single: true state
@@ -85,15 +108,16 @@ The **identification (or adjustment) of parameters** by data assimilation is a
 form of state calibration which uses both the physical measurement and an *a
 priori* parameters estimation (called the "*background*") of the state that one
 seeks to identify, as well as a characterization of their errors. From this
-point of view, it uses all available information on the physical system (even if
-assumptions about errors are relatively restrictive) to find the "*optimal
+point of view, it uses all available information on the physical system, with
+restrictive yet realistic assumptions about errors, to find the "*optimal
 estimation*" from the true state. We note, in terms of optimization, that the
-background realizes a "*regularization*", in a mathematical meaning, of the main
-problem of parameters identification. One can also use the terms "*inverse
-problems*" to refer to this process.
+background realizes a "*regularization*", in the mathematical meaning of
+Tikhonov [[Tikhonov77]_ [WikipediaTI]_, of the main problem of parameters
+identification. One can also use the term "*inverse problem*" to refer to this
+process.
 
-In practice, the two observed gaps "*calculation-background*" and
-"*calculation-measures*" are combined to build the calibration correction of
+In practice, the two observed gaps "*calculation-measures*" and
+"*calculation-background*" are combined to build the calibration correction of
 parameters or initial conditions. The addition of these two gaps requires a
 relative weight, which is chosen to reflect the trust we give to each piece of
 information. This confidence is depicted by the covariance of the errors on the
@@ -116,9 +140,12 @@ Simple description of the data assimilation methodological framework
 .. index:: single: background error covariances
 .. index:: single: observation error covariances
 .. index:: single: covariances
+.. index:: single: 3DVAR
+.. index:: single: Blue
 
 We can write these features in a simple manner. By default, all variables are
-vectors, as there are several parameters to readjust.
+vectors, as there are several parameters to readjust, or a discrete field to
+reconstruct.
 
 According to standard notations in data assimilation, we note
 :math:`\mathbf{x}^a` the optimal parameters that is to be determined by
@@ -150,45 +177,47 @@ random vector :math:`\mathbf{\epsilon}^o` such that:
 The errors represented here are not only those from observation, but also from
 the simulation. We can always consider that these errors are of zero mean.
 Noting :math:`E[.]` the classical mathematical expectation, we can then define a
-matrix :math:`\mathbf{R}` of the observation error covariances by:
+matrix :math:`\mathbf{R}` of the observation error covariances by the
+expression:
 
 .. math:: \mathbf{R} = E[\mathbf{\epsilon}^o.{\mathbf{\epsilon}^o}^T]
 
-The background can also be written as a function of the true value, by
-introducing the error vector :math:`\mathbf{\epsilon}^b` such that:
+The background can also be written formally as a function of the true value, by
+introducing the errors vector :math:`\mathbf{\epsilon}^b` such that:
 
 .. math:: \mathbf{x}^b = \mathbf{x}^t + \mathbf{\epsilon}^b
 
-where errors are also assumed of zero mean, in the same manner as for
-observations. We define the :math:`\mathbf{B}` matrix of background error
-covariances by:
+The errors :math:`\mathbf{\epsilon}^b` are also assumed of zero mean, in the
+same manner as for observations. We define the :math:`\mathbf{B}` matrix of
+background error covariances by:
 
 .. math:: \mathbf{B} = E[\mathbf{\epsilon}^b.{\mathbf{\epsilon}^b}^T]
 
 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 (in variational assimilation) or from the filtering correction (in
-assimilation by filtering).
+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`:
 
-.. math:: J(\mathbf{x})=(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
-
-which is usually designed as the "*3D-VAR*" function (see for example
-[Talagrand97]_). Since :math:`\mathbf{B}` and :math:`\mathbf{R}` covariance
-matrices are proportional to the variances of errors, their presence in both
-terms of the function :math:`J` can effectively weight the differences by
-confidence in the background or observations errors. The parameters vector
-:math:`\mathbf{x}` realizing the minimum of this function therefore constitute
-the analysis :math:`\mathbf{x}^a`. It is at this level that we have to use the
-full panoply of function minimization methods otherwise known in optimization
-(see also section `Going further in the state estimation by optimization
-methods`_). Depending on the size of the parameters vector :math:`\mathbf{x}` to
-identify, and of the availability of gradient or Hessian of :math:`J`, it is
-appropriate to adapt the chosen optimization method (gradient, Newton,
-quasi-Newton...).
+.. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
+
+:math:`J` is classically designed as the "*3D-VAR*" functional in data
+assimlation (see for example [Talagrand97]_) or as the generalized Tikhonov
+regularization functional in optimization (see for example [WikipediaTI]_).
+Since :math:`\mathbf{B}` and :math:`\mathbf{R}` covariance matrices are
+proportional to the variances of errors, their presence in both terms of the
+function :math:`J` can effectively weight the gap terms by the confidence in the
+background or observations errors. The parameters vector :math:`\mathbf{x}`
+realizing the minimum of this function therefore constitute the analysis
+:math:`\mathbf{x}^a`. It is at this level that we have to use the full panoply
+of function minimization methods otherwise known in optimization (see also
+section `Going further in the state estimation by optimization methods`_).
+Depending on the size of the parameters vector :math:`\mathbf{x}` to identify,
+and of the availability of gradient or Hessian of :math:`J`, it is appropriate
+to adapt the chosen optimization method (gradient, Newton, quasi-Newton...).
 
 In **assimilation by filtering**, in this simple case usually referred to as
 "*BLUE*" (for "*Best Linear Unbiased Estimator*"), the :math:`\mathbf{x}^a`
@@ -235,7 +264,8 @@ To get more information about the data assimilation techniques, the reader can
 consult introductory documents like [Talagrand97]_ or [Argaud09]_, on-line
 training courses or lectures like [Bouttier99]_ and [Bocquet04]_ (along with
 other materials coming from geosciences applications), or general documents like
-[Talagrand97]_, [Tarantola87]_, [Kalnay03]_, [Ide97]_ and [WikipediaDA]_.
+[Talagrand97]_, [Tarantola87]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ and
+[WikipediaDA]_.
 
 Note that data assimilation is not restricted to meteorology or geo-sciences,
 but is widely used in other scientific domains. There are several fields in
@@ -263,7 +293,8 @@ minimization* extented form, obtained by adding a regularizing term using
 :math:`\mathbf{x}-\mathbf{x}^b`, and by weighting the differences using
 :math:`\mathbf{B}` and :math:`\mathbf{R}` the two covariance matrices. The
 minimization of the :math:`J` function leads to the *best* :math:`\mathbf{x}`
-state estimation.
+state estimation. To get more information about these notions, one can consult
+reference general documents like [Tarantola87]_.
 
 State estimation possibilities extension, by using more explicitly optimization
 methods and their properties, can be imagined in two ways.
@@ -293,9 +324,9 @@ example, we can cite *absolute error value*, *maximum error value*, etc. These
 error measures are not differentiables, but some optimization methods can deal
 with:  heuristics and meta-heuristics for real-valued problem, etc. As
 previously, the main drawback remain a greater numerical cost to find state
-estimates, and no guarantee of convergence in finite time. Here, we point also
-the following methods as it is available in the ADAO module: *Particle swarm
-optimization* [WikipediaPSO]_.
+estimates, and no guarantee of convergence in finite time. Here again, we only
+point the following methods as it is available in the ADAO module: *Particle
+swarm optimization* [WikipediaPSO]_.
 
 The reader interested in the subject of optimization can look at [WikipediaMO]_
 as a general entry point.