ARTS
2.4.0(git:4fb77825)
|
Interface to ARTS inversion_iterate_agenda. More...
#include <oem.h>
Public Member Functions | |
AgendaWrapper (Workspace *ws, unsigned int measurement_space_dimension, unsigned int state_space_dimension, ::Matrix &arts_jacobian, ::Vector &arts_y, const Agenda *inversion_iterate_agenda) | |
Create inversion_iterate_agendaExecute wrapper. More... | |
ArtsVector | get_measurement_vector () |
Return most recently simulated measurement vector. More... | |
AgendaWrapper (const AgendaWrapper &)=delete | |
AgendaWrapper (AgendaWrapper &&)=delete | |
AgendaWrapper & | operator= (const AgendaWrapper &)=delete |
AgendaWrapper & | operator= (AgendaWrapper &&)=delete |
MatrixReference | Jacobian (const Vector &xi, Vector &yi) |
Evaluate forward model and compute Jacobian. More... | |
Vector | evaluate (const Vector &xi) |
Evaluate the ARTS forward model. More... | |
Public Attributes | |
const unsigned int | m = 0 |
Dimension of the measurement space. More... | |
const unsigned int | n = 0 |
Dimension of the state space. More... | |
Private Attributes | |
const Agenda * | inversion_iterate_agenda_ |
Pointer to the inversion_iterate_agenda of the workspace. More... | |
unsigned int | iteration_counter_ |
MatrixReference | jacobian_ |
Reference to the jacobian WSV. More... | |
bool | reuse_jacobian_ |
Flag whether to reuse Jacobian from previous calculation. More... | |
Workspace * | ws_ |
Pointer to current ARTS workspace. More... | |
Vector | yi_ |
Cached simulation result. More... | |
Interface to ARTS inversion_iterate_agenda.
This wrapper class implements the invlib-to-ARTS interface to the inversion_iterate_agendaExecute function, which implements the forward model used in the invlib iteration.
|
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.
[in] | ws | Pointer to the current ARTS workspace. |
[in] | measurment_space_dimension | Dimension of the measurement space |
[in] | arts_jacobian | Reference to the jacobian WSV of the workspace. |
[in] | arts_y | Reference to the arts y WSV. |
[in] | inversion_iterate_agenda | Pointer to the x argument of the agenda execution function. |
|
delete |
|
delete |
Evaluate the ARTS forward model.
Call the ARTS forward model defined by inversion_iterate_agenda and return resulting observation vector.
[in] | xi | The current state vector of the OEM iteration. |
Definition at line 543 of file oem.h.
References inversion_iterate_agenda_, inversion_iterate_agendaExecute(), iteration_counter_, reuse_jacobian_, ws_, and yi_.
|
inline |
|
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 521 of file oem.h.
References inversion_iterate_agenda_, inversion_iterate_agendaExecute(), iteration_counter_, jacobian_, reuse_jacobian_, ws_, and yi_.
|
delete |
|
delete |
|
private |
Pointer to the inversion_iterate_agenda of the workspace.
Definition at line 561 of file oem.h.
Referenced by evaluate(), and Jacobian().
|
private |
Definition at line 562 of file oem.h.
Referenced by evaluate(), and Jacobian().
|
private |
const unsigned int oem::AgendaWrapper::m = 0 |
const unsigned int oem::AgendaWrapper::n = 0 |
|
private |
Flag whether to reuse Jacobian from previous calculation.
Definition at line 566 of file oem.h.
Referenced by evaluate(), and Jacobian().
|
private |
Pointer to current ARTS workspace.
Definition at line 568 of file oem.h.
Referenced by evaluate(), and Jacobian().
|
private |
Cached simulation result.
Definition at line 570 of file oem.h.
Referenced by evaluate(), get_measurement_vector(), and Jacobian().