LAPACK  3.5.0
LAPACK: Linear Algebra PACKage
 All Classes Files Functions Variables Typedefs Macros
xlaenv.f
Go to the documentation of this file.
1 *> \brief \b XLAENV
2 *
3 * =========== DOCUMENTATION ===========
4 *
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
7 *
8 * Definition:
9 * ===========
10 *
11 * SUBROUTINE XLAENV( ISPEC, NVALUE )
12 *
13 * .. Scalar Arguments ..
14 * INTEGER ISPEC, NVALUE
15 * ..
16 *
17 *
18 *> \par Purpose:
19 * =============
20 *>
21 *> \verbatim
22 *>
23 *> XLAENV sets certain machine- and problem-dependent quantities
24 *> which will later be retrieved by ILAENV.
25 *> \endverbatim
26 *
27 * Arguments:
28 * ==========
29 *
30 *> \param[in] ISPEC
31 *> \verbatim
32 *> ISPEC is INTEGER
33 *> Specifies the parameter to be set in the COMMON array IPARMS.
34 *> = 1: the optimal blocksize; if this value is 1, an unblocked
35 *> algorithm will give the best performance.
36 *> = 2: the minimum block size for which the block routine
37 *> should be used; if the usable block size is less than
38 *> this value, an unblocked routine should be used.
39 *> = 3: the crossover point (in a block routine, for N less
40 *> than this value, an unblocked routine should be used)
41 *> = 4: the number of shifts, used in the nonsymmetric
42 *> eigenvalue routines
43 *> = 5: the minimum column dimension for blocking to be used;
44 *> rectangular blocks must have dimension at least k by m,
45 *> where k is given by ILAENV(2,...) and m by ILAENV(5,...)
46 *> = 6: the crossover point for the SVD (when reducing an m by n
47 *> matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds
48 *> this value, a QR factorization is used first to reduce
49 *> the matrix to a triangular form)
50 *> = 7: the number of processors
51 *> = 8: another crossover point, for the multishift QR and QZ
52 *> methods for nonsymmetric eigenvalue problems.
53 *> = 9: maximum size of the subproblems at the bottom of the
54 *> computation tree in the divide-and-conquer algorithm
55 *> (used by xGELSD and xGESDD)
56 *> =10: ieee NaN arithmetic can be trusted not to trap
57 *> =11: infinity arithmetic can be trusted not to trap
58 *> 12 <= ISPEC <= 16:
59 *> xHSEQR or one of its subroutines,
60 *> see IPARMQ for detailed explanation
61 *> \endverbatim
62 *>
63 *> \param[in] NVALUE
64 *> \verbatim
65 *> NVALUE is INTEGER
66 *> The value of the parameter specified by ISPEC.
67 *> \endverbatim
68 *
69 * Authors:
70 * ========
71 *
72 *> \author Univ. of Tennessee
73 *> \author Univ. of California Berkeley
74 *> \author Univ. of Colorado Denver
75 *> \author NAG Ltd.
76 *
77 *> \date November 2011
78 *
79 *> \ingroup aux_eig
80 *
81 * =====================================================================
82  SUBROUTINE xlaenv( ISPEC, NVALUE )
83 *
84 * -- LAPACK test routine (version 3.4.0) --
85 * -- LAPACK is a software package provided by Univ. of Tennessee, --
86 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
87 * November 2011
88 *
89 * .. Scalar Arguments ..
90  INTEGER ispec, nvalue
91 * ..
92 *
93 * =====================================================================
94 *
95 * .. Arrays in Common ..
96  INTEGER iparms( 100 )
97 * ..
98 * .. Common blocks ..
99  COMMON / claenv / iparms
100 * ..
101 * .. Save statement ..
102  SAVE / claenv /
103 * ..
104 * .. Executable Statements ..
105 *
106  IF( ispec.GE.1 .AND. ispec.LE.16 ) THEN
107  iparms( ispec ) = nvalue
108  END IF
109 *
110  RETURN
111 *
112 * End of XLAENV
113 *
114  END