fcn_lmder Abstract Interface

abstract interface
public subroutine fcn_lmder(m, n, x, fvec, fjac, ldfjac, iflag)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: m

the number of functions.

integer, intent(in) :: n

the number of variables.

real(kind=wp), intent(in) :: x(n)

independent variable vector

real(kind=wp), intent(inout) :: fvec(m)

value of function at x

real(kind=wp), intent(inout) :: fjac(ldfjac,n)

jacobian matrix at x

integer, intent(in) :: ldfjac

leading dimension of the array fjac.

integer, intent(inout) :: iflag

if iflag = 1 calculate the functions at x and return this vector in fvec. do not alter fjac. if iflag = 2 calculate the jacobian at x and return this matrix in fjac. do not alter fvec.

the value of iflag should not be changed by fcn unless the user wants to terminate execution of lmder. in this case set iflag to a negative integer.

Description

user-supplied subroutine for lmder and lmder1