LM_nonlinear_fit Subroutine

private subroutine LM_nonlinear_fit(is, g, n_params, nJT, params, param_mask, iperp, npar, ipparbar_lower, quality)

Uses

  • proc~~lm_nonlinear_fit~~UsesGraph proc~lm_nonlinear_fit LM_nonlinear_fit module~alps_io alps_io proc~lm_nonlinear_fit->module~alps_io module~alps_var alps_var proc~lm_nonlinear_fit->module~alps_var mpi mpi proc~lm_nonlinear_fit->mpi module~alps_var->mpi

This subroutine processes the nonlinear Levenberg-Marquart algorithm and returns the one-dimensional array params at a given iperp. The variable quality is the sum of the squares of all residuals.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: is

Index of species for which LM_nonlinear_fit is executed.

double precision, intent(in) :: g(0:npar)

Array of function to be fitted.

integer, intent(in) :: n_params

Total number of fit parameters for a given species.

integer, intent(in) :: nJT

First dimension of matrix JT (see determine_JT).

double precision, intent(inout) :: params(n_params)

Array of fit parameters.

logical, intent(in) :: param_mask(n_params)

Bit mask for required fit parameters.

integer, intent(in) :: iperp

Index of perpendicular momentum.

integer, intent(in) :: npar

Number of steps in parallel momentum

integer, intent(in) :: ipparbar_lower

Lower index of parallel momentum (relativistic).

double precision, intent(out) :: quality

Quality of the individual fit result.


Calls

proc~~lm_nonlinear_fit~~CallsGraph proc~lm_nonlinear_fit LM_nonlinear_fit dgetrf dgetrf proc~lm_nonlinear_fit->dgetrf dgetri dgetri proc~lm_nonlinear_fit->dgetri proc~alps_error alps_error proc~lm_nonlinear_fit->proc~alps_error proc~determine_jt determine_JT proc~lm_nonlinear_fit->proc~determine_jt proc~fit_function fit_function proc~lm_nonlinear_fit->proc~fit_function mpi_abort mpi_abort proc~alps_error->mpi_abort proc~output_time output_time proc~alps_error->proc~output_time

Called by

proc~~lm_nonlinear_fit~~CalledByGraph proc~lm_nonlinear_fit LM_nonlinear_fit proc~determine_param_fit determine_param_fit proc~determine_param_fit->proc~lm_nonlinear_fit program~alps alps program~alps->proc~determine_param_fit