ILAENV(3)      LAPACK routine of NEC Numeric Library Collection      ILAENV(3)



NAME
       ILAENV

SYNOPSIS
       INTEGER FUNCTION ILAENV (ISPEC, NAME, OPTS, N1, N2, N3, N4)



PURPOSE
            ILAENV is called from the LAPACK routines to choose problem-dependent
            parameters for the local environment.  See ISPEC for a description of
            the parameters.

            ILAENV returns an INTEGER
            if ILAENV >= 0: ILAENV returns the value of the parameter specified by ISPEC
            if ILAENV < 0:  if ILAENV = -k, the k-th argument had an illegal value.

            This version provides a set of parameters which should give good,
            but not optimal, performance on many of the currently available
            computers.  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.

            This routine will not function correctly if it is converted to all
            lower case.  Converting it to all upper case is allowed.




ARGUMENTS
           ISPEC     (input)
                     ISPEC is INTEGER
                     Specifies the parameter to be returned as the value of
                     ILAENV.
                     = 1: the optimal blocksize; if this value is 1, an unblocked
                          algorithm will give the best performance.
                     = 2: the minimum block size for which the block routine
                          should be used; if the usable block size is less than
                          this value, an unblocked routine should be used.
                     = 3: the crossover point (in a block routine, for N less
                          than this value, an unblocked routine should be used)
                     = 4: the number of shifts, used in the nonsymmetric
                          eigenvalue routines (DEPRECATED)
                     = 5: the minimum column dimension for blocking to be used;
                          rectangular blocks must have dimension at least k by m,
                          where k is given by ILAENV(2,...) and m by ILAENV(5,...)
                     = 6: the crossover point for the SVD (when reducing an m by n
                          matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds
                          this value, a QR factorization is used first to reduce
                          the matrix to a triangular form.)
                     = 7: the number of processors
                     = 8: the crossover point for the multishift QR method
                          for nonsymmetric eigenvalue problems (DEPRECATED)
                     = 9: maximum size of the subproblems at the bottom of the
                          computation tree in the divide-and-conquer algorithm
                          (used by xGELSD and xGESDD)
                     =10: ieee NaN arithmetic can be trusted not to trap
                     =11: infinity arithmetic can be trusted not to trap
                     12 <= ISPEC <= 16:
                          xHSEQR or one of its subroutines,
                          see IPARMQ for detailed explanation

           NAME      (input)
                     NAME is CHARACTER*(*)
                     The name of the calling subroutine, in either upper case or
                     lower case.

           OPTS      (input)
                     OPTS is CHARACTER*(*)
                     The character options to the subroutine NAME, concatenated
                     into a single character string.  For example, UPLO = 'U',
                     TRANS = 'T', and DIAG = 'N' for a triangular routine would
                     be specified as OPTS = 'UTN'.

           N1        (input)
                     N1 is INTEGER

           N2        (input)
                     N2 is INTEGER

           N3        (input)
                     N3 is INTEGER

           N4        (input)
                     N4 is INTEGER
                     Problem dimensions for the subroutine NAME; these may not all
                     be required.






FURTHER DETAILS
             The following conventions have been used when calling ILAENV from the
             LAPACK routines:
             1)  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.
             2)  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.
             3)  The parameter value returned by ILAENV is checked for validity in
                 the calling subroutine.  For example, ILAENV is used to retrieve
                 the optimal blocksize for STRTRI as follows:

                 NB = ILAENV( 1, 'STRTRI', UPLO // DIAG, N, -1, -1, -1 )
                 IF( NB.LE.1 ) NB = MAX( 1, N )



LAPACK routine                  31 October 2017                      ILAENV(3)