|  | 
template<typename T , matrix_order PO1, matrix_style PS1, matrix_order PO2, matrix_style PS2, typename FUNCTOR >  
        
          | T scythe::linesearch1 | ( | FUNCTOR | fun, |  
          |  |  | const Matrix< T, PO1, PS1 > & | theta, |  
          |  |  | const Matrix< T, PO2, PS2 > & | p |  
          |  | ) |  |  |  
Find the step length that minimizes an implied 1-dimensional function.  This function performs a line search to find the step length that approximately minimizes an implied one dimensional function. Parameters:
  
    | fun | The function to minimize. This function should take one Matrix (vector) argument of type T and return a single value of type T. |  | theta | A column vector of parameter values that anchor the 1-dimensional function. |  | p | A direction vector that creates the 1-dimensional function. | 
 See also:linesearch2(FUNCTOR fun, const Matrix<T,PO1,PS1>& theta, const Matrix<T,PO2,PS2>& p, rng<RNGTYPE>& runif) 
zoom(FUNCTOR fun, T alpha_lo, T alpha_hi, const Matrix<T,PO1,PS1>& theta, const Matrix<T,PO2,PS2>& p) 
BFGS(FUNCTOR fun, const Matrix<T,PO,PS>& theta, rng<RNGTYPE>& runif, unsigned int maxit, T tolerance, bool trace = false)
 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 gradfdif(), scythe::Matrix_base< ORDER, STYLE >::isColVector(), SCYTHE_CHECK_10, and t(). |