template<matrix_order RO, matrix_style RS, typename T , matrix_order PO, matrix_style PS, typename FUNCTOR >
Matrix<T,RO,RS> scythe::nls_broyden |
( |
FUNCTOR |
fun, |
|
|
const Matrix< T, PO, PS > & |
theta, |
|
|
unsigned int |
maxit = 5000 , |
|
|
T |
tolerance = 1e-6 |
|
) |
| |
Solve a system of nonlinear equations.
Solves a system of n nonlinear equations in n unknowns of the form for .
- Parameters:
-
fun | The function to solve. The function should both take and return a Matrix of type T. |
theta | A column vector of parameter values at which to start the solve procedure. |
maxit | The maximum number of iterations. |
tolerance | The convergence tolerance. |
- 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 fabs(), scythe::Matrix_base< ORDER, STYLE >::isColVector(), jacfdif(), lu_solve(), max(), SCYTHE_CHECK_10, and t().