nonlin 1.5.2
A library that provides routines to compute the solutions to systems of nonlinear equations.
Loading...
Searching...
No Matches
nonlin_solve Module Reference

nonlin_solve More...

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.
 

Detailed Description

nonlin_solve

Purpose
To provide various routines capapble of solving systems of nonlinear equations.

Function/Subroutine Documentation

◆ test_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.

Parameters
[in]xThe current solution estimate.
[in]xoThe previous solution estimate.
[in]fThe current residual based upon x.
[in]gThe current estimate of the gradient vector at x.
[in]lgSet to true if the gradient slope check should be performed; else, false.
[in]xtolThe tolerance on the change in variable.
[in]ftolThe tolerance on the residual.
[in]gtolThe tolerance on the slope of the gradient.
[out]cTrue if the solution converged on either the residual or change in variable.
[out]cxTrue if convergence occurred due to change in variable.
[out]cfTrue if convergence occurred due to residual.
[out]cgTrue if convergence occured due to slope of the gradient.
[out]xnormThe largest magnitude component of the scaled change in variable vector.
[out]fnormThe largest magnitude residual component

Definition at line 629 of file nonlin_solve.f90.