1 SUBROUTINE XLAENV( ISPEC, NVALUE )
2 *
3 * -- LAPACK auxiliary routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 INTEGER ISPEC, NVALUE
9 * ..
10 *
11 * Purpose
12 * =======
13 *
14 * XLAENV sets certain machine- and problem-dependent quantities
15 * which will later be retrieved by ILAENV.
16 *
17 * Arguments
18 * =========
19 *
20 * ISPEC (input) INTEGER
21 * Specifies the parameter to be set in the COMMON array IPARMS.
22 * = 1: the optimal blocksize; if this value is 1, an unblocked
23 * algorithm will give the best performance.
24 * = 2: the minimum block size for which the block routine
25 * should be used; if the usable block size is less than
26 * this value, an unblocked routine should be used.
27 * = 3: the crossover point (in a block routine, for N less
28 * than this value, an unblocked routine should be used)
29 * = 4: the number of shifts, used in the nonsymmetric
30 * eigenvalue routines
31 * = 5: the minimum column dimension for blocking to be used;
32 * rectangular blocks must have dimension at least k by m,
33 * where k is given by ILAENV(2,...) and m by ILAENV(5,...)
34 * = 6: the crossover point for the SVD (when reducing an m by n
35 * matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds
36 * this value, a QR factorization is used first to reduce
37 * the matrix to a triangular form)
38 * = 7: the number of processors
39 * = 8: another crossover point, for the multishift QR and QZ
40 * methods for nonsymmetric eigenvalue problems.
41 * = 9: maximum size of the subproblems at the bottom of the
42 * computation tree in the divide-and-conquer algorithm
43 * (used by xGELSD and xGESDD)
44 * =10: ieee NaN arithmetic can be trusted not to trap
45 * =11: infinity arithmetic can be trusted not to trap
46 * 12 <= ISPEC <= 16:
47 * xHSEQR or one of its subroutines,
48 * see IPARMQ for detailed explanation
49 *
50 * NVALUE (input) INTEGER
51 * The value of the parameter specified by ISPEC.
52 *
53 * =====================================================================
54 *
55 * .. Arrays in Common ..
56 INTEGER IPARMS( 100 )
57 * ..
58 * .. Common blocks ..
59 COMMON / CLAENV / IPARMS
60 * ..
61 * .. Save statement ..
62 SAVE / CLAENV /
63 * ..
64 * .. Executable Statements ..
65 *
66 IF( ISPEC.GE.1 .AND. ISPEC.LE.16 ) THEN
67 IPARMS( ISPEC ) = NVALUE
68 END IF
69 *
70 RETURN
71 *
72 * End of XLAENV
73 *
74 END
2 *
3 * -- LAPACK auxiliary routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 INTEGER ISPEC, NVALUE
9 * ..
10 *
11 * Purpose
12 * =======
13 *
14 * XLAENV sets certain machine- and problem-dependent quantities
15 * which will later be retrieved by ILAENV.
16 *
17 * Arguments
18 * =========
19 *
20 * ISPEC (input) INTEGER
21 * Specifies the parameter to be set in the COMMON array IPARMS.
22 * = 1: the optimal blocksize; if this value is 1, an unblocked
23 * algorithm will give the best performance.
24 * = 2: the minimum block size for which the block routine
25 * should be used; if the usable block size is less than
26 * this value, an unblocked routine should be used.
27 * = 3: the crossover point (in a block routine, for N less
28 * than this value, an unblocked routine should be used)
29 * = 4: the number of shifts, used in the nonsymmetric
30 * eigenvalue routines
31 * = 5: the minimum column dimension for blocking to be used;
32 * rectangular blocks must have dimension at least k by m,
33 * where k is given by ILAENV(2,...) and m by ILAENV(5,...)
34 * = 6: the crossover point for the SVD (when reducing an m by n
35 * matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds
36 * this value, a QR factorization is used first to reduce
37 * the matrix to a triangular form)
38 * = 7: the number of processors
39 * = 8: another crossover point, for the multishift QR and QZ
40 * methods for nonsymmetric eigenvalue problems.
41 * = 9: maximum size of the subproblems at the bottom of the
42 * computation tree in the divide-and-conquer algorithm
43 * (used by xGELSD and xGESDD)
44 * =10: ieee NaN arithmetic can be trusted not to trap
45 * =11: infinity arithmetic can be trusted not to trap
46 * 12 <= ISPEC <= 16:
47 * xHSEQR or one of its subroutines,
48 * see IPARMQ for detailed explanation
49 *
50 * NVALUE (input) INTEGER
51 * The value of the parameter specified by ISPEC.
52 *
53 * =====================================================================
54 *
55 * .. Arrays in Common ..
56 INTEGER IPARMS( 100 )
57 * ..
58 * .. Common blocks ..
59 COMMON / CLAENV / IPARMS
60 * ..
61 * .. Save statement ..
62 SAVE / CLAENV /
63 * ..
64 * .. Executable Statements ..
65 *
66 IF( ISPEC.GE.1 .AND. ISPEC.LE.16 ) THEN
67 IPARMS( ISPEC ) = NVALUE
68 END IF
69 *
70 RETURN
71 *
72 * End of XLAENV
73 *
74 END