ReFRACtor
cost_function.h
Go to the documentation of this file.
1 #ifndef COST_FUNCTION_H
2 #define COST_FUNCTION_H
3 #include "printable.h"
4 #include <blitz/array.h>
5 
6 namespace FullPhysics {
7 /****************************************************************/
10 class CostFunction : public Printable<CostFunction> {
11 public:
12  virtual ~CostFunction() {}
13 
14 //-----------------------------------------------------------------------
26 //-----------------------------------------------------------------------
27 
28  virtual void cost_function(const blitz::Array<double, 1>& X,
29  blitz::Array<double, 1>& Residual,
30  blitz::Array<double, 1>& Se,
31  blitz::Array<double, 2>& Jacobian) const = 0;
32 
33 //-----------------------------------------------------------------------
35 //-----------------------------------------------------------------------
36 
37  virtual void print(std::ostream& Os) const {Os << "CostFunction";}
38 };
39 }
40 #endif
This is a Mixin for classes that can be printed.
Definition: printable.h:24
virtual void print(std::ostream &Os) const
Print description of object.
Definition: cost_function.h:37
This class calculates a cost function, along with a jacobian.
Definition: cost_function.h:10
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual void cost_function(const blitz::Array< double, 1 > &X, blitz::Array< double, 1 > &Residual, blitz::Array< double, 1 > &Se, blitz::Array< double, 2 > &Jacobian) const =0
For the given value of X, calculate the residuals and jacobians.

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