full_newton Subroutine

public subroutine full_newton(fun, iters, X, ns, S, dS, dXdS, point, max_iters, F, df, dfds, tol)

Uses

  • proc~~full_newton~~UsesGraph proc~full_newton full_newton module~yaeos__auxiliar yaeos__auxiliar proc~full_newton->module~yaeos__auxiliar module~yaeos__math_linalg yaeos__math_linalg proc~full_newton->module~yaeos__math_linalg module~yaeos__constants yaeos__constants module~yaeos__auxiliar->module~yaeos__constants module~yaeos__math_linalg->module~yaeos__constants iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env

Subroutine to solve a point.

Procedure that solves a point with the Newton-Raphson method.

Arguments

Type IntentOptional Attributes Name
procedure(continuation_function) :: fun

Function to solve

integer, intent(out) :: iters

Number of iterations needed

real(kind=pr), intent(inout) :: X(:)

Variables vector

integer, intent(in) :: ns
real(kind=pr), intent(in) :: S
real(kind=pr), intent(in) :: dS
real(kind=pr), intent(in) :: dXdS(:)
integer, intent(in) :: point
integer, intent(in) :: max_iters

Maximum iterations

real(kind=pr), intent(out) :: F(:)

Function values at solved point

real(kind=pr), intent(out) :: df(:,:)

Jacobian values

real(kind=pr), intent(out) :: dfds(:)

dFdS

real(kind=pr), intent(in) :: tol

Calls

proc~~full_newton~~CallsGraph proc~full_newton full_newton proc~solve_system solve_system proc~full_newton->proc~solve_system none~dgesv dgesv proc~solve_system->none~dgesv

Called by

proc~~full_newton~~CalledByGraph proc~full_newton full_newton proc~continuation continuation proc~continuation->proc~full_newton proc~pt_envelope_2ph pt_envelope_2ph proc~pt_envelope_2ph->proc~continuation proc~px_envelope_2ph px_envelope_2ph proc~px_envelope_2ph->proc~continuation proc~tx_envelope_2ph tx_envelope_2ph proc~tx_envelope_2ph->proc~continuation proc~find_hpl find_hpl proc~find_hpl->proc~pt_envelope_2ph

Variables

Type Visibility Attributes Name Initial
real(kind=pr), public :: X0(size(X))
real(kind=pr), public :: dX(size(X))
real(kind=pr), public :: solve_tol