CALL HPARAM (ID,IC,R2MIN,MAXPOW,COEFF*,ITERM*,NCO*)
INTEGER array of size NDIM)
INTEGER array of size
PNBF, see explanation above)
DOUBLE PRECISION array
of size NCO)
INTEGER array of size NDIM*NCO or NCO, see
explanation above)
IC is a coded integer with the following fields:
DOUBLE PRECISION function
[HELEFT]HELEFT(IEF,X) where
IEF is the elementary function code in the sense explained above:
10 times the function code plus 1.
The function code number can vary from 1 to PNEF,
number of user supplied elementary functions.
PNEF has to be specified by the user before calling
HPARAM, via a call to the routine HSETPR described below.
The seconf parameter X is the point where the function should be calculated.
PNBF, number of basic functions, must be set by the user via
a call to HSETPR (see below).
User regressors values are to be returned by the
user-supplied DOUBLE PRECISION function [HBASFT]HBASFT(IBF,X)
where
IBF is the user-defined regressor code in the sense explained above:
10 times the regressor code plus 2.
The regressor code number can vary from 1 to
PNBF, number of basic functions used for the parametrization.
PNBF has to be specified by the user before calling
HPARAM, via a call to the routine HSETPR described below,
in the case that the switches B or C of the
control parameter IC have the value 2.
The parameter X is an array of length NDIM defining the
coordinate where the regressor should be calculated.
PSEL and the array MAXPOW help the user in controlling
the total degree of each regressor (see below).
IELEF is
the code of the regressor or of the function being tested for acceptance.
A value of .TRUE. returned will cause the regressor/elementary function
to be accepted.
The default version of this function which is supplied in HBOOK
always returns the value .TRUE., while the user may want to write
his own version of this function to exclude some of the regressors or of the
elementary functions (according to the value of the B switch he has selected).
ITERM contains a list of
selected regressors
or elementary functions according to the value of the switch B.
The array has to
be at least NDIM*PNBF words and the variable PNBF,
maximum number of elementary functions or regressors, should have
been set via a call to HSETPR.
In the case of elementary functions, the element
ITERM(IDIM+(IBF-1)*NDIM) is the function of the variable
to be multiplied by the coefficent number IBF,
given a maximum expected number of PNBF coefficents.
This can be of course reduced by the fitting
program under considerations of linear dependency, as stated above,
returning only NCO coefficents, thus after the fit
ITERM will identify which regressors were actually used.
In the case of user-defined
regressors, only the first PNBF position of the ITERM
array need to be filled, and the array will contain directly the code
of the selected user-defined regressors.
X
range during the computation.
The value of R2MIN is used to determine the satisfactory
end of the fitting process.
If 0<R2MIN<1, this value will be compared to the
current sum of the squares of the residuals to determine whether the
fit should be stopped or continued.
If R2MIN
, the fitting process will be
halted when the residual variance is minimal.
Various parameters which are relevant for the parametrization can be set via the routine HSETPR.
CHARACTER)
CHNAME (of type REAL)
Possible values for CHNAME are:
B of the IC parameter is set to 1.
The system will build PNBF basic
regressors made up by products of NDIM elementary functions, possibly
user selected, as specified by the switch C of the parameter IC.
B switch of IC set to 2), or in case the ITERM contains
on input the selected regressors or basic elementary functions
(C switch of IC parameter set to 2).
The parameter is ignored in the other cases.
This is the total number of user-defined regressors or elementary functions
which the system will use for the parametrization process.
Please note that in case of user given regressors,
if the C switch of the IC parameter is
either 0 or 1, the logical function [HSELBF]HSELBF(ELEF)
will always be called
in order to verify the inclusion of the regressor IELEF
in the list for the current fitting operation.
POW(I)/MAXPOW(I) in each regressor, where POW(I) is the power
of the system-supplied elementary function for the
variable
(
I<NDIM) and MAXPOW(I) is the user supplied maximum
value for the degree of the system-supplied elementary functions for
the
variable.
This value must be 0<VALUE<NDIM. Note that setting
PSEL to 0 selects the constant term for all the regressors.
Setting PSEL to a value
NDIM has the effect of removing
any limitation on the total degree of the regressors, leaving MAXPOW(I)
as the only effective limitation on the degree of the the elementary functions.
This means that the total degree of the regressors can be equal to the sum of
the NDIM elements of MAXPOW(I). The system supplied
default is 1.
PFLV has to be >0.
X.
This Fortran code can be compiled and used in subsequent jobs.
By default no code is written.
PNBX is set to 500;
setting PNBX to an appropriate value will avoid wasting space in
dynamic area /PAWC/.
This parameter may be set to the same value of
PNBF or PNEF whichever is appropriate to save space.
PNBX.