ARTS
2.3.1285(git:92a29ea9-dirty)
|
Wrapper class for forward model. More...
#include <agenda_wrapper.h>
Public Member Functions | |
AgendaWrapper (Workspace *ws_, unsigned int m_, unsigned int n_, Matrix &jacobian_, Vector &yi_, const Agenda *inversion_iterate_agenda_) | |
Create inversion_iterate_agendaExecute wrapper. More... | |
AgendaWrapper (const AgendaWrapper &)=delete | |
AgendaWrapper (AgendaWrapper &&)=delete | |
AgendaWrapper & | operator= (const AgendaWrapper &)=delete |
AgendaWrapper & | operator= (AgendaWrapper &&)=delete |
OEMMatrixReference | Jacobian (const OEMVector &xi, OEMVector &yi_) |
Evaluate forward model and compute Jacobian. More... | |
OEMVector | evaluate (const OEMVector &xi) |
Evaluate forward model. More... | |
Public Attributes | |
const unsigned int | m |
const unsigned int | n |
OEMMatrixReference | jacobian |
OEMVector | yi |
Private Attributes | |
Workspace * | ws |
const Agenda * | inversion_iterate_agenda |
bool | reuse_jacobian |
unsigned int | iteration_counter |
Wrapper class for forward model.
Wrapper class for the inversion_iterate_agendaExecute function to implement the forward model interface used by the non-linear oem function in oem.cc. The object is constructed with the pointers to the variables used as arguments for the function and then simply forwards the calls made to ForwardModel::evaluate() and ForwardModel::evaluate_jacobian() to inversion_iterate_agendaExecute.
Definition at line 24 of file agenda_wrapper.h.
|
inline |
Create inversion_iterate_agendaExecute wrapper.
Initializes the wrapper object for the inversion_iterate_agendaExecute method. The object forwards the evaluate() and evaluate_jacobian() calls made by the iterative OEM methods to inversion_iterate_agendaExecute using the arguments provided to the constructor.
ws_ | Pointer to the workspace argument of the agenda execution function. function. |
inversion_iterate_agenda_ | Pointer to the x argument of the agenda execution function. |
Definition at line 45 of file agenda_wrapper.h.
References operator=().
|
delete |
|
delete |
|
inline |
Evaluate forward model.
Forwards the call to evaluate that is made by Gauss-Newton and Levenberg-Marquardt OEM methods to the function pointers provided.
[out] | y | The measurement vector y = K(x) for the current state vector x. |
[in] | x | The current state vector x. |
Definition at line 105 of file agenda_wrapper.h.
References inversion_iterate_agenda, inversion_iterate_agendaExecute(), iteration_counter, reuse_jacobian, ws, and yi.
|
inline |
Evaluate forward model and compute Jacobian.
Forwards the call to evaluate_jacobian() and evaluate() that is made by Gauss-Newton and Levenberg-Marquardt OEM methods using the variables pointed to by the pointers provided to the constructor as arguments.
[out] | y | The measurement vector y = K(x) for the current state vector x as computed by the forward model. |
[out] | J | The Jacobian Ki=d/dx(K(x)) of the forward model. |
[in] | x | The current state vector x. |
Definition at line 79 of file agenda_wrapper.h.
References inversion_iterate_agenda, inversion_iterate_agendaExecute(), iteration_counter, jacobian, reuse_jacobian, ws, and yi.
|
delete |
Referenced by AgendaWrapper().
|
delete |
|
private |
Definition at line 122 of file agenda_wrapper.h.
Referenced by evaluate(), and Jacobian().
|
private |
Definition at line 124 of file agenda_wrapper.h.
Referenced by evaluate(), and Jacobian().
OEMMatrixReference AgendaWrapper::jacobian |
Definition at line 29 of file agenda_wrapper.h.
Referenced by Jacobian().
const unsigned int AgendaWrapper::m |
Definition at line 28 of file agenda_wrapper.h.
const unsigned int AgendaWrapper::n |
Definition at line 28 of file agenda_wrapper.h.
|
private |
Definition at line 123 of file agenda_wrapper.h.
Referenced by evaluate(), and Jacobian().
|
private |
Definition at line 121 of file agenda_wrapper.h.
Referenced by evaluate(), and Jacobian().
OEMVector AgendaWrapper::yi |
Definition at line 30 of file agenda_wrapper.h.
Referenced by evaluate(), and Jacobian().