OpenNN::NumericalDifferentiation Class Reference

#include <numerical_differentiation.h>

List of all members.

Public Types

enum  NumericalDifferentiationMethod { ForwardDifferences, CentralDifferences }

Public Member Functions

 NumericalDifferentiation (void)
 NumericalDifferentiation (const NumericalDifferentiation &)
virtual ~NumericalDifferentiation (void)
NumericalDifferentiationoperator= (const NumericalDifferentiation &)
bool operator== (const NumericalDifferentiation &) const
const
NumericalDifferentiationMethod
get_numerical_differentiation_method (void) const
std::string write_numerical_differentiation_method (void) const
const unsigned int & get_precision_digits (void) const
const bool & get_display (void) const
void set (const NumericalDifferentiation &)
void set_numerical_differentiation_method (const NumericalDifferentiationMethod &)
void set_numerical_differentiation_method (const std::string &)
void set_precision_digits (const unsigned int &)
void set_display (const bool &)
void set_default (void)
double calculate_h (const double &) const
Vector< double > calculate_h (const Vector< double > &) const
TiXmlElement * to_XML (void) const
void from_XML (TiXmlElement *)
template<class T >
double calculate_forward_differences_derivative (const T &t, double(T::*f)(const double &) const, const double &x) const
template<class T >
double calculate_central_differences_derivative (const T &t, double(T::*f)(const double &) const , const double &x) const
template<class T >
double calculate_derivative (const T &t, double(T::*f)(const double &) const , const double &x) const
template<class T >
Vector< double > calculate_forward_differences_derivative (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_derivative (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_derivative (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_forward_differences_derivative (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_derivative (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_derivative (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
double calculate_forward_differences_second_derivative (const T &t, double(T::*f)(const double &) const, const double &x) const
template<class T >
double calculate_central_differences_second_derivative (const T &t, double(T::*f)(const double &) const , const double &x) const
template<class T >
double calculate_second_derivative (const T &t, double(T::*f)(const double &) const , const double &x) const
template<class T >
Vector< double > calculate_forward_differences_second_derivative (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_second_derivative (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_second_derivative (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_forward_differences_second_derivative (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_second_derivative (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_second_derivative (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_forward_differences_gradient (const T &t, double(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_gradient (const T &t, double(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_gradient (const T &t, double(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< double > calculate_forward_differences_gradient (const T &t, double(T::*f)(const Vector< double > &), const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_gradient (const T &t, double(T::*f)(const Vector< double > &), const Vector< double > &x) const
template<class T >
Vector< double > calculate_gradient (const T &t, double(T::*f)(const Vector< double > &), const Vector< double > &x) const
template<class T >
Vector< double > calculate_forward_differences_gradient (const T &t, double(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_gradient (const T &t, double(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_gradient (const T &t, double(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_forward_differences_gradient (const T &t, double(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_central_differences_gradient (const T &t, double(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< double > calculate_gradient (const T &t, double(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Hessian (const T &t, double(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Hessian (const T &t, double(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Hessian (const T &t, double(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Hessian (const T &t, double(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Hessian (const T &t, double(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Hessian (const T &t, double(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Hessian (const T &t, double(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Hessian (const T &t, double(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Hessian (const T &t, double(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Jacobian (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Jacobian (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Jacobian (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Jacobian (const T &t, Vector< double >(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Jacobian (const T &t, Vector< double >(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Jacobian (const T &t, Vector< double >(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &, const Vector< double > &) const, const unsigned int &dummy_int, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &, const Vector< double > &) const, const unsigned int &dummy_int, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &, const Vector< double > &) const, const unsigned int &dummy_int, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_forward_differences_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const unsigned int &, const Vector< double > &) const, const unsigned int &dummy_int_1, const unsigned int &dummy_int_2, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_central_differences_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const unsigned int &, const Vector< double > &) const, const unsigned int &dummy_int_1, const unsigned int &dummy_int_2, const Vector< double > &x) const
template<class T >
Matrix< double > calculate_Jacobian (const T &t, Vector< double >(T::*f)(const unsigned int &, const unsigned int &, const Vector< double > &) const, const unsigned int &dummy_int_1, const unsigned int &dummy_int_2, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_forward_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_central_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_Hessian_form (const T &t, Vector< double >(T::*f)(const Vector< double > &) const, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_forward_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_central_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_Hessian_form (const T &t, Vector< double >(T::*f)(const Vector< double > &, const Vector< double > &) const, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_forward_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_central_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_Hessian_form (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &) const, const unsigned int &dummy, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_forward_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &, const Vector< double > &) const, const unsigned int &dummy_int, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_central_differences_Hessian_form (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &, const Vector< double > &) const, const unsigned int &dummy_int, const Vector< double > &dummy_vector, const Vector< double > &x) const
template<class T >
Vector< Matrix< double > > calculate_Hessian_form (const T &t, Vector< double >(T::*f)(const unsigned int &, const Vector< double > &, const Vector< double > &) const, const unsigned int &dummy_int, const Vector< double > &dummy_vector, const Vector< double > &x) const


Detailed Description

This class contains methods for numerical differentiation of functions. In particular it implements the forward and central differences methods for derivatives, Jacobians, Hessians or Hessian forms.

Definition at line 35 of file numerical_differentiation.h.


Member Enumeration Documentation

Enumeration of available methods for numerical differentiation.

Definition at line 62 of file numerical_differentiation.h.


Constructor & Destructor Documentation

OpenNN::NumericalDifferentiation::NumericalDifferentiation ( void   )  [explicit]

Default constructor. It creates a numerical differentiation object with the default members.

Definition at line 37 of file numerical_differentiation.cpp.

OpenNN::NumericalDifferentiation::NumericalDifferentiation ( const NumericalDifferentiation other_numerical_differentiation  ) 

Copy constructor.

Definition at line 47 of file numerical_differentiation.cpp.

OpenNN::NumericalDifferentiation::~NumericalDifferentiation ( void   )  [virtual]

Destructor.

Definition at line 57 of file numerical_differentiation.cpp.


Member Function Documentation

NumericalDifferentiation & OpenNN::NumericalDifferentiation::operator= ( const NumericalDifferentiation other_numerical_differentiation  ) 

Assignment operator. This operator sets the members of this object with the members of another object.

Parameters:
other_numerical_differentiation Numerical differentiation object to be copied.

Definition at line 71 of file numerical_differentiation.cpp.

bool OpenNN::NumericalDifferentiation::operator== ( const NumericalDifferentiation other_numerical_differentiation  )  const

Equal to operator. This operator compares another object to this object. It returns true if both objects are equal and false otherwise.

Parameters:
other_numerical_differentiation Numerical differentiation object to be compared.

Definition at line 95 of file numerical_differentiation.cpp.

const NumericalDifferentiation::NumericalDifferentiationMethod & OpenNN::NumericalDifferentiation::get_numerical_differentiation_method ( void   )  const

This method returns the method used for numerical differentiation (forward differences or central differences).

Definition at line 116 of file numerical_differentiation.cpp.

std::string OpenNN::NumericalDifferentiation::write_numerical_differentiation_method ( void   )  const

This method returns a string with the name of the method to be used for numerical differentiation.

Definition at line 126 of file numerical_differentiation.cpp.

const unsigned int & OpenNN::NumericalDifferentiation::get_precision_digits ( void   )  const

This method returns the number of precision digits required for the derivatives.

Definition at line 161 of file numerical_differentiation.cpp.

const bool & OpenNN::NumericalDifferentiation::get_display ( void   )  const

This method returns the flag used by this class for displaying or not displaying warnings.

Definition at line 171 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::set ( const NumericalDifferentiation other_numerical_differentiation  ) 

This method sets the members of this object to be equal to those of another object.

Parameters:
other_numerical_differentiation Numerical differentiation object to be copied.

Definition at line 182 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::set_numerical_differentiation_method ( const NumericalDifferentiationMethod new_numerical_differentiation_method  ) 

This method sets the method to be used for numerical differentiation (forward differences or central differences).

Parameters:
new_numerical_differentiation_method New numerical differentiation method.

Definition at line 199 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::set_numerical_differentiation_method ( const std::string &  new_numerical_differentiation_method  ) 

This method sets the method to be used for the numerical differentiation. The argument is a string with the name of the numerical differentiation method.

Parameters:
new_numerical_differentiation_method Numerical differentiation method name string.

Definition at line 211 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::set_precision_digits ( const unsigned int &  new_precision_digits  ) 

This method sets a new number of precision digits required for the derivatives.

Parameters:
new_precision_digits Number of precision digits.

Definition at line 250 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::set_display ( const bool &  new_display  ) 

This method sets a new flag for displaying warnings from this class or not.

Parameters:
new_display Display flag.

Definition at line 239 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::set_default ( void   ) 

This method sets default values for the members of this object:

  • Numerical differentiation method: Central differences.
  • Precision digits: 6.
  • Display: true.

Definition at line 265 of file numerical_differentiation.cpp.

double OpenNN::NumericalDifferentiation::calculate_h ( const double &  x  )  const

This method calculates a proper step size for computing the derivatives, as a function of the inputs point value.

Parameters:
x Input value.

Definition at line 280 of file numerical_differentiation.cpp.

Vector< double > OpenNN::NumericalDifferentiation::calculate_h ( const Vector< double > &  x  )  const

This method calculates a vector of step sizes for computing the derivatives, as a function of a vector of inputs.

Parameters:
x Input vector.

Definition at line 293 of file numerical_differentiation.cpp.

TiXmlElement * OpenNN::NumericalDifferentiation::to_XML ( void   )  const

This method serializes this numerical differentiation object into a XML element.

Definition at line 314 of file numerical_differentiation.cpp.

void OpenNN::NumericalDifferentiation::from_XML ( TiXmlElement *  numerical_differentiation_element  ) 

This method deserializes the object from a XML element.

Parameters:
numerical_differentiation_element TinyXML element with the member data.

Definition at line 365 of file numerical_differentiation.cpp.

template<class T >
double OpenNN::NumericalDifferentiation::calculate_forward_differences_derivative ( const T &  t,
double(T::*)(const double &) const   f,
const double &  x 
) const [inline]

This method returns the derivative of a function using the forward differences method.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
x Differentiation point.

Definition at line 105 of file numerical_differentiation.h.

template<class T >
double OpenNN::NumericalDifferentiation::calculate_central_differences_derivative ( const T &  t,
double(T::*)(const double &) const   f,
const double &  x 
) const [inline]

This method returns the derivative of a function using the central differences method.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
x Differentiation point.

Definition at line 127 of file numerical_differentiation.h.

template<class T >
double OpenNN::NumericalDifferentiation::calculate_derivative ( const T &  t,
double(T::*)(const double &) const   f,
const double &  x 
) const [inline]

This method returns the derivative of a function acording to the numerical differentiation method to be used.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
x Differentiation point.

Definition at line 149 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_derivative ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the derivatives of a vector function using the forward differences method.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
x Input vector.

Definition at line 189 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_derivative ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the derivatives of a vector function using the central differences method.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 213 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_derivative ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the derivatives of a vector function acording to the numerical differentiation method to be used.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 240 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_derivative ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the derivatives of a vector function using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 282 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_derivative ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the derivatives of a vector function using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 308 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_derivative ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the derivatives of a vector function according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 335 of file numerical_differentiation.h.

template<class T >
double OpenNN::NumericalDifferentiation::calculate_forward_differences_second_derivative ( const T &  t,
double(T::*)(const double &) const   f,
const double &  x 
) const [inline]

This method returns the second derivative of a function using the forward differences method.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Differentiation point.

Definition at line 377 of file numerical_differentiation.h.

template<class T >
double OpenNN::NumericalDifferentiation::calculate_central_differences_second_derivative ( const T &  t,
double(T::*)(const double &) const   f,
const double &  x 
) const [inline]

This method returns the second derivative of a function using the central differences method.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Differentiation point.

Definition at line 403 of file numerical_differentiation.h.

template<class T >
double OpenNN::NumericalDifferentiation::calculate_second_derivative ( const T &  t,
double(T::*)(const double &) const   f,
const double &  x 
) const [inline]

This method returns the second derivative of a function acording to the numerical differentiation method to be used.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Differentiation point.

Definition at line 439 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_second_derivative ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the second derivative of a vector function using the forward differences method.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 478 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_second_derivative ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the second derivative of a vector function using the central differences method.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 502 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_second_derivative ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the second derivative of a vector function acording to the numerical differentiation method to be used.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 532 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_second_derivative ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the second derivatives of a vector function using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 573 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_second_derivative ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the second derivatives of a vector function using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 599 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_second_derivative ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the second derivatives of a vector function acording to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 631 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_gradient ( const T &  t,
double(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 673 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_gradient ( const T &  t,
double(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 711 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_gradient ( const T &  t,
double(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions acording to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 753 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_gradient ( const T &  t,
double(T::*)(const Vector< double > &)  f,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const Vector<double>&).

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 793 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_gradient ( const T &  t,
double(T::*)(const Vector< double > &)  f,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 831 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_gradient ( const T &  t,
double(T::*)(const Vector< double > &)  f,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions acording to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 873 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_gradient ( const T &  t,
double(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const Vector<double>&, const Vector<double>&) const. The first vector argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 915 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_gradient ( const T &  t,
double(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const Vector<double>&, const Vector<double>&) const. The first vector argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 955 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_gradient ( const T &  t,
double(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions acording to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const Vector<double>&, const Vector<double>&) const. The first vector argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 999 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_gradient ( const T &  t,
double(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is used for the function definition, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 1041 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_central_differences_gradient ( const T &  t,
double(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is used for the function definition, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 1081 of file numerical_differentiation.h.

template<class T >
Vector<double> OpenNN::NumericalDifferentiation::calculate_gradient ( const T &  t,
double(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the gradient of a function of several dimensions acording to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is used for the function definition, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 1125 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian ( const T &  t,
double(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 1168 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian ( const T &  t,
double(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 1242 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Hessian ( const T &  t,
double(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions acording to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 1352 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian ( const T &  t,
double(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const Vector<double>&, const Vector<double>&) const. The first vector argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 1394 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian ( const T &  t,
double(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const Vector<double>&, const Vector<double>&) const. The first vector argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 1470 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Hessian ( const T &  t,
double(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions according to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const Vector<double>&, const Vector<double>&) const. The first vector argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 1582 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian ( const T &  t,
double(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions using the forward differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 1624 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian ( const T &  t,
double(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions using the central differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 1700 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Hessian ( const T &  t,
double(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian matrix of a function of several dimensions according to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 1812 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 1854 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 1895 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Jacobian ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 1943 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&, const Vector<double>&) const.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
dummy Dummy vector for the method prototype.
x Input vector.

Definition at line 1984 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2026 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Jacobian ( const T &  t,
Vector< double >(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&, const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2075 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 2118 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 2161 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&) const. The first integer argument is dummy, differentiation is performed with respect to the second vector argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 2211 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &, const Vector< double > &) const   f,
const unsigned int &  dummy_int,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int,: Dummy integer for the method prototype.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2255 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &, const Vector< double > &) const   f,
const unsigned int &  dummy_int,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int,: Dummy integer for the method prototype.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2300 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &, const Vector< double > &) const   f,
const unsigned int &  dummy_int,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int,: Dummy integer for the method prototype.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2352 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_forward_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy_int_1,
const unsigned int &  dummy_int_2,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
dummy_int_1 Dummy integer for the method prototype.
dummy_int_2 Dummy integer for the method prototype.
x Input vector.

Definition at line 2397 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_central_differences_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy_int_1,
const unsigned int &  dummy_int_2,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int_1,: Dummy integer for the method prototype.
dummy_int_2,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 2442 of file numerical_differentiation.h.

template<class T >
Matrix<double> OpenNN::NumericalDifferentiation::calculate_Jacobian ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy_int_1,
const unsigned int &  dummy_int_2,
const Vector< double > &  x 
) const [inline]

This method returns the Jacobian matrix of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: double f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t Object constructor containing the member method to differentiate.
f Pointer to the member method.
dummy_int_1 Dummy integer for the method prototype.
dummy_int_2 Dummy integer for the method prototype.
x Input vector.

Definition at line 2494 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 2538 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 2620 of file numerical_differentiation.h.

template<class T >
Vector< Matrix<double> > OpenNN::NumericalDifferentiation::calculate_Hessian_form ( const T &  t,
Vector< double >(T::*)(const Vector< double > &) const   f,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const Vector<double>&) const.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
x,: Input vector.

Definition at line 2736 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2780 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2866 of file numerical_differentiation.h.

template<class T >
Vector< Matrix<double> > OpenNN::NumericalDifferentiation::calculate_Hessian_form ( const T &  t,
Vector< double >(T::*)(const Vector< double > &, const Vector< double > &) const   f,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 2986 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const. The first argument is dummy, differentiation is performed with respect to the second argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 3029 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const. The first argument is dummy, differentiation is performed with respect to the second argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 3113 of file numerical_differentiation.h.

template<class T >
Vector< Matrix<double> > OpenNN::NumericalDifferentiation::calculate_Hessian_form ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &) const   f,
const unsigned int &  dummy,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&) const. The first argument is dummy, differentiation is performed with respect to the second argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy,: Dummy integer for the method prototype.
x,: Input vector.

Definition at line 3231 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_forward_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &, const Vector< double > &) const   f,
const unsigned int &  dummy_int,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the forward differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int,: Dummy integer for the method prototype.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 3276 of file numerical_differentiation.h.

template<class T >
Vector< Matrix <double> > OpenNN::NumericalDifferentiation::calculate_central_differences_Hessian_form ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &, const Vector< double > &) const   f,
const unsigned int &  dummy_int,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs using the central differences method. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int,: Dummy integer for the method prototype.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 3363 of file numerical_differentiation.h.

template<class T >
Vector< Matrix<double> > OpenNN::NumericalDifferentiation::calculate_Hessian_form ( const T &  t,
Vector< double >(T::*)(const unsigned int &, const Vector< double > &, const Vector< double > &) const   f,
const unsigned int &  dummy_int,
const Vector< double > &  dummy_vector,
const Vector< double > &  x 
) const [inline]

This method returns the Hessian form, as a vector of matrices, of a function of many inputs and many outputs according to the numerical differentiation method to be used. The function to be differentiated is of the following form: Vector<double> f(const unsigned int&, const Vector<double>&, const Vector<double>&) const. The first and second arguments are dummy, differentiation is performed with respect to the third argument.

Parameters:
t : Object constructor containing the member method to differentiate.
f,: Pointer to the member method.
dummy_int,: Dummy integer for the method prototype.
dummy_vector,: Dummy vector for the method prototype.
x,: Input vector.

Definition at line 3484 of file numerical_differentiation.h.


The documentation for this class was generated from the following files:

Generated on Sun Aug 26 11:58:22 2012 for OpenNN by  doxygen 1.5.9