Diff for /rpl/lapack/lapack/ilaenv.f between versions 1.8 and 1.9

version 1.8, 2011/07/22 07:40:26 version 1.9, 2011/11/21 20:43:07
Line 1 Line 1
       INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )  *> \brief \b ILAENV
   *
   *  =========== DOCUMENTATION ===========
 *  *
 *  -- LAPACK auxiliary routine (version 3.2.1)                        --  * Online html documentation available at 
   *            http://www.netlib.org/lapack/explore-html/ 
 *  *
 *  -- April 2009                                                      --  *> \htmlonly
   *> Download ILAENV + dependencies 
   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ilaenv.f"> 
   *> [TGZ]</a> 
   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ilaenv.f"> 
   *> [ZIP]</a> 
   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ilaenv.f"> 
   *> [TXT]</a>
   *> \endhtmlonly 
   *
   *  Definition:
   *  ===========
   *
   *       INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
   * 
   *       .. Scalar Arguments ..
   *       CHARACTER*( * )    NAME, OPTS
   *       INTEGER            ISPEC, N1, N2, N3, N4
   *       ..
   *  
   *
   *> \par Purpose:
   *  =============
   *>
   *> \verbatim
   *>
   *> 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.
   *> \endverbatim
   *
   *  Arguments:
   *  ==========
   *
   *> \param[in] ISPEC
   *> \verbatim
   *>          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
   *> \endverbatim
   *>
   *> \param[in] NAME
   *> \verbatim
   *>          NAME is CHARACTER*(*)
   *>          The name of the calling subroutine, in either upper case or
   *>          lower case.
   *> \endverbatim
   *>
   *> \param[in] OPTS
   *> \verbatim
   *>          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'.
   *> \endverbatim
   *>
   *> \param[in] N1
   *> \verbatim
   *>          N1 is INTEGER
   *> \endverbatim
   *>
   *> \param[in] N2
   *> \verbatim
   *>          N2 is INTEGER
   *> \endverbatim
   *>
   *> \param[in] N3
   *> \verbatim
   *>          N3 is INTEGER
   *> \endverbatim
   *>
   *> \param[in] N4
   *> \verbatim
   *>          N4 is INTEGER
   *>          Problem dimensions for the subroutine NAME; these may not all
   *>          be required.
   *> \endverbatim
   *
   *  Authors:
   *  ========
   *
   *> \author Univ. of Tennessee 
   *> \author Univ. of California Berkeley 
   *> \author Univ. of Colorado Denver 
   *> \author NAG Ltd. 
   *
   *> \date November 2011
   *
   *> \ingroup auxOTHERauxiliary
   *
   *> \par Further Details:
   *  =====================
   *>
   *> \verbatim
   *>
   *>  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 )
   *> \endverbatim
   *>
   *  =====================================================================
         INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
 *  *
   *  -- LAPACK auxiliary routine (version 3.4.0) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   *     November 2011
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER*( * )    NAME, OPTS        CHARACTER*( * )    NAME, OPTS
       INTEGER            ISPEC, N1, N2, N3, N4        INTEGER            ISPEC, 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) 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) CHARACTER*(*)  
 *          The name of the calling subroutine, in either upper case or  
 *          lower case.  
 *  
 *  OPTS    (input) 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) INTEGER  
 *  N2      (input) INTEGER  
 *  N3      (input) INTEGER  
 *  N4      (input) 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 )  
 *  
 *  =====================================================================  *  =====================================================================
 *  *
 *     .. Local Scalars ..  *     .. Local Scalars ..

Removed from v.1.8  
changed lines
  Added in v.1.9


CVSweb interface <joel.bertrand@systella.fr>