ilaenv2stage#
Functions
-
INT ilaenv2stage(const INT ispec, const char *name, const char *opts, const INT n1, const INT n2, const INT n3, const INT n4)#
ILAENV2STAGE is called from the LAPACK routines to choose problem-dependent parameters for the local environment.
See
ispecfor a description of the parameters.It sets problem and machine dependent parameters useful for
*_2STAGEand related subroutines.This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers for the 2-stage solvers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments.
- Further Details:
The following conventions have been used when calling ILAENV2STAGE from the LAPACK routines:
OPTS is a concatenation of all of the character options to subroutine NAME, in the same order that they appear in the argument list for NAME, even if they are not used in determining the value of the parameter specified by ISPEC.
The problem dimensions N1, N2, N3, N4 are specified in the order that they appear in the argument list for NAME. N1 is used first, N2 second, and so on, and unused problem dimensions are passed a value of -1.
The parameter value returned by ILAENV2STAGE is checked for validity in the calling subroutine.
Parameters
inispecSpecifies the parameter to be returned as the value of ILAENV2STAGE.
ispec=1: the optimal blocksize nb for the reduction to BAND.ispec=2: the optimal blocksize ib for the eigenvectors singular vectors update routine.ispec=3: The length of the array that store the Housholder representation for the second stage Band to Tridiagonal or Bidiagonal.ispec=4: The workspace needed for the routine in input.ispec=5: For future release.innameThe name of the calling subroutine, in either upper case or lower case.
inoptsThe character options to the subroutine
name, concatenated into a single character string. For example,uplo='U',trans='T', anddiag='N'for a triangular routine would be specified asopts="UTN".inn1Problem dimension for the subroutine
name; this may not be required.inn2Problem dimension for the subroutine
name; this may not be required.inn3Problem dimension for the subroutine
name; this may not be required.inn4Problem dimension for the subroutine
name; this may not be required.- Returns:
If the return value
>=0, it is the value of the parameter specified byispec. If the return value<0, then if the value is-k, the k-th argument had an illegal value.
INT ilaenv2stage(
const INT ispec,
const char* name,
const char* opts,
const INT n1,
const INT n2,
const INT n3,
const INT n4
);