|  | 
template<matrix_order RO, matrix_style RS, typename T , matrix_order PO, matrix_style PS, typename FUNCTOR >  
Calculate the Hessian of a function using a central difference formula.  This function numerically calculates the Hessian of a vector-valued function using a central difference formula. Parameters:
  
    | fun | The function to calculate the Hessian of. This function should take a Matrix (vector) of type T and return a single value of type T. |  | theta | The column vector of parameter values at which to calculate the Hessian. | 
 See also:gradfdif(FUNCTOR fun, const Matrix<T,PO,PS>& theta) 
gradfdifls(FUNCTOR fun, T alpha, const Matrix<T,PO1,PS1>& theta, const Matrix<T,PO2,PS2>& p) 
jacfdif(FUNCTOR fun, const Matrix<T,PO,PS>& theta)
 Exceptions:
  
  
 Note:Users will typically wish to implement fun in terms of a functor. Using a functor provides a generic way in which to evaluate functions with more than one parameter. Furthermore, although one can pass a function pointer to this routine, the compiler cannot inline and fully optimize code referenced by function pointers. 
 References scythe::Matrix_base< ORDER, STYLE >::isColVector(), scythe::Matrix_base< ORDER, STYLE >::rows(), SCYTHE_CHECK_10, and sqrt(). Referenced by BFGS(). |