12 const Array<double, 1>,
13 const Array<double, 2> >())
22 const Array<double, 1> a_priori_params,
23 const Array<double, 2> a_priori_cov)
25 observation->radiance_all().spectral_range().data(),
26 Array<double, 1>(
sqr(observation->radiance_all().spectral_range().uncertainty()))),
30 if(
Xa.rows() !=
sv->observer_claimed_size())
31 throw Exception(
"A priori state vector size and state vector size expected by the model are not equal. :( ");
44 Array<bool, 1> used(
sv->used_flag());
45 if(used.rows() !=
Sa_chol.rows())
46 throw Exception(
"Size of a-priori cov. matrix and the number of the elements of used-flag inconsistent! :( ");
50 for(
int i=0; i<used.rows(); i++)
56 for(
int i=0; i<used.rows(); i++)
boost::shared_ptr< StateVector > sv
blitz::Array< double, 2 > Sa_chol_inv
virtual void vanishing_params_update()
This is the base of the exception hierarchy for Full Physics code.
blitz::Array< double, 2 > cholesky_decomposition(const blitz::Array< double, 2 > &A)
This calculates the Cholesky Decompostion of A so that A = L L^T.
MaxAPosterioriStandard(const boost::shared_ptr< ForwardModel > &fm, const boost::shared_ptr< Observation > &observation, const boost::shared_ptr< StateVector > &state_vector, const blitz::Array< double, 1 > a_priori_params, const blitz::Array< double, 2 > a_priori_cov)
Constructor.
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
blitz::Array< double, 2 > Sa
Apply value function to a blitz array.
blitz::Array< double, 1 > Xa
virtual void vanishing_params_update()
The base class for models and measurements.
The base class for maximum a posteriori estimation.
blitz::Array< double, 2 > generalized_inverse(const blitz::Array< double, 2 > &A, double Rcond=std::numeric_limits< double >::epsilon())
This returns the generalized inverse of the given matrix.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
#define REGISTER_LUA_END()
blitz::Array< double, 2 > Sa_chol