1 #ifndef MODEL_MEASURE_H 2 #define MODEL_MEASURE_H 128 virtual blitz::Array<double, 1>
model()
147 virtual blitz::Array<double, 1>
model_x(
const blitz::Array<double, 1>& x)
211 virtual blitz::Array<double, 2>
jacobian_x(
const blitz::Array<double, 1>& x)
252 blitz::Array<double, 1>&
m, blitz::Array<double, 2>& k)
273 blitz::Array<double, 1>&
m, blitz::Array<double, 2>& k)
295 {
return Se.copy(); }
357 {
return (
M.size() > 0); }
368 {
return (
K.size() > 0); }
375 virtual void print(std::ostream& Os)
const 376 { Os <<
"ModelMeasure"; }
513 blitz::Array<double, 1>
Se;
void set_measurement(const blitz::Array< double, 1 > &measurement, const blitz::Array< double, 1 > &measurement_error_cov)
For setting measurement and the error covariance matrix.
virtual blitz::Array< double, 1 > model_measure_diff()
Returns model and measurement difference (model - measurement)
virtual blitz::Array< double, 2 > uncert_weighted_jac_inner_product()
Returns the inner product of the matrix returned by the method uncert_weighted_jacobian() by itself...
ModelMeasure()
Default Constructor.
blitz::Array< double, 1 > Se
virtual void assert_jacobian_correct(const blitz::Array< double, 2 > &k) const
Conditions that must be satisfied when a derived class computes the Jacobian of the model...
bool jacobean_computed() const
A boolean function to check whether or not the Jacobean of the model is computed. ...
The state for a parametrized mathematical model (a vector function) and its Jacobian.
virtual blitz::Array< double, 1 > parameters() const
Returns the current parameters.
virtual blitz::Array< double, 1 > uncert_weighted_model_measure_diff()
Returns model and measurement difference weighted by the inverse of the Cholesky decomposition of the...
virtual blitz::Array< double, 1 > model()
Evaluates and returns the model at the currently set parameter values.
virtual blitz::Array< double, 2 > jacobian()
Evaluates and returns the Jacobian of the model at the currently set parameter values.
virtual blitz::Array< double, 2 > uncert_weighted_jacobian()
Returns the model Jacobian weighted by the inverse of the Cholesky decomposition of the error covaria...
virtual void model_eval()=0
Evaluates the model at the currently set parameter values.
virtual void model_jacobian(blitz::Array< double, 1 > &m, blitz::Array< double, 2 > &k)
Evaluates model and its Jacobian together.
virtual int measurement_size() const
Returns the size of the measurement data vector.
bool model_computed() const
A boolean function to check whether or not the model is computed.
The base class for models and measurements.
virtual blitz::Array< double, 2 > jacobian_x(const blitz::Array< double, 1 > &x)
The model Jacobian with parameters.
virtual blitz::Array< double, 1 > measurement_error_cov() const
Returns the measurement error covariance (implemented as a diagonal matrix).
virtual void model_jacobian_x(const blitz::Array< double, 1 > &x, blitz::Array< double, 1 > &m, blitz::Array< double, 2 > &k)
Model and its Jacobian with parameters.
virtual blitz::Array< double, 1 > measurement() const
Returns the measured data, to which the model is fit.
const Unit m("m", 1.0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
virtual void jacobian_eval()=0
Evaluates the Jacobian of the model at the currently set parameter values.
virtual void print(std::ostream &Os) const
Prints description of object.
blitz::Array< double, 1 > Se_chol
blitz::Array< double, 2 > K
blitz::Array< double, 1 > M
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual void assert_model_correct(const blitz::Array< double, 1 > &m) const
Conditions that must be satisfied when a derived class computes the model.
virtual void model_jacobian_eval()
Evaluates the model and its Jacobian at the currently set parameter values.
blitz::Array< double, 1 > msrmnt
virtual blitz::Array< double, 1 > model_x(const blitz::Array< double, 1 > &x)
The model function with parameters.
ModelMeasure(const blitz::Array< double, 1 > &measurement, const blitz::Array< double, 1 > &measurement_error_cov)
Constructor.