.. index:: single: setObservationOperator
-**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, Parameters, Script, Stored*)
+**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, AppliedInXb, Parameters, Script, Stored*)
This command allows to set the evolution operator :math:`H`, which
transforms the input parameters :math:`\mathbf{x}` in results
:math:`\mathbf{y}` that are compared to observations :math:`\mathbf{y}^o`.
or "*ThreeFunctions*" keywords. If it is defined by a script in the
"*Script*" keyword, the operator is of type "*Matrix*", "*OneFunction*" or
"*ThreeFunctions*" according to whether one of these variables is positioned
- to "*True*". The control parameters of the adjoint numerical approximation,
+ to "*True*". When the :math:`H` operator evaluated in :math:`\mathbf{x}^b`
+ is available, it can be given using "*AppliedInXb*" and will be considered
+ as a vector. The control parameters of the adjoint numerical approximation,
in the "*OneFunction*"case, can be given by a dictionary through the
"*Parameters*" keyword. Potential entries of this dictionary are
"*DifferentialIncrement*", "*CenteredFiniteDifference*" (similar to the one
.. index:: single: setObservationOperator
-**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, Parameters, Script, Stored*)
+**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, AppliedInXb, Parameters, Script, Stored*)
Cette commande permet de définir l'opérateur d'observation :math:`H`, qui
transforme les paramètres d'entrée :math:`\mathbf{x}` en résultats
:math:`\mathbf{y}` qui sont à comparer aux observations
"*OneFunction*" ou "*ThreeFunctions*". Dans le cas d'une définition par
"*Script*", l'opérateur est de type "*Matrix*", "*OneFunction*" ou
"*ThreeFunctions*" selon que l'une de ces variables est placée à "*True*".
- Les paramètres de contrôle de l'approximation numérique de l'opérateur
- adjoint, dans le cas "*OneFunction*", peuvent être renseignés par un
- dictionnaire dans "*Parameters*". Les entrées potentielles de ce
- dictionnaire de paramètres sont "*DifferentialIncrement*",
+ Dans le cas où l'opérateur :math:`H` évalué en :math:`\mathbf{x}^b` est
+ disponible, il peut être donné en utilisant "*AppliedInXb*" et sera
+ considéré comme un vecteur. Les paramètres de contrôle de l'approximation
+ numérique de l'opérateur adjoint, dans le cas "*OneFunction*", peuvent être
+ renseignés par un dictionnaire dans "*Parameters*". Les entrées potentielles
+ de ce dictionnaire de paramètres sont "*DifferentialIncrement*",
"*CenteredFiniteDifference*", "*EnableMultiProcessing*",
"*NumberOfProcesses*" (similaires à celles de l'interface graphique).
String = None,
Template = None,
ThreeFunctions = None,
+ AppliedInXb = None,
Variable = None,
Vector = None,
VectorSerie = None):
DiagonalSparseMatrix,Script,Stored)
elif Concept == "ObservationOperator":
self.setObservationOperator(Matrix,OneFunction,ThreeFunctions,
- Parameters,Script,Stored)
+ AppliedInXb, Parameters,Script,Stored)
elif Concept == "AlgorithmParameters":
self.setAlgorithmParameters(Algorithm,Parameters,Script)
elif Concept == "Debug":
Matrix = None,
OneFunction = None,
ThreeFunctions = None,
+ AppliedInXb = None,
Parameters = None,
Script = None,
Stored = False):
__Function.update(__Parameters)
else:
__Function = None
+ if AppliedInXb is not None:
+ __appliedToX = {"HXb":AppliedInXb}
+ else:
+ __appliedToX = None
#
self.__adaoStudy.setObservationOperator(
asFunction = __Function,
asMatrix = __Matrix,
+ appliedToX = __appliedToX,
toBeStored = Stored,
)