1ILAENV(1) LAPACK auxiliary routine (version 3.2) ILAENV(1)
2
3
4
6 ILAENV - is called from the LAPACK routines to choose problem-dependent
7 parameters for the local environment
8
10 INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
11
12 CHARACTER*( * ) NAME, OPTS
13
14 INTEGER ISPEC, N1, N2, N3, N4
15
17 ILAENV is called from the LAPACK routines to choose problem-dependent
18 parameters for the local environment. See ISPEC for a description of
19 the parameters.
20 ILAENV returns an INTEGER
21 if ILAENV >= 0: ILAENV returns the value of the parameter specified by
22 ISPEC if ILAENV < 0: if ILAENV = -k, the k-th argument had an illegal
23 value. This version provides a set of parameters which should give
24 good, but not optimal, performance on many of the currently available
25 computers. Users are encouraged to modify this subroutine to set the
26 tuning parameters for their particular machine using the option and
27 problem size information in the arguments.
28 This routine will not function correctly if it is converted to all
29 lower case. Converting it to all upper case is allowed.
30
32 ISPEC (input) INTEGER
33 Specifies the parameter to be returned as the value of ILAENV.
34 = 1: the optimal blocksize; if this value is 1, an unblocked
35 algorithm will give the best performance. = 2: the minimum
36 block size for which the block routine should be used; if the
37 usable block size is less than this value, an unblocked routine
38 should be used. = 3: the crossover point (in a block routine,
39 for N less than this value, an unblocked routine should be
40 used) = 4: the number of shifts, used in the nonsymmetric ei‐
41 genvalue routines (DEPRECATED) = 5: the minimum column dimen‐
42 sion for blocking to be used; rectangular blocks must have
43 dimension at least k by m, where k is given by ILAENV(2,...)
44 and m by ILAENV(5,...) = 6: the crossover point for the SVD
45 (when reducing an m by n matrix to bidiagonal form, if
46 max(m,n)/min(m,n) exceeds this value, a QR factorization is
47 used first to reduce the matrix to a triangular form.) = 7:
48 the number of processors
49 = 8: the crossover point for the multishift QR method for non‐
50 symmetric eigenvalue problems (DEPRECATED) = 9: maximum size of
51 the subproblems at the bottom of the computation tree in the
52 divide-and-conquer algorithm (used by xGELSD and xGESDD) =10:
53 ieee NaN arithmetic can be trusted not to trap
54 =11: infinity arithmetic can be trusted not to trap
55 12 <= ISPEC <= 16: xHSEQR or one of its subroutines, see IPARMQ
56 for detailed explanation
57
58 NAME (input) CHARACTER*(*)
59 The name of the calling subroutine, in either upper case or
60 lower case.
61
62 OPTS (input) CHARACTER*(*)
63 The character options to the subroutine NAME, concatenated into
64 a single character string. For example, UPLO = 'U', TRANS =
65 'T', and DIAG = 'N' for a triangular routine would be specified
66 as OPTS = 'UTN'.
67
68 N1 (input) INTEGER
69 N2 (input) INTEGER N3 (input) INTEGER N4 (input)
70 INTEGER Problem dimensions for the subroutine NAME; these may
71 not all be required.
72
74 The following conventions have been used when calling ILAENV from the
75 LAPACK routines:
76 1) OPTS is a concatenation of all of the character options to
77 subroutine NAME, in the same order that they appear in the
78 argument list for NAME, even if they are not used in determining
79 the value of the parameter specified by ISPEC.
80 2) The problem dimensions N1, N2, N3, N4 are specified in the order
81 that they appear in the argument list for NAME. N1 is used
82 first, N2 second, and so on, and unused problem dimensions are
83 passed a value of -1.
84 3) The parameter value returned by ILAENV is checked for validity in
85 the calling subroutine. For example, ILAENV is used to retrieve
86 the optimal blocksize for STRTRI as follows:
87 NB = ILAENV( 1, 'STRTRI', UPLO // DIAG, N, -1, -1, -1 )
88 IF( NB.LE.1 ) NB = MAX( 1, N )
89
90
91
92 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008 ILAENV(1)