![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b XLAENV 00002 * 00003 * =========== DOCUMENTATION =========== 00004 * 00005 * Online html documentation available at 00006 * http://www.netlib.org/lapack/explore-html/ 00007 * 00008 * Definition: 00009 * =========== 00010 * 00011 * SUBROUTINE XLAENV( ISPEC, NVALUE ) 00012 * 00013 * .. Scalar Arguments .. 00014 * INTEGER ISPEC, NVALUE 00015 * .. 00016 * 00017 * 00018 *> \par Purpose: 00019 * ============= 00020 *> 00021 *> \verbatim 00022 *> 00023 *> XLAENV sets certain machine- and problem-dependent quantities 00024 *> which will later be retrieved by ILAENV. 00025 *> \endverbatim 00026 * 00027 * Arguments: 00028 * ========== 00029 * 00030 *> \param[in] ISPEC 00031 *> \verbatim 00032 *> ISPEC is INTEGER 00033 *> Specifies the parameter to be set in the COMMON array IPARMS. 00034 *> = 1: the optimal blocksize; if this value is 1, an unblocked 00035 *> algorithm will give the best performance. 00036 *> = 2: the minimum block size for which the block routine 00037 *> should be used; if the usable block size is less than 00038 *> this value, an unblocked routine should be used. 00039 *> = 3: the crossover point (in a block routine, for N less 00040 *> than this value, an unblocked routine should be used) 00041 *> = 4: the number of shifts, used in the nonsymmetric 00042 *> eigenvalue routines 00043 *> = 5: the minimum column dimension for blocking to be used; 00044 *> rectangular blocks must have dimension at least k by m, 00045 *> where k is given by ILAENV(2,...) and m by ILAENV(5,...) 00046 *> = 6: the crossover point for the SVD (when reducing an m by n 00047 *> matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds 00048 *> this value, a QR factorization is used first to reduce 00049 *> the matrix to a triangular form) 00050 *> = 7: the number of processors 00051 *> = 8: another crossover point, for the multishift QR and QZ 00052 *> methods for nonsymmetric eigenvalue problems. 00053 *> = 9: maximum size of the subproblems at the bottom of the 00054 *> computation tree in the divide-and-conquer algorithm 00055 *> (used by xGELSD and xGESDD) 00056 *> =10: ieee NaN arithmetic can be trusted not to trap 00057 *> =11: infinity arithmetic can be trusted not to trap 00058 *> 12 <= ISPEC <= 16: 00059 *> xHSEQR or one of its subroutines, 00060 *> see IPARMQ for detailed explanation 00061 *> \endverbatim 00062 *> 00063 *> \param[in] NVALUE 00064 *> \verbatim 00065 *> NVALUE is INTEGER 00066 *> The value of the parameter specified by ISPEC. 00067 *> \endverbatim 00068 * 00069 * Authors: 00070 * ======== 00071 * 00072 *> \author Univ. of Tennessee 00073 *> \author Univ. of California Berkeley 00074 *> \author Univ. of Colorado Denver 00075 *> \author NAG Ltd. 00076 * 00077 *> \date November 2011 00078 * 00079 *> \ingroup aux_eig 00080 * 00081 * ===================================================================== 00082 SUBROUTINE XLAENV( ISPEC, NVALUE ) 00083 * 00084 * -- LAPACK test routine (version 3.4.0) -- 00085 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00086 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00087 * November 2011 00088 * 00089 * .. Scalar Arguments .. 00090 INTEGER ISPEC, NVALUE 00091 * .. 00092 * 00093 * ===================================================================== 00094 * 00095 * .. Arrays in Common .. 00096 INTEGER IPARMS( 100 ) 00097 * .. 00098 * .. Common blocks .. 00099 COMMON / CLAENV / IPARMS 00100 * .. 00101 * .. Save statement .. 00102 SAVE / CLAENV / 00103 * .. 00104 * .. Executable Statements .. 00105 * 00106 IF( ISPEC.GE.1 .AND. ISPEC.LE.16 ) THEN 00107 IPARMS( ISPEC ) = NVALUE 00108 END IF 00109 * 00110 RETURN 00111 * 00112 * End of XLAENV 00113 * 00114 END