nonlin 1.5.2
A library that provides routines to compute the solutions to systems of nonlinear equations.
|
Data Types | |
type | brent_solver |
Defines a solver based upon Brent's method for solving an equation of one variable without using derivatives. More... | |
type | line_search_solver |
A class describing nonlinear solvers that use a line search algorithm to improve convergence behavior. More... | |
type | newton_1var_solver |
Defines a solver based upon Newtons's method for solving an equation of one variable. The algorithm uses a bisection method in conjunction with Newton's method in order to keep bounds upon the Newton iterations. More... | |
type | newton_solver |
Defines a Newton solver. More... | |
type | quasi_newton_solver |
Defines a quasi-Newton type solver based upon Broyden's method. More... | |
Functions/Subroutines | |
subroutine, public | test_convergence (x, xo, f, g, lg, xtol, ftol, gtol, c, cx, cf, cg, xnorm, fnorm) |
Tests for convergence. | |
subroutine, public nonlin_solve::test_convergence | ( | real(real64), dimension(:), intent(in) | x, |
real(real64), dimension(:), intent(in) | xo, | ||
real(real64), dimension(:), intent(in) | f, | ||
real(real64), dimension(:), intent(in) | g, | ||
logical, intent(in) | lg, | ||
real(real64), intent(in) | xtol, | ||
real(real64), intent(in) | ftol, | ||
real(real64), intent(in) | gtol, | ||
logical, intent(out) | c, | ||
logical, intent(out) | cx, | ||
logical, intent(out) | cf, | ||
logical, intent(out) | cg, | ||
real(real64), intent(out) | xnorm, | ||
real(real64), intent(out) | fnorm ) |
Tests for convergence.
[in] | x | The current solution estimate. |
[in] | xo | The previous solution estimate. |
[in] | f | The current residual based upon x . |
[in] | g | The current estimate of the gradient vector at x . |
[in] | lg | Set to true if the gradient slope check should be performed; else, false. |
[in] | xtol | The tolerance on the change in variable. |
[in] | ftol | The tolerance on the residual. |
[in] | gtol | The tolerance on the slope of the gradient. |
[out] | c | True if the solution converged on either the residual or change in variable. |
[out] | cx | True if convergence occurred due to change in variable. |
[out] | cf | True if convergence occurred due to residual. |
[out] | cg | True if convergence occured due to slope of the gradient. |
[out] | xnorm | The largest magnitude component of the scaled change in variable vector. |
[out] | fnorm | The largest magnitude residual component |
Definition at line 629 of file nonlin_solve.f90.