1 #ifndef NLLS_PROBLEM_SCALEDH 2 #define NLLS_PROBLEM_SCALEDH 4 #include <boost/shared_ptr.hpp> 33 virtual blitz::Array<double, 1>
residual();
42 virtual blitz::Array<double, 2>
jacobian();
46 {
return P->residual_size(); }
54 {
return P->expected_parameter_size(); }
70 virtual blitz::Array<double, 1>
scale_parameters(
const blitz::Array<double, 1>& x)
const;
79 virtual blitz::Array<double, 1>
unscale_parameters(
const blitz::Array<double, 1>& x)
const;
88 virtual void parameters(
const blitz::Array<double, 1>& x);
112 virtual void print(std::ostream& Os)
const 113 { Os <<
"NLLSProblemScaled"; }
117 blitz::Array<double, 1>
S;
virtual blitz::Array< double, 1 > residual()
Return the residual of the scaled NLLS problem at the current set point.
virtual int expected_parameter_size() const
Return the size of the parameter X.
const Unit s("s", 1.0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0)
virtual void print(std::ostream &Os) const
Print description of object.
NLLSProblemScaled(const blitz::Array< double, 1 > &s, const boost::shared_ptr< NLLSProblem > &p)
Default Constructor.
virtual blitz::Array< double, 2 > jacobian()
Return the Jacobian of the residual of the scaled NLLS problem at the current set point...
virtual blitz::Array< double, 1 > parameters() const
Returns the current parameters.
virtual int residual_size() const
The size of the residual returned by residual()
virtual blitz::Array< double, 1 > parameters() const
Just returns the current values of parameters.
The base class for the Non-Linear Least Squares problem.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
boost::shared_ptr< NLLSProblem > nlls_problem()
virtual ~NLLSProblemScaled()
virtual blitz::Array< double, 1 > scale_parameters(const blitz::Array< double, 1 > &x) const
If x is the input to the NLLS problem that this class is trying to scale, then this method scales the...
boost::shared_ptr< NLLSProblem > P
virtual blitz::Array< double, 1 > unscale_parameters(const blitz::Array< double, 1 > &x) const
The input is correctly scaled to be used as input to this scaled NLLS problem.
blitz::Array< double, 1 > S