Core mathematical routines, except drivers, and BLAS/LINPACK.
User-supplied subroutine for evaluating the model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
Number of observations. |
||
integer, | intent(in) | :: | m |
Number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | np |
Number of function parameters. |
||
integer, | intent(in) | :: | nq |
Number of responses per observation. |
||
integer, | intent(in) | :: | ldn |
Leading dimension declarator equal or exceeding |
||
integer, | intent(in) | :: | ldm |
Leading dimension declarator equal or exceeding |
||
integer, | intent(in) | :: | ldnp |
Leading dimension declarator equal or exceeding |
||
real(kind=wp), | intent(in) | :: | beta(np) |
Current values of parameters. |
||
real(kind=wp), | intent(in) | :: | xplusd(ldn,m) |
Current value of explanatory variable, i.e., |
||
integer, | intent(in) | :: | ifixb(np) |
Indicators for "fixing" parameters ( |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
Indicators for "fixing" explanatory variable ( |
||
integer, | intent(in) | :: | ldifx |
Leading dimension of array |
||
integer, | intent(in) | :: | ideval |
Indicator for selecting computation to be performed. |
||
real(kind=wp), | intent(out) | :: | f(ldn,nq) |
Predicted function values. |
||
real(kind=wp), | intent(out) | :: | fjacb(ldn,ldnp,nq) |
Jacobian with respect to |
||
real(kind=wp), | intent(out) | :: | fjacd(ldn,ldm,nq) |
Jacobian with respect to errors |
||
integer, | intent(out) | :: | istop |
Stopping condition, with meaning as follows. 0 means current |
Compute step size for center and forward difference calculations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | itype |
The finite difference method being used, where: |
||
integer, | intent(in) | :: | k |
Index into |
||
real(kind=wp), | intent(in) | :: | betak |
The |
||
real(kind=wp), | intent(in) | :: | ssf(k) |
The scale used for the |
||
real(kind=wp), | intent(in) | :: | stpb(k) |
The relative step used for computing finite difference derivatives with respect
to |
||
integer, | intent(in) | :: | neta |
Number of good digits in the function results. |
Set relative step size for finite difference derivatives.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | itype |
The finite difference method being used, where: |
||
integer, | intent(in) | :: | neta |
The number of good digits in the function results. |
||
integer, | intent(in) | :: | i |
An identifier for selecting user-supplied step sizes. |
||
integer, | intent(in) | :: | j |
An identifier for selecting user-supplied step sizes. |
||
real(kind=wp), | intent(in) | :: | stp(ldstp,j) |
The step size for the finite difference derivative. |
||
integer, | intent(in) | :: | ldstp |
The leading dimension of array |
Compute the percent point function value for the normal (Gaussian) distribution with mean 0 and standard deviation 1, and with probability density function:
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | p |
The probability at which the percent point is to be evaluated. |
Compute the percent point function value for the student's T distribution with idf
degrees of freedom.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | p |
The probability at which the percent point is to be evaluated. |
||
integer, | intent(in) | :: | idf |
The (positive integer) degrees of freedom. |
Compute Levenberg-Marquardt parameter and steps s
and t
using analog of the
trust-region Levenberg-Marquardt algorithm.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | npp |
The number of function parameters being estimated. |
||
real(kind=wp), | intent(in) | :: | f(n,nq) |
The (weighted) estimated values of |
||
real(kind=wp), | intent(in) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | wd(ldwd,ld2wd,m) |
The |
||
integer, | intent(in) | :: | ldwd |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2wd |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | ss(np) |
The scaling values used for the unfixed |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scale used for the |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | delta(n,m) |
The estimated errors in the explanatory variables. |
||
real(kind=wp), | intent(inout) | :: | alpha2 |
The current Levenberg-Marquardt parameter. |
||
real(kind=wp), | intent(inout) | :: | tau |
The trust region diameter. |
||
real(kind=wp), | intent(in) | :: | epsfcn |
The function's precision. |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(out) | :: | tfjacb(n,nq,np) |
The array |
||
real(kind=wp), | intent(out) | :: | omega(nq,nq) |
The array |
||
real(kind=wp), | intent(out) | :: | u(np) |
The approximate null vector for tfjacb. |
||
real(kind=wp), | intent(out) | :: | qraux(np) |
The array required to recover the orthogonal part of the Q-R decomposition. |
||
integer, | intent(out) | :: | jpvt(np) |
The pivot vector. |
||
real(kind=wp), | intent(out) | :: | s(np) |
The step for |
||
real(kind=wp), | intent(out) | :: | t(n,m) |
The step for |
||
integer, | intent(out) | :: | nlms |
The number of Levenberg-Marquardt steps taken. |
||
real(kind=wp), | intent(out) | :: | rcond |
The approximate reciprocal condition of |
||
integer, | intent(out) | :: | irank |
The rank deficiency of the Jacobian wrt |
||
real(kind=wp), | intent(out) | :: | wrk1(n,nq,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk3(np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk4(m,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk5(m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk(lwrk) |
A work array of |
||
integer, | intent(in) | :: | lwrk |
The length of vector |
||
real(kind=wp), | intent(inout) | :: | tempret(:,:) |
Temporary work array for holding return values before copying to a lower rank array. |
||
integer, | intent(out) | :: | istopc |
The variable designating whether the computations were stopped due to some other
numerical error detected within subroutine |
Access or store values in the work arrays.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | ldwe |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2we |
The second dimension of array |
||
real(kind=wp), | intent(inout) | :: | work(lwork) |
The real work space. |
||
integer, | intent(in) | :: | lwork |
The length of vector |
||
integer, | intent(inout) | :: | iwork(liwork) |
The integer work space. |
||
integer, | intent(in) | :: | liwork |
The length of vector |
||
logical, | intent(in) | :: | access |
The variable designating whether information is to be accessed from the work
arrays ( |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is to be found by ODR ( |
||
integer, | intent(out) | :: | jpvt |
The pivot vector. |
||
integer, | intent(out) | :: | omega |
The starting location in array |
||
integer, | intent(out) | :: | u |
The starting location in array |
||
integer, | intent(out) | :: | qraux |
The starting location in array |
||
integer, | intent(out) | :: | sd |
The starting location in array |
||
integer, | intent(out) | :: | vcv |
The starting location in array |
||
integer, | intent(out) | :: | wrk1 |
The starting location in array |
||
integer, | intent(out) | :: | wrk2 |
The starting location in array |
||
integer, | intent(out) | :: | wrk3 |
The starting location in array |
||
integer, | intent(out) | :: | wrk4 |
The starting location in array |
||
integer, | intent(out) | :: | wrk5 |
The starting location in array |
||
integer, | intent(out) | :: | wrk6 |
The starting location in array |
||
integer, | intent(out) | :: | nnzw |
The number of nonzero weighted observations. |
||
integer, | intent(out) | :: | npp |
The number of function parameters actually estimated. |
||
integer, | intent(out) | :: | job |
The variable controlling problem initialization and computational method. |
||
real(kind=wp), | intent(inout) | :: | partol |
The parameter convergence stopping tolerance. |
||
real(kind=wp), | intent(inout) | :: | sstol |
The sum-of-squares convergence stopping tolerance. |
||
integer, | intent(out) | :: | maxit |
The maximum number of iterations allowed. |
||
real(kind=wp), | intent(out) | :: | taufac |
The factor used to compute the initial trust region diameter. |
||
real(kind=wp), | intent(out) | :: | eta |
The relative noise in the function results. |
||
integer, | intent(out) | :: | neta |
The number of accurate digits in the function results. |
||
integer, | intent(out) | :: | lunrpt |
The logical unit number used for computation reports. |
||
integer, | intent(out) | :: | ipr1 |
The value of the fourth digit (from the right) of |
||
integer, | intent(out) | :: | ipr2 |
The value of the third digit (from the right) of |
||
integer, | intent(out) | :: | ipr2f |
The value of the second digit (from the right) of |
||
integer, | intent(out) | :: | ipr3 |
The value of the first digit (from the right) of |
||
real(kind=wp), | intent(inout) | :: | wss(3) |
The sum of the squares of the weighted |
||
real(kind=wp), | intent(inout) | :: | rvar |
The residual variance, i.e. the standard deviation squared. |
||
integer, | intent(inout) | :: | idf |
The degrees of freedom of the fit, equal to the number of observations with nonzero weighted derivatives minus the number of parameters being estimated. |
||
real(kind=wp), | intent(inout) | :: | tau |
The trust region diameter. |
||
real(kind=wp), | intent(inout) | :: | alpha |
The Levenberg-Marquardt parameter. |
||
integer, | intent(inout) | :: | niter |
The number of iterations taken. |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
integer, | intent(inout) | :: | njev |
The number of Jacobian evaluations. |
||
integer, | intent(inout) | :: | int2 |
The number of internal doubling steps. |
||
real(kind=wp), | intent(inout) | :: | olmavg |
The average number of Levenberg-Marquardt steps per iteration. |
||
real(kind=wp), | intent(inout) | :: | rcond |
The approximate reciprocal condition of |
||
integer, | intent(inout) | :: | irank |
The rank deficiency of the Jacobian wrt |
||
real(kind=wp), | intent(inout) | :: | actrs |
The saved actual relative reduction in the sum-of-squares. |
||
real(kind=wp), | intent(inout) | :: | pnorm |
The norm of the scaled estimated parameters. |
||
real(kind=wp), | intent(inout) | :: | prers |
The saved predicted relative reduction in the sum-of-squares. |
||
real(kind=wp), | intent(inout) | :: | rnorms |
The norm of the saved weighted |
||
integer, | intent(inout) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
Compute e = wd + alpha*tt**2
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
real(kind=wp), | intent(in) | :: | wd(ldwd,ld2wd,m) |
The squared |
||
integer, | intent(in) | :: | ldwd |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2wd |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | alpha |
The Levenberg-Marquardt parameter. |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values used for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
integer, | intent(in) | :: | i |
An indexing variable. |
||
real(kind=wp), | intent(out) | :: | e(m,m) |
The value of the array |
Compute noise and number of good digits in function results.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user-supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(in) | :: | xplusd(n,m) |
The values of |
||
real(kind=wp), | intent(in) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(in) | :: | epsmac |
The value of machine precision. |
||
integer, | intent(in) | :: | nrow |
The row number at which the derivative is to be checked. |
||
real(kind=wp), | intent(out) | :: | partmp(np) |
The model parameters. |
||
real(kind=wp), | intent(in) | :: | pv0(n,nq) |
The original predicted values. |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | eta |
The noise in the model results. |
||
integer, | intent(out) | :: | neta |
The number of accurate digits in the model results. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk7(-2:2,nq) |
A work array of |
||
integer, | intent(out) | :: | info |
The variable indicating the status of the computation. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
The lower bound of |
||
real(kind=wp), | intent(in) | :: | upper(np) |
The upper bound of |
Compute the weighted Jacobians wrt beta
and delta
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user-supplied subroutine for evaluating the model. |
|||
logical, | intent(in) | :: | anajac |
The variable designating whether the Jacobians are computed by finite differences
( |
||
logical, | intent(in) | :: | cdjac |
The variable designating whether the Jacobians are computed by central differences
( |
||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(in) | :: | betac(np) |
The current estimated values of the unfixed |
||
real(kind=wp), | intent(out) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(in) | :: | stpb(np) |
The relative step used for computing finite difference derivatives with respect to |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | x(ldx,m) |
The independent variable. |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | delta(n,m) |
The estimated values of |
||
real(kind=wp), | intent(out) | :: | xplusd(n,m) |
The values of |
||
real(kind=wp), | intent(in) | :: | stpd(ldstpd,m) |
The relative step used for computing finite difference derivatives with respect to |
||
integer, | intent(in) | :: | ldstpd |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | ssf(np) |
The scale used for the |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values used for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
integer, | intent(in) | :: | neta |
The number of accurate digits in the function results. |
||
real(kind=wp), | intent(in) | :: | fn(n,nq) |
The predicted values of the function at the current point. |
||
real(kind=wp), | intent(out) | :: | stp(n) |
The step used for computing finite difference derivatives with respect to |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk3(np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
||
real(kind=wp), | intent(inout) | :: | tempret(:,:) |
Temporary work array for holding return values before copying to a lower rank array. |
||
real(kind=wp), | intent(out) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(out) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | we1(ldwe,ld2we,nq) |
The square roots of the |
||
integer, | intent(in) | :: | ldwe |
The leading dimension of arrays |
||
integer, | intent(in) | :: | ld2we |
The second dimension of arrays |
||
integer, | intent(inout) | :: | njev |
The number of Jacobian evaluations. |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
integer, | intent(out) | :: | istop |
The variable designating that the user wishes the computations stopped. |
||
integer, | intent(out) | :: | info |
The variable designating why the computations were stopped. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
The lower bound of |
||
real(kind=wp), | intent(in) | :: | upper(np) |
The upper bound of |
Factor the positive (semi)definite matrix a
using a modified Cholesky factorization.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | oksemi |
The indicating whether the factored array can be positive semidefinite
( |
||
real(kind=wp), | intent(inout) | :: | a(lda,n) |
The array to be factored. Upon return, |
||
integer, | intent(in) | :: | lda |
The leading dimension of array |
||
integer, | intent(in) | :: | n |
The number of rows and columns of data in array |
||
integer, | intent(out) | :: | info |
An indicator variable, where if:
|
Check input parameters, indicating errors found using nonzero values of argument info
as
described in the ODRPACK95 reference guide.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | npp |
The number of function parameters being estimated. |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(in) | :: | we(ldwe,ld2we,nq) |
The (squared) |
||
integer, | intent(in) | :: | ldwe |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2we |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | wd(ldwd,ld2wd,m) |
The (squared) |
||
integer, | intent(in) | :: | ldwd | |||
integer, | intent(in) | :: | ld2wd |
The second dimension of array |
||
real(kind=wp), | intent(out) | :: | wrk0(nq,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk4(m,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | we1(ldwe,ld2we,nq) |
The factored |
||
integer, | intent(out) | :: | nnzw |
The number of nonzero weighted observations. |
||
integer, | intent(out) | :: | info |
The variable designating why the computations were stopped. |
Set flags indicating conditions specified by job
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | job |
The variable controlling problem initialization and computational method. |
||
logical, | intent(out) | :: | restrt |
The variable designating whether the call is a restart ( |
||
logical, | intent(out) | :: | initd |
The variable designating whether |
||
logical, | intent(out) | :: | dovcv |
The variable designating whether the covariance matrix is to be computed
( |
||
logical, | intent(out) | :: | redoj |
The variable designating whether the Jacobian matrix is to be recomputed for the
computation of the covariance matrix ( |
||
logical, | intent(out) | :: | anajac |
The variable designating whether the Jacobians are computed by finite differences
( |
||
logical, | intent(out) | :: | cdjac |
The variable designating whether the Jacobians are computed by central differences
( |
||
logical, | intent(out) | :: | chkjac |
The variable designating whether the user-supplied Jacobians are to be checked
( |
||
logical, | intent(out) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
logical, | intent(out) | :: | implct |
The variable designating whether the solution is by implicit ODR ( |
Set elements of t
to zero according to ifix
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of rows of data in the array. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the array. |
||
integer, | intent(in) | :: | ifix(ldifix,m) |
The array designating whether an element of |
||
integer, | intent(in) | :: | ldifix |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | t(ldt,m) |
The array being set to zero according to the elements of |
||
integer, | intent(in) | :: | ldt |
The leading dimension of array |
||
real(kind=wp), | intent(out) | :: | tfix(ldtfix,m) |
The resulting array. |
||
integer, | intent(in) | :: | ldtfix |
The leading dimension of array |
Get storage locations within integer work space.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(out) | :: | msgbi |
The starting location in array |
||
integer, | intent(out) | :: | msgdi |
The starting location in array |
||
integer, | intent(out) | :: | ifix2i |
The starting location in array |
||
integer, | intent(out) | :: | istopi |
The location in array |
||
integer, | intent(out) | :: | nnzwi |
The location in array |
||
integer, | intent(out) | :: | nppi |
The location in array |
||
integer, | intent(out) | :: | idfi |
The location in array |
||
integer, | intent(out) | :: | jobi |
The location in array |
||
integer, | intent(out) | :: | iprini |
The location in array |
||
integer, | intent(out) | :: | luneri |
The location in array |
||
integer, | intent(out) | :: | lunrpi |
The location in array |
||
integer, | intent(out) | :: | nrowi |
The location in array |
||
integer, | intent(out) | :: | ntoli |
The location in array |
||
integer, | intent(out) | :: | netai |
The location in array |
||
integer, | intent(out) | :: | maxiti |
The location in array |
||
integer, | intent(out) | :: | niteri |
The location in array |
||
integer, | intent(out) | :: | nfevi |
The location in array |
||
integer, | intent(out) | :: | njevi |
The location in array |
||
integer, | intent(out) | :: | int2i |
The location in array |
||
integer, | intent(out) | :: | iranki |
The location in array |
||
integer, | intent(out) | :: | ldtti |
The location in array |
||
integer, | intent(out) | :: | boundi |
The location in array |
||
integer, | intent(out) | :: | liwkmn |
The minimum acceptable length of array |
Initialize work vectors as necessary.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
real(kind=wp), | intent(out) | :: | work(lwork) |
The real work space. |
||
integer, | intent(in) | :: | lwork |
The length of vector |
||
integer, | intent(out) | :: | iwork(liwork) |
The integer work space. |
||
integer, | intent(in) | :: | liwork |
The length of vector |
||
real(kind=wp), | intent(in) | :: | x(ldx,m) |
The independent variable. |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | scld(ldscld,m) |
The scaling values for |
||
integer, | intent(in) | :: | ldscld |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(in) | :: | sclb(np) |
The scaling values for |
||
real(kind=wp), | intent(in) | :: | sstol |
The sum-of-squares convergence stopping criteria. |
||
real(kind=wp), | intent(in) | :: | partol |
The parameter convergence stopping criteria. |
||
integer, | intent(in) | :: | maxit |
The maximum number of iterations allowed. |
||
real(kind=wp), | intent(in) | :: | taufac |
The factor used to compute the initial trust region diameter. |
||
integer, | intent(in) | :: | job |
The variable controlling problem initialization and computational method. |
||
integer, | intent(in) | :: | iprint |
The print control variable. |
||
integer, | intent(in) | :: | lunerr |
The logical unit number used for error messages. |
||
integer, | intent(in) | :: | lunrpt |
The logical unit number used for computation reports. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
The lower bounds for the function parameters. |
||
real(kind=wp), | intent(in) | :: | upper(np) |
The upper bounds for the function parameters. |
||
integer, | intent(in) | :: | epsmai |
The location in array |
||
integer, | intent(in) | :: | sstoli |
The location in array |
||
integer, | intent(in) | :: | partli |
The location in array |
||
integer, | intent(in) | :: | maxiti |
The location in array |
||
integer, | intent(in) | :: | taufci |
The location in array |
||
integer, | intent(in) | :: | jobi |
The location in array |
||
integer, | intent(in) | :: | iprini |
The location in array |
||
integer, | intent(in) | :: | luneri |
The location in array |
||
integer, | intent(in) | :: | lunrpi |
The location in array |
||
integer, | intent(in) | :: | ssfi |
The starting location in array |
||
integer, | intent(in) | :: | tti |
The starting location in array |
||
integer, | intent(in) | :: | ldtti |
The leading dimension of array |
||
integer, | intent(in) | :: | deltai |
The starting location in array |
||
integer, | intent(in) | :: | loweri |
The starting location in array |
||
integer, | intent(in) | :: | upperi |
The starting location in array |
||
integer, | intent(in) | :: | boundi |
The location in array |
Compute central difference approximations to the Jacobian wrt the estimated beta
s and
wrt the delta
s.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(in) | :: | x(ldx,m) |
The explanatory variable. |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | delta(n,m) |
The estimated errors in the explanatory variables. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | stpb(np) |
The relative step used for computing finite difference derivatives with respect to each |
||
real(kind=wp), | intent(in) | :: | stpd(ldstpd,m) |
The relative step used for computing finite difference derivatives with respect to each |
||
integer, | intent(in) | :: | ldstpd |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | ssf(np) |
The scaling values used for |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values used for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
integer, | intent(in) | :: | neta |
The number of good digits in the function results. |
||
real(kind=wp), | intent(in) | :: | fn(n,nq) |
The new predicted values from the function. Used when parameter is on a boundary. |
||
real(kind=wp), | intent(out) | :: | stp(n) |
The step used for computing finite difference derivatives with respect to each |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk3(np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(out) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(out) | :: | info |
The variable designating why the computations were stopped. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
The lower bound on |
||
real(kind=wp), | intent(in) | :: | upper(np) |
The upper bound on |
Compute forward difference approximations to the Jacobian wrt the estimated beta
s and
wrt the delta
s.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(in) | :: | x(ldx,m) |
The explanatory variable. |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | delta(n,m) |
The estimated errors in the explanatory variables. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | stpb(np) |
The relative step used for computing finite difference derivatives with respect to each |
||
real(kind=wp), | intent(in) | :: | stpd(ldstpd,m) |
The relative step used for computing finite difference derivatives with respect to each |
||
integer, | intent(in) | :: | ldstpd |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | ssf(np) |
The scaling values used for |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values used for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
integer, | intent(in) | :: | neta |
The number of good digits in the function results. |
||
real(kind=wp), | intent(in) | :: | fn(n,nq) |
The new predicted values from the function. Used when parameter is on a boundary. |
||
real(kind=wp), | intent(out) | :: | stp(n) |
The step used for computing finite difference derivatives with respect to each |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk3(np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(out) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(out) | :: | info |
The variable designating why the computations were stopped. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
The lower bound on |
||
real(kind=wp), | intent(in) | :: | upper(np) |
The upper bound on |
Driver routine for the derivative checking process.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(inout) | :: | betaj(np) |
The function parameters offset such that steps don't cross bounds. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | stpb(np) |
The step size for finite difference derivatives wrt |
||
real(kind=wp), | intent(in) | :: | stpd(ldstpd,m) |
The step size for finite difference derivatives wrt |
||
integer, | intent(in) | :: | ldstpd |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | ssf(np) |
The scaling values used for |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values used for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | eta |
The relative noise in the function results. |
||
integer, | intent(in) | :: | neta |
The number of reliable digits in the model results. |
||
integer, | intent(out) | :: | ntol |
The number of digits of agreement required between the numerical derivatives and the user supplied derivatives. |
||
integer, | intent(in) | :: | nrow |
The row number of the explanatory variable array at which the derivative is checked. |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(in) | :: | epsmac |
The value of machine precision. |
||
real(kind=wp), | intent(in) | :: | pv0i(n,nq) |
The predicted values using the user supplied parameter estimates. |
||
real(kind=wp), | intent(out) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(out) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
integer, | intent(out) | :: | msgb(1+nq*np) |
The error checking results for the Jacobian wrt |
||
integer, | intent(out) | :: | msgd(1+nq*m) |
The error checking results for the Jacobian wrt |
||
real(kind=wp), | intent(out) | :: | diff(nq,np+m) |
The relative differences between the user supplied and finite difference derivatives for each derivative checked. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
integer, | intent(inout) | :: | njev |
The number of Jacobian evaluations. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
||
integer, | intent(in) | :: | interval(np) |
Specifies which checks can be performed when checking derivatives based on the interval of the bound constraints. |
Check whether high curvature could be the cause of the disagreement between the numerical and analytic derviatives.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | eta |
The relative noise in the model. |
||
real(kind=wp), | intent(in) | :: | tol |
The agreement tolerance. |
||
integer, | intent(in) | :: | nrow |
The row number of the explanatory variable array at which the derivative is to be checked. |
||
real(kind=wp), | intent(in) | :: | epsmac |
The value of machine precision. |
||
integer, | intent(in) | :: | j |
The index of the partial derivative being examined. |
||
integer, | intent(in) | :: | lq |
The response currently being examined. |
||
real(kind=wp), | intent(in) | :: | hc |
The relative step size for central finite differences. |
||
logical, | intent(in) | :: | iswrtb |
The variable designating whether the derivatives wrt |
||
real(kind=wp), | intent(out) | :: | fd |
The forward difference derivative wrt the |
||
real(kind=wp), | intent(in) | :: | typj |
The typical size of the |
||
real(kind=wp), | intent(out) | :: | pvpstp |
The predicted value for row |
||
real(kind=wp), | intent(in) | :: | stp0 |
The initial step size for the finite difference derivative. |
||
real(kind=wp), | intent(in) | :: | pv |
The predicted value of the model for row |
||
real(kind=wp), | intent(in) | :: | d |
The derivative with respect to the |
||
real(kind=wp), | intent(out) | :: | diffj |
The relative differences between the user supplied and finite difference derivatives for the derivative being checked. |
||
integer, | intent(out) | :: | msg(nq,j) |
The error checking results. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
Check whether finite precision arithmetic could be the cause of the disagreement between the derivatives.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | eta |
The relative noise in the model. |
||
real(kind=wp), | intent(in) | :: | tol |
The agreement tolerance. |
||
integer, | intent(in) | :: | nrow |
The row number of the explanatory variable array at which the derivative is to be checked. |
||
integer, | intent(in) | :: | j |
The index of the partial derivative being examined. |
||
integer, | intent(in) | :: | lq |
The response currently being examined. |
||
logical, | intent(in) | :: | iswrtb |
The variable designating whether the derivatives wrt |
||
real(kind=wp), | intent(out) | :: | fd |
The forward difference derivative wrt the |
||
real(kind=wp), | intent(in) | :: | typj |
The typical size of the |
||
real(kind=wp), | intent(out) | :: | pvpstp |
The predicted value for row |
||
real(kind=wp), | intent(in) | :: | stp0 |
The step size for the finite difference derivative. |
||
real(kind=wp), | intent(inout) | :: | curve |
A measure of the curvature in the model. |
||
real(kind=wp), | intent(in) | :: | pv |
The predicted value for row |
||
real(kind=wp), | intent(in) | :: | d |
The derivative with respect to the |
||
real(kind=wp), | intent(out) | :: | diffj |
The relative differences between the user supplied and finite difference derivatives for the derivative being checked. |
||
integer, | intent(out) | :: | msg(nq,j) |
The error checking results. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
Check user supplied analytic derivatives against numerical derivatives.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | eta |
The relative noise in the model. |
||
real(kind=wp), | intent(in) | :: | tol |
The agreement tolerance. |
||
integer, | intent(in) | :: | nrow |
The row number of the explanatory variable array at which the derivative is to be checked. |
||
real(kind=wp), | intent(in) | :: | epsmac |
The value of machine precision. |
||
integer, | intent(in) | :: | j |
The index of the partial derivative being examined. |
||
integer, | intent(in) | :: | lq |
The response currently being examined. |
||
real(kind=wp), | intent(in) | :: | typj |
The typical size of the |
||
real(kind=wp), | intent(in) | :: | h0 |
The initial step size for the finite difference derivative. |
||
real(kind=wp), | intent(in) | :: | hc0 |
The relative step size for central finite differences. |
||
logical, | intent(in) | :: | iswrtb |
The variable designating whether the derivatives wrt |
||
real(kind=wp), | intent(in) | :: | pv |
The predicted value for row |
||
real(kind=wp), | intent(in) | :: | d |
The derivative with respect to the |
||
real(kind=wp), | intent(out) | :: | diffj |
The relative differences between the user supplied and finite difference derivatives for the derivative being checked. |
||
integer, | intent(out) | :: | msg1 |
The first set of error checking results. |
||
integer, | intent(out) | :: | msg(nq,j) |
The error checking results. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
||
integer, | intent(in) | :: | interval(np) |
Specifies which checks can be performed when checking derivatives based on the interval of the bound constraints. |
Recheck the derivatives in the case where the finite difference derivative disagrees with the analytic derivative and the analytic derivative is zero.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
integer, | intent(in) | :: | nrow |
The row number of the explanatory variable array at which the derivative is to be checked. |
||
real(kind=wp), | intent(in) | :: | epsmac |
The value of machine precision. |
||
integer, | intent(in) | :: | j |
The index of the partial derivative being examined. |
||
integer, | intent(in) | :: | lq |
The response currently being examined. |
||
logical, | intent(in) | :: | iswrtb |
The variable designating whether the derivatives wrt |
||
real(kind=wp), | intent(in) | :: | tol |
The agreement tolerance. |
||
real(kind=wp), | intent(in) | :: | d |
The derivative with respect to the |
||
real(kind=wp), | intent(in) | :: | fd |
The forward difference derivative wrt the |
||
real(kind=wp), | intent(in) | :: | typj |
The typical size of the |
||
real(kind=wp), | intent(in) | :: | pvpstp |
The predicted value for row |
||
real(kind=wp), | intent(in) | :: | stp0 |
The initial step size for the finite difference derivative. |
||
real(kind=wp), | intent(in) | :: | pv |
The predicted value from the model for row |
||
real(kind=wp), | intent(out) | :: | diffj |
The relative differences between the user supplied and finite difference derivatives for the derivative being checked. |
||
integer, | intent(out) | :: | msg(nq,j) |
The error checking results. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
A work array of |
Check input parameters, indicating errors found using nonzero values of argument info
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
logical, | intent(in) | :: | anajac |
The variable designating whether the Jacobians are computed by finite differences
( |
||
logical, | intent(in) | :: | implct |
The variable designating whether the solution is by implicit ODR ( |
||
real(kind=wp), | intent(in) | :: | beta(np) |
The function parameters. |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
integer, | intent(in) | :: | ldscld |
The leading dimension of array |
||
integer, | intent(in) | :: | ldstpd |
The leading dimension of array |
||
integer, | intent(in) | :: | ldwe |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2we |
The second dimension of array |
||
integer, | intent(in) | :: | ldwd |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2wd |
The second dimension of array |
||
integer, | intent(in) | :: | ldy |
The leading dimension of array |
||
integer, | intent(in) | :: | lwork |
The length of vector |
||
integer, | intent(in) | :: | lwkmn |
The minimum acceptable length of array |
||
integer, | intent(in) | :: | liwork |
The length of vector |
||
integer, | intent(in) | :: | liwkmn |
The minimum acceptable length of array |
||
real(kind=wp), | intent(in) | :: | sclb(np) |
The scaling values for |
||
real(kind=wp), | intent(in) | :: | scld(ldscld,m) |
The scaling value for |
||
real(kind=wp), | intent(in) | :: | stpb(np) |
The step for the finite difference derivative wrt |
||
real(kind=wp), | intent(in) | :: | stpd(ldstpd,m) |
The step for the finite difference derivative wrt |
||
integer, | intent(out) | :: | info |
The variable designating why the computations were stopped. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
The lower bound on |
||
real(kind=wp), | intent(in) | :: | upper(np) |
The upper bound on |
Compute locally constrained steps s
and t
, and phi(alpha)
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | npp |
The number of function parameters being estimated. |
||
real(kind=wp), | intent(in) | :: | f(n,nq) |
The (weighted) estimated values of |
||
real(kind=wp), | intent(in) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | wd(ldwd,ld2wd,m) |
The (squared) |
||
integer, | intent(in) | :: | ldwd |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2wd |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | ss(np) |
The scaling values for the unfixed |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | delta(n,m) |
The estimated errors in the explanatory variables. |
||
real(kind=wp), | intent(in) | :: | alpha |
The Levenberg-Marquardt parameter. |
||
real(kind=wp), | intent(in) | :: | epsfcn |
The function's precision. |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(out) | :: | tfjacb(n,nq,np) |
The array |
||
real(kind=wp), | intent(out) | :: | omega(nq,nq) |
The array defined such that:
|
||
real(kind=wp), | intent(out) | :: | u(np) |
The approximate null vector for |
||
real(kind=wp), | intent(out) | :: | qraux(np) |
The array required to recover the orthogonal part of the Q-R decomposition. |
||
integer, | intent(out) | :: | kpvt(np) |
The pivot vector. |
||
real(kind=wp), | intent(out) | :: | s(np) |
The step for |
||
real(kind=wp), | intent(out) | :: | t(n,m) |
The step for |
||
real(kind=wp), | intent(out) | :: | phi |
The difference between the norm of the scaled step and the trust region diameter. |
||
integer, | intent(out) | :: | irank |
The rank deficiency of the Jacobian wrt |
||
real(kind=wp), | intent(out) | :: | rcond |
The approximate reciprocal condition number of |
||
logical, | intent(in) | :: | forvcv |
The variable designating whether this subroutine was called to set up for the
covariance matrix computations ( |
||
real(kind=wp), | intent(out) | :: | wrk1(n,nq,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk3(np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk4(m,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk5(m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk(lwrk) |
A work array of |
||
integer, | intent(in) | :: | lwrk |
The length of vector |
||
real(kind=wp), | intent(inout) | :: | tempret(:,:) |
Temporary work array for holding return values before copying to a lower rank array. |
||
integer, | intent(inout) | :: | istopc |
The variable designating whether the computations were stopped due to a numerical
error within subroutine |
Compute covariance matrix of estimated parameters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | npp |
The number of function parameters being estimated. |
||
real(kind=wp), | intent(in) | :: | f(n,nq) |
The (weighted) estimated values of |
||
real(kind=wp), | intent(in) | :: | fjacb(n,np,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | fjacd(n,m,nq) |
The Jacobian with respect to |
||
real(kind=wp), | intent(in) | :: | wd(ldwd,ld2wd,m) |
The |
||
integer, | intent(in) | :: | ldwd |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2wd |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | ssf(np) |
The scaling values used for |
||
real(kind=wp), | intent(in) | :: | ss(np) |
The scaling values for the unfixed |
||
real(kind=wp), | intent(in) | :: | tt(ldtt,m) |
The scaling values for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | delta(n,m) |
The estimated errors in the explanatory variables. |
||
real(kind=wp), | intent(in) | :: | epsfcn |
The function's precision. |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
real(kind=wp), | intent(out) | :: | vcv(np,np) |
The covariance matrix of the estimated |
||
real(kind=wp), | intent(out) | :: | sd(np) |
The standard deviations of the estimated |
||
real(kind=wp), | intent(out) | :: | wrk6(n*nq,np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | omega(nq,nq) |
The array defined such that |
||
real(kind=wp), | intent(out) | :: | u(np) |
The approximate null vector for |
||
real(kind=wp), | intent(out) | :: | qraux(np) |
The array required to recover the orthogonal part of the Q-R decomposition. |
||
integer, | intent(out) | :: | jpvt(np) |
The pivot vector. |
||
real(kind=wp), | intent(out) | :: | s(np) |
The step for |
||
real(kind=wp), | intent(out) | :: | t(n,m) |
The step for |
||
integer, | intent(out) | :: | irank |
The rank deficiency of the Jacobian wrt |
||
real(kind=wp), | intent(out) | :: | rcond |
The approximate reciprocal condition of |
||
real(kind=wp), | intent(inout) | :: | rss |
The residual sum of squares. |
||
integer, | intent(out) | :: | idf |
The degrees of freedom of the fit, equal to the number of observations with nonzero weighted derivatives minus the number of parameters being estimated. |
||
real(kind=wp), | intent(out) | :: | rvar |
The residual variance. |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
real(kind=wp), | intent(out) | :: | wrk1(n,nq,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk3(np) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk4(m,m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk5(m) |
A work array of |
||
real(kind=wp), | intent(out) | :: | wrk(lwrk) |
A work array of |
||
integer, | intent(in) | :: | lwrk |
The length of vector |
||
real(kind=wp), | intent(inout) | :: | tempret(:,:) |
Temporary work array for holding return values before copying to a lower rank array. |
||
integer, | intent(out) | :: | istopc |
The variable designating whether the computations were stoped due to a numerical
error within subroutine |
Select the unfixed elements of v2
and return them in v1
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n2 |
The number of items in |
||
integer, | intent(out) | :: | n1 |
The number of items in |
||
real(kind=wp), | intent(out) | :: | v1(n2) |
The vector of the unfixed items from |
||
real(kind=wp), | intent(in) | :: | v2(n2) |
The vector of the fixed and unfixed items from which the unfixed elements are to be extracted. |
||
integer, | intent(in) | :: | ifix(n2) |
The values designating whether the elements of |
Compute the nrow
-th function value using beta(j) + stp
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user-supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(in) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
integer, | intent(in) | :: | nrow |
The row number of the independent variable array at which the derivative is to be checked. |
||
integer, | intent(in) | :: | j |
The index of the partial derivative being examined. |
||
integer, | intent(in) | :: | lq |
The response currently being examined. |
||
real(kind=wp), | intent(in) | :: | stp |
The step size for the finite difference derivative. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | pvb |
The function value for the selected observation & response. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
Work array. |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
Work array. |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
Work array. |
Compute nrow
-th function value using x(nrow, j) + delta(nrow, j) + stp
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(fcn_t) | :: | fcn |
The user-supplied subroutine for evaluating the model. |
|||
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
real(kind=wp), | intent(in) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(inout) | :: | xplusd(n,m) |
The values of |
||
integer, | intent(in) | :: | ifixb(np) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ifixx(ldifx,m) |
The values designating whether the elements of |
||
integer, | intent(in) | :: | ldifx |
The leading dimension of array |
||
integer, | intent(in) | :: | nrow |
The row number of the independent variable array at which the derivative is to be checked. |
||
integer, | intent(in) | :: | j |
The index of the partial derivative being examined. |
||
integer, | intent(in) | :: | lq |
The response currently being examined. |
||
real(kind=wp), | intent(in) | :: | stp |
The step size for the finite difference derivative. |
||
integer, | intent(out) | :: | istop |
The variable designating whether there are problems computing the function at the
current |
||
integer, | intent(inout) | :: | nfev |
The number of function evaluations. |
||
real(kind=wp), | intent(out) | :: | pvd |
The function value for the selected observation & response. |
||
real(kind=wp), | intent(out) | :: | wrk1(n,m,nq) |
Work array. |
||
real(kind=wp), | intent(out) | :: | wrk2(n,nq) |
Work array. |
||
real(kind=wp), | intent(out) | :: | wrk6(n,np,nq) |
Work array. |
Scale t
by the inverse of scl
, i.e., compute t/scl
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of rows of data in |
||
integer, | intent(in) | :: | m |
The number of columns of data in |
||
real(kind=wp), | intent(in) | :: | scl(ldscl,m) |
The scale values. |
||
integer, | intent(in) | :: | ldscl |
The leading dimension of array |
||
real(kind=wp), | intent(in) | :: | t(ldt,m) |
The array to be inversely scaled by |
||
integer, | intent(in) | :: | ldt |
The leading dimension of array |
||
real(kind=wp), | intent(out) | :: | sclt(ldsclt,m) |
The inversely scaled matrix. |
||
integer, | intent(in) | :: | ldsclt |
The leading dimension of array |
Select scaling values for beta
according to the algorithm given in the ODRPACK95
reference guide.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | np |
The number of function parameters. |
||
real(kind=wp), | intent(in) | :: | beta(np) |
The function parameters. |
||
real(kind=wp), | intent(out) | :: | ssf(np) |
The scaling values for |
Select scaling values for delta
according to the algorithm given in the ODRPACK95
reference guide.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
real(kind=wp), | intent(in) | :: | x(ldx,m) |
The independent variable. |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
real(kind=wp), | intent(out) | :: | tt(ldtt,m) |
The scaling values for |
||
integer, | intent(in) | :: | ldtt |
The leading dimension of array |
Select the row at which the derivative will be checked.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
real(kind=wp), | intent(in) | :: | x(ldx,m) |
The independent variable. |
||
integer, | intent(in) | :: | ldx |
The leading dimension of array |
||
integer, | intent(inout) | :: | nrow |
The selected row number of the independent variable. |
Solve systems of the form:
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of rows and columns of data in array |
||
real(kind=wp), | intent(in) | :: | t(ldt,n) |
The upper or lower tridiagonal system. |
||
integer, | intent(in) | :: | ldt |
The leading dimension of array |
||
real(kind=wp), | intent(inout) | :: | b(n) |
On input: the right hand side; On exit: the solution. |
||
integer, | intent(in) | :: | job |
What kind of system is to be solved:
1: Solve |
Copy the elements of v1
into the locations of v2
which are unfixed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n2 |
The number of items in |
||
real(kind=wp), | intent(in) | :: | v1(n2) |
The vector of the unfixed items. |
||
real(kind=wp), | intent(out) | :: | v2(n2) |
The vector of the fixed and unfixed items into which the elements of |
||
integer, | intent(in) | :: | ifix(n2) |
The values designating whether the elements of |
Compute v*e*trans(v)
for the (indx
)th m
by nq
array in v
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | m |
The number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | indx |
The row in |
||
real(kind=wp), | intent(in) | :: | v(ldv,ld2v,nq) |
An array of |
||
integer, | intent(in) | :: | ldv |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2v |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | e(lde,m) |
The |
||
integer, | intent(in) | :: | lde |
The leading dimension of array |
||
real(kind=wp), | intent(out) | :: | ve(ldve,ld2ve,m) |
The |
||
integer, | intent(in) | :: | ldve |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2ve |
The second dimension of array |
||
real(kind=wp), | intent(out) | :: | vev(ldvev,nq) |
The |
||
integer, | intent(in) | :: | ldvev |
The leading dimension of array |
||
real(kind=wp), | intent(out) | :: | wrk5(m) |
An |
Scale matrix t
using wt
, i.e., compute wtt = wt*t
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of rows of data in |
||
integer, | intent(in) | :: | m |
The number of columns of data in |
||
real(kind=wp), | intent(in) | :: | wt(:,:,:) |
The weights. |
||
integer, | intent(in) | :: | ldwt |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2wt |
The second dimension of array |
||
real(kind=wp), | intent(in) | :: | t(:,:) |
The array being scaled by |
||
real(kind=wp), | intent(out) | :: | wtt(:,:) |
The results of weighting array |
Get storage locations within REAL (wp) work space.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n |
The number of observations. |
||
integer, | intent(in) | :: | m |
The number of columns of data in the explanatory variable. |
||
integer, | intent(in) | :: | np |
The number of function parameters. |
||
integer, | intent(in) | :: | nq |
The number of responses per observation. |
||
integer, | intent(in) | :: | ldwe |
The leading dimension of array |
||
integer, | intent(in) | :: | ld2we |
The second dimension of array |
||
logical, | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
integer, | intent(out) | :: | deltai |
The starting location in array |
||
integer, | intent(out) | :: | epsi |
The starting location in array |
||
integer, | intent(out) | :: | xplusi |
The starting location in array |
||
integer, | intent(out) | :: | fni |
The starting location in array |
||
integer, | intent(out) | :: | sdi |
The starting location in array |
||
integer, | intent(out) | :: | vcvi |
The starting location in array |
||
integer, | intent(out) | :: | rvari |
The location in array |
||
integer, | intent(out) | :: | wssi |
The location in array |
||
integer, | intent(out) | :: | wssdei |
The location in array |
||
integer, | intent(out) | :: | wssepi |
The location in array |
||
integer, | intent(out) | :: | rcondi |
The location in array |
||
integer, | intent(out) | :: | etai |
The location in array |
||
integer, | intent(out) | :: | olmavi |
The location in array |
||
integer, | intent(out) | :: | taui |
The location in array |
||
integer, | intent(out) | :: | alphai |
The location in array |
||
integer, | intent(out) | :: | actrsi |
The location in array |
||
integer, | intent(out) | :: | pnormi |
The location in array |
||
integer, | intent(out) | :: | rnorsi |
The location in array |
||
integer, | intent(out) | :: | prersi |
The location in array |
||
integer, | intent(out) | :: | partli |
The location in array |
||
integer, | intent(out) | :: | sstoli |
The location in array |
||
integer, | intent(out) | :: | taufci |
The location in array |
||
integer, | intent(out) | :: | epsmai |
The location in array |
||
integer, | intent(out) | :: | beta0i |
The starting location in array |
||
integer, | intent(out) | :: | betaci |
The starting location in array |
||
integer, | intent(out) | :: | betasi |
The starting location in array |
||
integer, | intent(out) | :: | betani |
The starting location in array |
||
integer, | intent(out) | :: | si |
The starting location in array |
||
integer, | intent(out) | :: | ssi |
The starting location in array |
||
integer, | intent(out) | :: | ssfi |
The starting location in array |
||
integer, | intent(out) | :: | qrauxi |
The starting location in array |
||
integer, | intent(out) | :: | ui |
The starting location in array |
||
integer, | intent(out) | :: | fsi |
The starting location in array |
||
integer, | intent(out) | :: | fjacbi |
The starting location in array |
||
integer, | intent(out) | :: | we1i |
The starting location in array |
||
integer, | intent(out) | :: | diffi |
The starting location in array |
||
integer, | intent(out) | :: | deltsi |
The starting location in array |
||
integer, | intent(out) | :: | deltni |
The starting location in array |
||
integer, | intent(out) | :: | ti |
The starting location in array |
||
integer, | intent(out) | :: | tti |
The starting location in array |
||
integer, | intent(out) | :: | omegai |
The starting location in array |
||
integer, | intent(out) | :: | fjacdi |
The starting location in array |
||
integer, | intent(out) | :: | wrk1i |
The starting location in array |
||
integer, | intent(out) | :: | wrk2i |
The starting location in array |
||
integer, | intent(out) | :: | wrk3i |
The starting location in array |
||
integer, | intent(out) | :: | wrk4i |
The starting location in array |
||
integer, | intent(out) | :: | wrk5i |
The starting location in array |
||
integer, | intent(out) | :: | wrk6i |
The starting location in array |
||
integer, | intent(out) | :: | wrk7i |
The starting location in array |
||
integer, | intent(out) | :: | loweri |
The starting location in array |
||
integer, | intent(out) | :: | upperi |
The starting location in array |
||
integer, | intent(out) | :: | lwkmn |
The minimum acceptable length of vector |
Ensure range of bounds is large enough for derivative checking. Move beta away from bounds so that derivatives can be calculated.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | np |
The number of parameters |
||
real(kind=wp), | intent(inout) | :: | beta(np) |
Function parameters. |
||
real(kind=wp), | intent(in) | :: | lower(np) |
!! Lower bound on |
||
real(kind=wp), | intent(in) | :: | upper(np) |
Upper bound on |
||
real(kind=wp), | intent(in) | :: | ssf(np) |
The scale used for the |
||
real(kind=wp), | intent(in) | :: | stpb(np) |
The relative step used for computing finite difference derivatives with respect to |
||
integer, | intent(in) | :: | neta |
Number of good digits in the function results. |
||
real(kind=wp), | intent(in) | :: | eta |
The relative noise in the function results. |
||
integer, | intent(out) | :: | interval(np) |
Specifies which difference methods and step sizes are supported by the current
interval |