ReFRACtor
auto_derivative.h File Reference
#include "fp_exception.h"
#include "printable.h"
#include <cmath>
#include <boost/operators.hpp>
#include <boost/foreach.hpp>
#include <blitz/array.h>
+ Include dependency graph for auto_derivative.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FullPhysics::AutoDerivative< T >
 There are a number of tools that can be used to do "Automatic Differentiation" (see for example http://www.autodiff.org/?module=Tools). More...
 
class  FullPhysics::AutoDerivative< T >
 There are a number of tools that can be used to do "Automatic Differentiation" (see for example http://www.autodiff.org/?module=Tools). More...
 
class  FullPhysics::AutoDerivativeRef< T >
 Helper class that gives us a reference that we can assign a AutoDerivative to and write into the correct space in a ArrayAd. More...
 

Namespaces

 blitz
 Apply value function to a blitz array.
 
 FullPhysics
 Contains classes to abstract away details in various Spurr Radiative Transfer software.
 

Functions

FullPhysics::AutoDerivative< double > std::acos (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::asin (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::atan (const FullPhysics::AutoDerivative< double > &x)
 
blitz::Array< AutoDerivative< double >, 1 > FullPhysics::auto_derivative (const blitz::Array< double, 1 > &Val, const blitz::Array< double, 2 > &Jac)
 Utility routine to take value and Jacobian separately and create a blitz::Array<AutoDerivative<double>, 1> More...
 
blitz::Array< AutoDerivative< double >, 1 > FullPhysics::auto_derivative (const blitz::Array< double, 1 > &Val, int i_th, int nvars)
 
blitz::Array< AutoDerivative< double >, 2 > FullPhysics::auto_derivative (const blitz::Array< double, 2 > &Val, const blitz::Array< double, 3 > &Jac)
 
blitz::Array< AutoDerivative< double >, 3 > FullPhysics::auto_derivative (const blitz::Array< double, 3 > &Val, const blitz::Array< double, 4 > &Jac)
 
FullPhysics::AutoDerivative< double > blitz::auto_derivative (double Ad)
 
 blitz::BZ_DECLARE_FUNCTION_RET (value, double)
 
 blitz::BZ_DECLARE_FUNCTION_RET (auto_derivative, FullPhysics::AutoDerivative< double >)
 
FullPhysics::AutoDerivative< double > std::cos (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::exp (const FullPhysics::AutoDerivative< double > &x)
 
template<class T >
blitz::Array< T, 2 > FullPhysics::jacobian (const blitz::Array< AutoDerivative< T >, 1 > &Ad)
 Utility function to extract the Jacobian as a separate matrix from an array of AutoDerivative. More...
 
template<class T >
blitz::Array< T, 3 > FullPhysics::jacobian (const blitz::Array< AutoDerivative< T >, 2 > &Ad)
 
template<class T >
blitz::Array< T, 4 > FullPhysics::jacobian (const blitz::Array< AutoDerivative< T >, 3 > &Ad)
 
template<class T >
blitz::Array< T, 5 > FullPhysics::jacobian (const blitz::Array< AutoDerivative< T >, 4 > &Ad)
 
FullPhysics::AutoDerivative< double > std::log (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::log10 (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::pow (const FullPhysics::AutoDerivative< double > &x, const double y)
 
FullPhysics::AutoDerivative< double > std::pow (const double x, const FullPhysics::AutoDerivative< double > &y)
 
FullPhysics::AutoDerivative< double > blitz::pow2 (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::sin (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::sqrt (const FullPhysics::AutoDerivative< double > &x)
 
FullPhysics::AutoDerivative< double > std::tan (const FullPhysics::AutoDerivative< double > &x)
 
double blitz::value (const FullPhysics::AutoDerivative< double > &Ad)
 

Function Documentation

◆ acos()

FullPhysics::AutoDerivative< double > std::acos ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 710 of file auto_derivative.h.

◆ asin()

FullPhysics::AutoDerivative< double > std::asin ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 682 of file auto_derivative.h.

◆ atan()

FullPhysics::AutoDerivative< double > std::atan ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 738 of file auto_derivative.h.

◆ cos()

FullPhysics::AutoDerivative< double > std::cos ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 699 of file auto_derivative.h.

◆ exp()

FullPhysics::AutoDerivative< double > std::exp ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 661 of file auto_derivative.h.

◆ log()

FullPhysics::AutoDerivative< double > std::log ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 641 of file auto_derivative.h.

◆ log10()

FullPhysics::AutoDerivative< double > std::log10 ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 651 of file auto_derivative.h.

◆ pow() [1/2]

FullPhysics::AutoDerivative< double > std::pow ( const FullPhysics::AutoDerivative< double > &  x,
const double  y 
)
inline

Definition at line 749 of file auto_derivative.h.

◆ pow() [2/2]

FullPhysics::AutoDerivative< double > std::pow ( const double  x,
const FullPhysics::AutoDerivative< double > &  y 
)
inline

Definition at line 760 of file auto_derivative.h.

◆ sin()

FullPhysics::AutoDerivative< double > std::sin ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 671 of file auto_derivative.h.

◆ sqrt()

FullPhysics::AutoDerivative< double > std::sqrt ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 631 of file auto_derivative.h.

◆ tan()

FullPhysics::AutoDerivative< double > std::tan ( const FullPhysics::AutoDerivative< double > &  x)
inline

Definition at line 727 of file auto_derivative.h.


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