nonlin 1.5.2
A library that provides routines to compute the solutions to systems of nonlinear equations.
|
Defines a type capable of encapsulating an equation of N variables. More...
Public Member Functions | |
procedure, public | fcn fnh_fcn |
Executes the routine containing the function to evaluate. | |
procedure, public | is_fcn_defined fnh_is_fcn_defined |
Tests if the pointer to the function has been assigned. | |
procedure, public | set_fcn fnh_set_fcn |
Establishes a pointer to the routine containing the function. | |
procedure, public | get_variable_count fnh_get_nvar |
Gets the number of variables in this system. | |
procedure, public | set_gradient_fcn fnh_set_grad |
Establishes a pointer to the routine containing the gradient vector of the function. | |
procedure, public | is_gradient_defined fnh_is_grad_defined |
Tests if the pointer to the routine containing the gradient has been assigned. | |
procedure, public | gradient fnh_grad_fcn |
Computes the gradient of the function. | |
Public Attributes | |
integer(int32) | m_nvar = 0 |
The number of variables in m_fcn. | |
Static Public Attributes | |
procedure(gradientfcn), pointer, nopass | m_grad => null() |
A pointer to the gradient routine. | |
Static Private Attributes | |
procedure(fcnnvar), pointer, nopass | m_fcn => null() |
A pointer to the target fcnnvar routine. | |
Defines a type capable of encapsulating an equation of N variables.
Definition at line 896 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::fcn |
Executes the routine containing the function to evaluate.
[in] | this | The fcnnvar_helper object. |
[in] | x | The value of the independent variable at which the function should be evaluated. |
x
. Definition at line 916 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::get_variable_count |
Gets the number of variables in this system.
[in] | this | The fcnnvar_helper object. |
Definition at line 993 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::gradient |
Computes the gradient of the function.
[in] | this | The fcnnvar_helper object. |
[in,out] | x | An N-element array containing the independent variables defining the point about which the derivatives will be calculated. This array is restored upon output. |
[out] | g | An N-element array where the gradient will be written upon output. |
[in] | fv | An optional input providing the function value at x . |
[out] | err | An optional integer output that can be used to determine error status. If not used, and an error is encountered, the routine simply returns silently. If used, the following error codes identify error status:
|
Definition at line 1104 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::is_fcn_defined |
Tests if the pointer to the function has been assigned.
[in] | this | The fcnnvar_helper object. |
Definition at line 926 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::is_gradient_defined |
Tests if the pointer to the routine containing the gradient has been assigned.
[in] | this | The fcnnvar_helper object. |
Definition at line 1081 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::set_fcn |
Establishes a pointer to the routine containing the function.
[in,out] | this | The fcnnvar_helper object. |
[in] | fcn | The function pointer. |
[in] | nvar | The number of variables in the function. |
Definition at line 983 of file nonlin_core.f90.
procedure, public nonlin_core::fcnnvar_helper::set_gradient_fcn |
Establishes a pointer to the routine containing the gradient vector of the function.
[in,out] | this | The fcnnvar_helper object. |
[in] | fcn | The pointer to the gradient routine. |
Definition at line 1070 of file nonlin_core.f90.
|
staticprivate |
A pointer to the target fcnnvar routine.
Definition at line 899 of file nonlin_core.f90.
|
static |
A pointer to the gradient routine.
Definition at line 901 of file nonlin_core.f90.
integer(int32) nonlin_core::fcnnvar_helper::m_nvar = 0 |
The number of variables in m_fcn.
Definition at line 903 of file nonlin_core.f90.