1TSTIEE(1)              LAPACK test routine (version 3.2)             TSTIEE(1)
2
3
4

NAME

6       TSTIEE  -  called  from the LAPACK routines to choose problem-dependent
7       parameters for the local environment
8

SYNOPSIS

10       PROGRAM MAIN
11
12           INTEGER  ILAENV
13
14           EXTERNAL ILAENV
15
16           INTEGER  IEEEOK
17
18           WRITE(   6, FMT = * ) 'We  are  about  to  check  whether  infinity
19                    arithmetic'
20
21           WRITE(   6, FMT = * )'can be trusted. If this test hangs, set'
22
23           WRITE(   6,   FMT   =   *   )  'ILAENV  =  0  for  ISPEC  =  10  in
24                    LAPACK/SRC/ilaenv.f'
25
26           IEEEOK   = ILAENV( 10, 'ILAENV', 'N', 1, 2, 3, 4 )
27
28           WRITE(   6, FMT = * )
29
30           IF(      IEEEOK.EQ.0 ) THEN
31
32           WRITE(   6, FMT = * ) 'Infinity arithmetic did not perform per  the
33                    ieee spec'
34
35           ELSE
36
37           WRITE(   6,  FMT  =  *  ) 'Infinity arithmetic performed as per the
38                    ieee spec.'
39
40           WRITE(   6, FMT = * ) 'However, this is not an exhaustive test  and
41                    does not'
42
43           WRITE(   6,  FMT  =  *  ) 'guarantee that infinity arithmetic meets
44                    the', ' ieee spec.'
45
46           END      IF
47
48           WRITE(   6, FMT = * )
49
50           WRITE(   6, FMT = * ) 'We are about to  check  whether  NaN  arith‐
51                    metic'
52
53           WRITE(   6, FMT = * )'can be trusted. If this test hangs, set'
54
55           WRITE(   6,   FMT   =   *   )  'ILAENV  =  0  for  ISPEC  =  11  in
56                    LAPACK/SRC/ilaenv.f'
57
58           IEEEOK   = ILAENV( 11, 'ILAENV', 'N', 1, 2, 3, 4 )
59
60           WRITE(   6, FMT = * )
61
62           IF(      IEEEOK.EQ.0 ) THEN
63
64           WRITE(   6, FMT = * ) 'NaN arithmetic did not perform per the  ieee
65                    spec'
66
67           ELSE
68
69           WRITE(   6,  FMT = * )'NaN arithmetic performed as per the ieee', '
70                    spec.'
71
72           WRITE(   6, FMT = * ) 'However, this is not an exhaustive test  and
73                    does not'
74
75           WRITE(   6,  FMT  = * )'guarantee that NaN arithmetic meets the', '
76                    ieee spec.'
77
78           END      IF
79
80           WRITE(   6, FMT = * )
81
82           END
83
84           INTEGER  FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
85
86           CHARACTER*(
87                    * ) NAME, OPTS
88
89           INTEGER  ISPEC, N1, N2, N3, N4
90

PURPOSE

92       ILAENV is called from the LAPACK routines to  choose  problem-dependent
93       parameters  for  the local environment.  See ISPEC for a description of
94       the parameters.
95
96       This version provides a set of parameters which should give  good,  but
97       not  optimal, performance on many of the currently available computers.
98       Users are encouraged to modify this subroutine to set the tuning param‐
99       eters  for  their  particular machine using the option and problem size
100       information in the arguments.
101
102       This routine will not function correctly if  it  is  converted  to  all
103       lower case.  Converting it to all upper case is allowed.
104
105

ARGUMENTS

107       ISPEC   (input) INTEGER
108               Specifies  the parameter to be returned as the value of ILAENV.
109               = 1: the optimal blocksize; if this value is  1,  an  unblocked
110               algorithm  will  give  the  best performance.  = 2: the minimum
111               block size for which the block routine should be used;  if  the
112               usable block size is less than this value, an unblocked routine
113               should be used.  = 3: the crossover point (in a block  routine,
114               for  N  less  than  this  value, an unblocked routine should be
115               used) = 4: the number of shifts, used in the  nonsymmetric  ei‐
116               genvalue  routines = 5: the minimum column dimension for block‐
117               ing to be used; rectangular blocks must have dimension at least
118               k   by   m,  where  k  is  given  by  ILAENV(2,...)  and  m  by
119               ILAENV(5,...)  = 6: the  crossover  point  for  the  SVD  (when
120               reducing   an   m   by   n   matrix   to  bidiagonal  form,  if
121               max(m,n)/min(m,n) exceeds this value,  a  QR  factorization  is
122               used  first  to  reduce the matrix to a triangular form.)  = 7:
123               the number of processors
124               = 8: the crossover point for the multishift QR and  QZ  methods
125               for nonsymmetric eigenvalue problems.  = 9: maximum size of the
126               subproblems at the  bottom  of  the  computation  tree  in  the
127               divide-and-conquer  algorithm  (used by xGELSD and xGESDD) =10:
128               ieee NaN arithmetic can be trusted not to trap
129               =11: infinity arithmetic can be trusted not to trap
130
131       NAME    (input) CHARACTER*(*)
132               The name of the calling subroutine, in  either  upper  case  or
133               lower case.
134
135       OPTS    (input) CHARACTER*(*)
136               The character options to the subroutine NAME, concatenated into
137               a single character string.  For example, UPLO =  'U',  TRANS  =
138               'T', and DIAG = 'N' for a triangular routine would be specified
139               as OPTS = 'UTN'.
140
141       N1      (input) INTEGER
142               N2      (input) INTEGER N3      (input) INTEGER N4      (input)
143               INTEGER  Problem  dimensions for the subroutine NAME; these may
144               not all be required.
145
146               >= 0: the value of the parameter specified by ISPEC  <  0:   if
147               ILAENV = -k, the k-th argument had an illegal value.
148

FURTHER DETAILS

150       The  following  conventions have been used when calling ILAENV from the
151       LAPACK routines:
152       1)  OPTS is a concatenation of all of the character options to
153           subroutine NAME, in the same order that they appear in the
154           argument list for NAME, even if they are not used in determining
155           the value of the parameter specified by ISPEC.
156       2)  The problem dimensions N1, N2, N3, N4 are specified in the order
157           that they appear in the argument list for NAME.  N1 is used
158           first, N2 second, and so on, and unused problem dimensions are
159           passed a value of -1.
160       3)  The parameter value returned by ILAENV is checked for validity in
161           the calling subroutine.  For example, ILAENV is used to retrieve
162           the optimal blocksize for STRTRI as follows:
163
164           NB = ILAENV( 1, 'STRTRI', UPLO // DIAG, N, -1, -1, -1 )
165           IF( NB.LE.1 ) NB = MAX( 1, N )
166
167
168
169
170 LAPACK test routine (version 3.2)November 2008                       TSTIEE(1)
Impressum