ReFRACtor
fm_nlls_problem.h
Go to the documentation of this file.
1 #ifndef FM_NLLS_PROBLEM
2 #define FM_NLLS_PROBLEM
3 #include <nlls_problem.h>
4 #include "state_vector.h"
5 #include "forward_model.h"
6 #include <boost/shared_ptr.hpp>
7 
8 namespace FullPhysics {
9 /****************************************************************/
13 class FmNLLSProblem : public NLLSProblem {
14 public:
17  const blitz::Array<double, 1>& Rad,
18  const blitz::Array<double, 1>& Rad_uncer,
19  const blitz::Array<double, 1> X_apriori,
20  const blitz::Array<double, 2> Apriori_cov);
21  virtual ~FmNLLSProblem() {}
22  virtual int residual_size() const { return rad.rows() + x_a.rows(); }
23  virtual int expected_parameter_size() const { return x_a.rows(); }
24  virtual blitz::Array<double, 1> residual();
25  virtual blitz::Array<double, 2> jacobian();
26  virtual void print(std::ostream& Os) const
27  { Os << "FmNLLSProblem"; }
28 private:
31  blitz::Array<double, 1> rad;
32  blitz::Array<double, 1> x_a;
33  blitz::Array<double, 1> se_sqrt_inv;
34  blitz::Array<double, 2> sa_sqrt_inv;
35 };
36 }
37 
38 #endif
virtual void print(std::ostream &Os) const
Prints description of object.
FmNLLSProblem(const boost::shared_ptr< ForwardModel > &Fm, const boost::shared_ptr< StateVector > &Sv, const blitz::Array< double, 1 > &Rad, const blitz::Array< double, 1 > &Rad_uncer, const blitz::Array< double, 1 > X_apriori, const blitz::Array< double, 2 > Apriori_cov)
Constructor.
virtual int expected_parameter_size() const
Returns the expected size of the parameters.
virtual int residual_size() const
The size of the residual returned by residual()
This is the forward model cost function, rewritten to match the standard format used in nonlinear lea...
The base class for the Non-Linear Least Squares problem.
Definition: nlls_problem.h:54
virtual blitz::Array< double, 2 > jacobian()
The Jacobian matrix function.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual blitz::Array< double, 1 > residual()
The residual vector function.

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:08