LAPACK  3.10.0
LAPACK: Linear Algebra PACKage
zerrst.f
Go to the documentation of this file.
1 *> \brief \b ZERRST
2 *
3 * @precisions fortran z -> c
4 *
5 * =========== DOCUMENTATION ===========
6 *
7 * Online html documentation available at
8 * http://www.netlib.org/lapack/explore-html/
9 *
10 * Definition:
11 * ===========
12 *
13 * SUBROUTINE ZERRST( PATH, NUNIT )
14 *
15 * .. Scalar Arguments ..
16 * CHARACTER*3 PATH
17 * INTEGER NUNIT
18 * ..
19 *
20 *
21 *> \par Purpose:
22 * =============
23 *>
24 *> \verbatim
25 *>
26 *> ZERRST tests the error exits for ZHETRD, ZUNGTR, CUNMTR, ZHPTRD,
27 *> ZUNGTR, ZUPMTR, ZSTEQR, CSTEIN, ZPTEQR, ZHBTRD,
28 *> ZHEEV, CHEEVX, CHEEVD, ZHBEV, CHBEVX, CHBEVD,
29 *> ZHPEV, CHPEVX, CHPEVD, and ZSTEDC.
30 *> ZHEEVD_2STAGE, ZHEEVR_2STAGE, ZHEEVX_2STAGE,
31 *> ZHEEV_2STAGE, ZHBEV_2STAGE, ZHBEVD_2STAGE,
32 *> ZHBEVX_2STAGE, ZHETRD_2STAGE
33 *> \endverbatim
34 *
35 * Arguments:
36 * ==========
37 *
38 *> \param[in] PATH
39 *> \verbatim
40 *> PATH is CHARACTER*3
41 *> The LAPACK path name for the routines to be tested.
42 *> \endverbatim
43 *>
44 *> \param[in] NUNIT
45 *> \verbatim
46 *> NUNIT is INTEGER
47 *> The unit number for output.
48 *> \endverbatim
49 *
50 * Authors:
51 * ========
52 *
53 *> \author Univ. of Tennessee
54 *> \author Univ. of California Berkeley
55 *> \author Univ. of Colorado Denver
56 *> \author NAG Ltd.
57 *
58 *> \ingroup complex16_eig
59 *
60 * =====================================================================
61  SUBROUTINE zerrst( PATH, NUNIT )
62 *
63 * -- LAPACK test routine --
64 * -- LAPACK is a software package provided by Univ. of Tennessee, --
65 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
66 *
67 * .. Scalar Arguments ..
68  CHARACTER*3 PATH
69  INTEGER NUNIT
70 * ..
71 *
72 * =====================================================================
73 *
74 * .. Parameters ..
75  INTEGER NMAX, LIW, LW
76  parameter( nmax = 3, liw = 12*nmax, lw = 20*nmax )
77 * ..
78 * .. Local Scalars ..
79  CHARACTER*2 C2
80  INTEGER I, INFO, J, M, N, NT
81 * ..
82 * .. Local Arrays ..
83  INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
84  DOUBLE PRECISION D( NMAX ), E( NMAX ), R( LW ), RW( LW ),
85  $ X( NMAX )
86  COMPLEX*16 A( NMAX, NMAX ), C( NMAX, NMAX ),
87  $ Q( NMAX, NMAX ), TAU( NMAX ), W( LW ),
88  $ Z( NMAX, NMAX )
89 * ..
90 * .. External Functions ..
91  LOGICAL LSAMEN
92  EXTERNAL lsamen
93 * ..
94 * .. External Subroutines ..
95  EXTERNAL chkxer, zhbev, zhbevd, zhbevx, zhbtrd, zheev,
102 * ..
103 * .. Scalars in Common ..
104  LOGICAL LERR, OK
105  CHARACTER*32 SRNAMT
106  INTEGER INFOT, NOUT
107 * ..
108 * .. Common blocks ..
109  COMMON / infoc / infot, nout, ok, lerr
110  COMMON / srnamc / srnamt
111 * ..
112 * .. Intrinsic Functions ..
113  INTRINSIC dble
114 * ..
115 * .. Executable Statements ..
116 *
117  nout = nunit
118  WRITE( nout, fmt = * )
119  c2 = path( 2: 3 )
120 *
121 * Set the variables to innocuous values.
122 *
123  DO 20 j = 1, nmax
124  DO 10 i = 1, nmax
125  a( i, j ) = 1.d0 / dble( i+j )
126  10 CONTINUE
127  20 CONTINUE
128  DO 30 j = 1, nmax
129  d( j ) = dble( j )
130  e( j ) = 0.0d0
131  i1( j ) = j
132  i2( j ) = j
133  tau( j ) = 1.d0
134  30 CONTINUE
135  ok = .true.
136  nt = 0
137 *
138 * Test error exits for the ST path.
139 *
140  IF( lsamen( 2, c2, 'ST' ) ) THEN
141 *
142 * ZHETRD
143 *
144  srnamt = 'ZHETRD'
145  infot = 1
146  CALL zhetrd( '/', 0, a, 1, d, e, tau, w, 1, info )
147  CALL chkxer( 'ZHETRD', infot, nout, lerr, ok )
148  infot = 2
149  CALL zhetrd( 'U', -1, a, 1, d, e, tau, w, 1, info )
150  CALL chkxer( 'ZHETRD', infot, nout, lerr, ok )
151  infot = 4
152  CALL zhetrd( 'U', 2, a, 1, d, e, tau, w, 1, info )
153  CALL chkxer( 'ZHETRD', infot, nout, lerr, ok )
154  infot = 9
155  CALL zhetrd( 'U', 0, a, 1, d, e, tau, w, 0, info )
156  CALL chkxer( 'ZHETRD', infot, nout, lerr, ok )
157  nt = nt + 4
158 *
159 * ZHETRD_2STAGE
160 *
161  srnamt = 'ZHETRD_2STAGE'
162  infot = 1
163  CALL zhetrd_2stage( '/', 'U', 0, a, 1, d, e, tau,
164  $ c, 1, w, 1, info )
165  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
166  infot = 1
167  CALL zhetrd_2stage( 'H', 'U', 0, a, 1, d, e, tau,
168  $ c, 1, w, 1, info )
169  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
170  infot = 2
171  CALL zhetrd_2stage( 'N', '/', 0, a, 1, d, e, tau,
172  $ c, 1, w, 1, info )
173  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
174  infot = 3
175  CALL zhetrd_2stage( 'N', 'U', -1, a, 1, d, e, tau,
176  $ c, 1, w, 1, info )
177  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
178  infot = 5
179  CALL zhetrd_2stage( 'N', 'U', 2, a, 1, d, e, tau,
180  $ c, 1, w, 1, info )
181  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
182  infot = 10
183  CALL zhetrd_2stage( 'N', 'U', 0, a, 1, d, e, tau,
184  $ c, 0, w, 1, info )
185  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
186  infot = 12
187  CALL zhetrd_2stage( 'N', 'U', 0, a, 1, d, e, tau,
188  $ c, 1, w, 0, info )
189  CALL chkxer( 'ZHETRD_2STAGE', infot, nout, lerr, ok )
190  nt = nt + 7
191 *
192 * ZHETRD_HE2HB
193 *
194  srnamt = 'ZHETRD_HE2HB'
195  infot = 1
196  CALL zhetrd_he2hb( '/', 0, 0, a, 1, c, 1, tau, w, 1, info )
197  CALL chkxer( 'ZHETRD_HE2HB', infot, nout, lerr, ok )
198  infot = 2
199  CALL zhetrd_he2hb( 'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
200  CALL chkxer( 'ZHETRD_HE2HB', infot, nout, lerr, ok )
201  infot = 3
202  CALL zhetrd_he2hb( 'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
203  CALL chkxer( 'ZHETRD_HE2HB', infot, nout, lerr, ok )
204  infot = 5
205  CALL zhetrd_he2hb( 'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
206  CALL chkxer( 'ZHETRD_HE2HB', infot, nout, lerr, ok )
207  infot = 7
208  CALL zhetrd_he2hb( 'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
209  CALL chkxer( 'ZHETRD_HE2HB', infot, nout, lerr, ok )
210  infot = 10
211  CALL zhetrd_he2hb( 'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
212  CALL chkxer( 'ZHETRD_HE2HB', infot, nout, lerr, ok )
213  nt = nt + 6
214 *
215 * ZHETRD_HB2ST
216 *
217  srnamt = 'ZHETRD_HB2ST'
218  infot = 1
219  CALL zhetrd_hb2st( '/', 'N', 'U', 0, 0, a, 1, d, e,
220  $ c, 1, w, 1, info )
221  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
222  infot = 2
223  CALL zhetrd_hb2st( 'Y', '/', 'U', 0, 0, a, 1, d, e,
224  $ c, 1, w, 1, info )
225  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
226  infot = 2
227  CALL zhetrd_hb2st( 'Y', 'H', 'U', 0, 0, a, 1, d, e,
228  $ c, 1, w, 1, info )
229  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
230  infot = 3
231  CALL zhetrd_hb2st( 'Y', 'N', '/', 0, 0, a, 1, d, e,
232  $ c, 1, w, 1, info )
233  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
234  infot = 4
235  CALL zhetrd_hb2st( 'Y', 'N', 'U', -1, 0, a, 1, d, e,
236  $ c, 1, w, 1, info )
237  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
238  infot = 5
239  CALL zhetrd_hb2st( 'Y', 'N', 'U', 0, -1, a, 1, d, e,
240  $ c, 1, w, 1, info )
241  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
242  infot = 7
243  CALL zhetrd_hb2st( 'Y', 'N', 'U', 0, 1, a, 1, d, e,
244  $ c, 1, w, 1, info )
245  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
246  infot = 11
247  CALL zhetrd_hb2st( 'Y', 'N', 'U', 0, 0, a, 1, d, e,
248  $ c, 0, w, 1, info )
249  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
250  infot = 13
251  CALL zhetrd_hb2st( 'Y', 'N', 'U', 0, 0, a, 1, d, e,
252  $ c, 1, w, 0, info )
253  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
254  nt = nt + 9
255 *
256 * ZUNGTR
257 *
258  srnamt = 'ZUNGTR'
259  infot = 1
260  CALL zungtr( '/', 0, a, 1, tau, w, 1, info )
261  CALL chkxer( 'ZUNGTR', infot, nout, lerr, ok )
262  infot = 2
263  CALL zungtr( 'U', -1, a, 1, tau, w, 1, info )
264  CALL chkxer( 'ZUNGTR', infot, nout, lerr, ok )
265  infot = 4
266  CALL zungtr( 'U', 2, a, 1, tau, w, 1, info )
267  CALL chkxer( 'ZUNGTR', infot, nout, lerr, ok )
268  infot = 7
269  CALL zungtr( 'U', 3, a, 3, tau, w, 1, info )
270  CALL chkxer( 'ZUNGTR', infot, nout, lerr, ok )
271  nt = nt + 4
272 *
273 * ZUNMTR
274 *
275  srnamt = 'ZUNMTR'
276  infot = 1
277  CALL zunmtr( '/', 'U', 'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
278  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
279  infot = 2
280  CALL zunmtr( 'L', '/', 'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
281  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
282  infot = 3
283  CALL zunmtr( 'L', 'U', '/', 0, 0, a, 1, tau, c, 1, w, 1, info )
284  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
285  infot = 4
286  CALL zunmtr( 'L', 'U', 'N', -1, 0, a, 1, tau, c, 1, w, 1,
287  $ info )
288  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
289  infot = 5
290  CALL zunmtr( 'L', 'U', 'N', 0, -1, a, 1, tau, c, 1, w, 1,
291  $ info )
292  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
293  infot = 7
294  CALL zunmtr( 'L', 'U', 'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
295  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
296  infot = 7
297  CALL zunmtr( 'R', 'U', 'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
298  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
299  infot = 10
300  CALL zunmtr( 'L', 'U', 'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
301  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
302  infot = 12
303  CALL zunmtr( 'L', 'U', 'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
304  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
305  infot = 12
306  CALL zunmtr( 'R', 'U', 'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
307  CALL chkxer( 'ZUNMTR', infot, nout, lerr, ok )
308  nt = nt + 10
309 *
310 * ZHPTRD
311 *
312  srnamt = 'ZHPTRD'
313  infot = 1
314  CALL zhptrd( '/', 0, a, d, e, tau, info )
315  CALL chkxer( 'ZHPTRD', infot, nout, lerr, ok )
316  infot = 2
317  CALL zhptrd( 'U', -1, a, d, e, tau, info )
318  CALL chkxer( 'ZHPTRD', infot, nout, lerr, ok )
319  nt = nt + 2
320 *
321 * ZUPGTR
322 *
323  srnamt = 'ZUPGTR'
324  infot = 1
325  CALL zupgtr( '/', 0, a, tau, z, 1, w, info )
326  CALL chkxer( 'ZUPGTR', infot, nout, lerr, ok )
327  infot = 2
328  CALL zupgtr( 'U', -1, a, tau, z, 1, w, info )
329  CALL chkxer( 'ZUPGTR', infot, nout, lerr, ok )
330  infot = 6
331  CALL zupgtr( 'U', 2, a, tau, z, 1, w, info )
332  CALL chkxer( 'ZUPGTR', infot, nout, lerr, ok )
333  nt = nt + 3
334 *
335 * ZUPMTR
336 *
337  srnamt = 'ZUPMTR'
338  infot = 1
339  CALL zupmtr( '/', 'U', 'N', 0, 0, a, tau, c, 1, w, info )
340  CALL chkxer( 'ZUPMTR', infot, nout, lerr, ok )
341  infot = 2
342  CALL zupmtr( 'L', '/', 'N', 0, 0, a, tau, c, 1, w, info )
343  CALL chkxer( 'ZUPMTR', infot, nout, lerr, ok )
344  infot = 3
345  CALL zupmtr( 'L', 'U', '/', 0, 0, a, tau, c, 1, w, info )
346  CALL chkxer( 'ZUPMTR', infot, nout, lerr, ok )
347  infot = 4
348  CALL zupmtr( 'L', 'U', 'N', -1, 0, a, tau, c, 1, w, info )
349  CALL chkxer( 'ZUPMTR', infot, nout, lerr, ok )
350  infot = 5
351  CALL zupmtr( 'L', 'U', 'N', 0, -1, a, tau, c, 1, w, info )
352  CALL chkxer( 'ZUPMTR', infot, nout, lerr, ok )
353  infot = 9
354  CALL zupmtr( 'L', 'U', 'N', 2, 0, a, tau, c, 1, w, info )
355  CALL chkxer( 'ZUPMTR', infot, nout, lerr, ok )
356  nt = nt + 6
357 *
358 * ZPTEQR
359 *
360  srnamt = 'ZPTEQR'
361  infot = 1
362  CALL zpteqr( '/', 0, d, e, z, 1, rw, info )
363  CALL chkxer( 'ZPTEQR', infot, nout, lerr, ok )
364  infot = 2
365  CALL zpteqr( 'N', -1, d, e, z, 1, rw, info )
366  CALL chkxer( 'ZPTEQR', infot, nout, lerr, ok )
367  infot = 6
368  CALL zpteqr( 'V', 2, d, e, z, 1, rw, info )
369  CALL chkxer( 'ZPTEQR', infot, nout, lerr, ok )
370  nt = nt + 3
371 *
372 * ZSTEIN
373 *
374  srnamt = 'ZSTEIN'
375  infot = 1
376  CALL zstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
377  CALL chkxer( 'ZSTEIN', infot, nout, lerr, ok )
378  infot = 4
379  CALL zstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
380  CALL chkxer( 'ZSTEIN', infot, nout, lerr, ok )
381  infot = 4
382  CALL zstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
383  CALL chkxer( 'ZSTEIN', infot, nout, lerr, ok )
384  infot = 9
385  CALL zstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
386  CALL chkxer( 'ZSTEIN', infot, nout, lerr, ok )
387  nt = nt + 4
388 *
389 * ZSTEQR
390 *
391  srnamt = 'ZSTEQR'
392  infot = 1
393  CALL zsteqr( '/', 0, d, e, z, 1, rw, info )
394  CALL chkxer( 'ZSTEQR', infot, nout, lerr, ok )
395  infot = 2
396  CALL zsteqr( 'N', -1, d, e, z, 1, rw, info )
397  CALL chkxer( 'ZSTEQR', infot, nout, lerr, ok )
398  infot = 6
399  CALL zsteqr( 'V', 2, d, e, z, 1, rw, info )
400  CALL chkxer( 'ZSTEQR', infot, nout, lerr, ok )
401  nt = nt + 3
402 *
403 * ZSTEDC
404 *
405  srnamt = 'ZSTEDC'
406  infot = 1
407  CALL zstedc( '/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
408  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
409  infot = 2
410  CALL zstedc( 'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
411  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
412  infot = 6
413  CALL zstedc( 'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
414  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
415  infot = 8
416  CALL zstedc( 'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
417  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
418  infot = 8
419  CALL zstedc( 'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
420  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
421  infot = 10
422  CALL zstedc( 'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
423  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
424  infot = 10
425  CALL zstedc( 'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
426  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
427  infot = 10
428  CALL zstedc( 'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
429  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
430  infot = 12
431  CALL zstedc( 'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
432  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
433  infot = 12
434  CALL zstedc( 'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
435  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
436  infot = 12
437  CALL zstedc( 'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
438  CALL chkxer( 'ZSTEDC', infot, nout, lerr, ok )
439  nt = nt + 11
440 *
441 * ZHEEVD
442 *
443  srnamt = 'ZHEEVD'
444  infot = 1
445  CALL zheevd( '/', 'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
446  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
447  infot = 2
448  CALL zheevd( 'N', '/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
449  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
450  infot = 3
451  CALL zheevd( 'N', 'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
452  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
453  infot = 5
454  CALL zheevd( 'N', 'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
455  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
456  infot = 8
457  CALL zheevd( 'N', 'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
458  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
459  infot = 8
460  CALL zheevd( 'N', 'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
461  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
462  infot = 8
463  CALL zheevd( 'V', 'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
464  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
465  infot = 10
466  CALL zheevd( 'N', 'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
467  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
468  infot = 10
469  CALL zheevd( 'N', 'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
470  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
471  infot = 10
472  CALL zheevd( 'V', 'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
473  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
474  infot = 12
475  CALL zheevd( 'N', 'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
476  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
477  infot = 12
478  CALL zheevd( 'V', 'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
479  CALL chkxer( 'ZHEEVD', infot, nout, lerr, ok )
480  nt = nt + 12
481 *
482 * ZHEEVD_2STAGE
483 *
484  srnamt = 'ZHEEVD_2STAGE'
485  infot = 1
486  CALL zheevd_2stage( '/', 'U', 0, a, 1, x, w, 1,
487  $ rw, 1, iw, 1, info )
488  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
489  infot = 1
490  CALL zheevd_2stage( 'V', 'U', 0, a, 1, x, w, 1,
491  $ rw, 1, iw, 1, info )
492  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
493  infot = 2
494  CALL zheevd_2stage( 'N', '/', 0, a, 1, x, w, 1,
495  $ rw, 1, iw, 1, info )
496  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
497  infot = 3
498  CALL zheevd_2stage( 'N', 'U', -1, a, 1, x, w, 1,
499  $ rw, 1, iw, 1, info )
500  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
501  infot = 5
502  CALL zheevd_2stage( 'N', 'U', 2, a, 1, x, w, 3,
503  $ rw, 2, iw, 1, info )
504  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
505  infot = 8
506  CALL zheevd_2stage( 'N', 'U', 1, a, 1, x, w, 0,
507  $ rw, 1, iw, 1, info )
508  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
509  infot = 8
510  CALL zheevd_2stage( 'N', 'U', 2, a, 2, x, w, 2,
511  $ rw, 2, iw, 1, info )
512  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
513 * INFOT = 8
514 * CALL ZHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 3,
515 * $ RW, 25, IW, 12, INFO )
516 * CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
517  infot = 10
518  CALL zheevd_2stage( 'N', 'U', 1, a, 1, x, w, 1,
519  $ rw, 0, iw, 1, info )
520  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
521  infot = 10
522  CALL zheevd_2stage( 'N', 'U', 2, a, 2, x, w, 25,
523  $ rw, 1, iw, 1, info )
524  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
525 * INFOT = 10
526 * CALL ZHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 8,
527 * $ RW, 18, IW, 12, INFO )
528 * CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
529  infot = 12
530  CALL zheevd_2stage( 'N', 'U', 1, a, 1, x, w, 1,
531  $ rw, 1, iw, 0, info )
532  CALL chkxer( 'ZHEEVD_2STAGE', infot, nout, lerr, ok )
533  infot = 12
534 * CALL ZHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 8,
535 * $ RW, 25, IW, 11, INFO )
536 * CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
537  nt = nt + 10
538 *
539 * ZHEEV
540 *
541  srnamt = 'ZHEEV '
542  infot = 1
543  CALL zheev( '/', 'U', 0, a, 1, x, w, 1, rw, info )
544  CALL chkxer( 'ZHEEV ', infot, nout, lerr, ok )
545  infot = 2
546  CALL zheev( 'N', '/', 0, a, 1, x, w, 1, rw, info )
547  CALL chkxer( 'ZHEEV ', infot, nout, lerr, ok )
548  infot = 3
549  CALL zheev( 'N', 'U', -1, a, 1, x, w, 1, rw, info )
550  CALL chkxer( 'ZHEEV ', infot, nout, lerr, ok )
551  infot = 5
552  CALL zheev( 'N', 'U', 2, a, 1, x, w, 3, rw, info )
553  CALL chkxer( 'ZHEEV ', infot, nout, lerr, ok )
554  infot = 8
555  CALL zheev( 'N', 'U', 2, a, 2, x, w, 2, rw, info )
556  CALL chkxer( 'ZHEEV ', infot, nout, lerr, ok )
557  nt = nt + 5
558 *
559 * ZHEEV_2STAGE
560 *
561  srnamt = 'ZHEEV_2STAGE '
562  infot = 1
563  CALL zheev_2stage( '/', 'U', 0, a, 1, x, w, 1, rw, info )
564  CALL chkxer( 'ZHEEV_2STAGE ', infot, nout, lerr, ok )
565  infot = 1
566  CALL zheev_2stage( 'V', 'U', 0, a, 1, x, w, 1, rw, info )
567  CALL chkxer( 'ZHEEV_2STAGE ', infot, nout, lerr, ok )
568  infot = 2
569  CALL zheev_2stage( 'N', '/', 0, a, 1, x, w, 1, rw, info )
570  CALL chkxer( 'ZHEEV_2STAGE ', infot, nout, lerr, ok )
571  infot = 3
572  CALL zheev_2stage( 'N', 'U', -1, a, 1, x, w, 1, rw, info )
573  CALL chkxer( 'ZHEEV_2STAGE ', infot, nout, lerr, ok )
574  infot = 5
575  CALL zheev_2stage( 'N', 'U', 2, a, 1, x, w, 3, rw, info )
576  CALL chkxer( 'ZHEEV_2STAGE ', infot, nout, lerr, ok )
577  infot = 8
578  CALL zheev_2stage( 'N', 'U', 2, a, 2, x, w, 2, rw, info )
579  CALL chkxer( 'ZHEEV_2STAGE ', infot, nout, lerr, ok )
580  nt = nt + 6
581 *
582 * ZHEEVX
583 *
584  srnamt = 'ZHEEVX'
585  infot = 1
586  CALL zheevx( '/', 'A', 'U', 0, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
587  $ m, x, z, 1, w, 1, rw, iw, i3, info )
588  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
589  infot = 2
590  CALL zheevx( 'V', '/', 'U', 0, a, 1, 0.0d0, 1.0d0, 1, 0, 0.0d0,
591  $ m, x, z, 1, w, 1, rw, iw, i3, info )
592  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
593  infot = 3
594  CALL zheevx( 'V', 'A', '/', 0, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
595  $ m, x, z, 1, w, 1, rw, iw, i3, info )
596  infot = 4
597  CALL zheevx( 'V', 'A', 'U', -1, a, 1, 0.0d0, 0.0d0, 0, 0,
598  $ 0.0d0, m, x, z, 1, w, 1, rw, iw, i3, info )
599  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
600  infot = 6
601  CALL zheevx( 'V', 'A', 'U', 2, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
602  $ m, x, z, 2, w, 3, rw, iw, i3, info )
603  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
604  infot = 8
605  CALL zheevx( 'V', 'V', 'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
606  $ m, x, z, 1, w, 1, rw, iw, i3, info )
607  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
608  infot = 9
609  CALL zheevx( 'V', 'I', 'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
610  $ m, x, z, 1, w, 1, rw, iw, i3, info )
611  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
612  infot = 10
613  CALL zheevx( 'V', 'I', 'U', 2, a, 2, 0.0d0, 0.0d0, 2, 1, 0.0d0,
614  $ m, x, z, 2, w, 3, rw, iw, i3, info )
615  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
616  infot = 15
617  CALL zheevx( 'V', 'A', 'U', 2, a, 2, 0.0d0, 0.0d0, 0, 0, 0.0d0,
618  $ m, x, z, 1, w, 3, rw, iw, i3, info )
619  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
620  infot = 17
621  CALL zheevx( 'V', 'A', 'U', 2, a, 2, 0.0d0, 0.0d0, 0, 0, 0.0d0,
622  $ m, x, z, 2, w, 2, rw, iw, i1, info )
623  CALL chkxer( 'ZHEEVX', infot, nout, lerr, ok )
624  nt = nt + 10
625 *
626 * ZHEEVX_2STAGE
627 *
628  srnamt = 'ZHEEVX_2STAGE'
629  infot = 1
630  CALL zheevx_2stage( '/', 'A', 'U', 0, a, 1,
631  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
632  $ m, x, z, 1, w, 1, rw, iw, i3, info )
633  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
634  infot = 1
635  CALL zheevx_2stage( 'V', 'A', 'U', 0, a, 1,
636  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
637  $ m, x, z, 1, w, 1, rw, iw, i3, info )
638  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
639  infot = 2
640  CALL zheevx_2stage( 'N', '/', 'U', 0, a, 1,
641  $ 0.0d0, 1.0d0, 1, 0, 0.0d0,
642  $ m, x, z, 1, w, 1, rw, iw, i3, info )
643  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
644  infot = 3
645  CALL zheevx_2stage( 'N', 'A', '/', 0, a, 1,
646  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
647  $ m, x, z, 1, w, 1, rw, iw, i3, info )
648  infot = 4
649  CALL zheevx_2stage( 'N', 'A', 'U', -1, a, 1,
650  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
651  $ m, x, z, 1, w, 1, rw, iw, i3, info )
652  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
653  infot = 6
654  CALL zheevx_2stage( 'N', 'A', 'U', 2, a, 1,
655  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
656  $ m, x, z, 2, w, 3, rw, iw, i3, info )
657  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
658  infot = 8
659  CALL zheevx_2stage( 'N', 'V', 'U', 1, a, 1,
660  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
661  $ m, x, z, 1, w, 1, rw, iw, i3, info )
662  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
663  infot = 9
664  CALL zheevx_2stage( 'N', 'I', 'U', 1, a, 1,
665  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
666  $ m, x, z, 1, w, 1, rw, iw, i3, info )
667  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
668  infot = 10
669  CALL zheevx_2stage( 'N', 'I', 'U', 2, a, 2,
670  $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
671  $ m, x, z, 2, w, 3, rw, iw, i3, info )
672  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
673  infot = 15
674  CALL zheevx_2stage( 'N', 'A', 'U', 2, a, 2,
675  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
676  $ m, x, z, 0, w, 3, rw, iw, i3, info )
677  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
678  infot = 17
679  CALL zheevx_2stage( 'N', 'A', 'U', 2, a, 2,
680  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
681  $ m, x, z, 2, w, 0, rw, iw, i1, info )
682  CALL chkxer( 'ZHEEVX_2STAGE', infot, nout, lerr, ok )
683  nt = nt + 11
684 *
685 * ZHEEVR
686 *
687  srnamt = 'ZHEEVR'
688  n = 1
689  infot = 1
690  CALL zheevr( '/', 'A', 'U', 0, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
691  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
692  $ 10*n, info )
693  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
694  infot = 2
695  CALL zheevr( 'V', '/', 'U', 0, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
696  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
697  $ 10*n, info )
698  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
699  infot = 3
700  CALL zheevr( 'V', 'A', '/', -1, a, 1, 0.0d0, 0.0d0, 1, 1,
701  $ 0.0d0, m, r, z, 1, iw, q, 2*n, rw, 24*n,
702  $ iw( 2*n+1 ), 10*n, info )
703  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
704  infot = 4
705  CALL zheevr( 'V', 'A', 'U', -1, a, 1, 0.0d0, 0.0d0, 1, 1,
706  $ 0.0d0, m, r, z, 1, iw, q, 2*n, rw, 24*n,
707  $ iw( 2*n+1 ), 10*n, info )
708  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
709  infot = 6
710  CALL zheevr( 'V', 'A', 'U', 2, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
711  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
712  $ 10*n, info )
713  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
714  infot = 8
715  CALL zheevr( 'V', 'V', 'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
716  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
717  $ 10*n, info )
718  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
719  infot = 9
720  CALL zheevr( 'V', 'I', 'U', 1, a, 1, 0.0d0, 0.0d0, 0, 1, 0.0d0,
721  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
722  $ 10*n, info )
723  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
724  infot = 10
725 *
726  CALL zheevr( 'V', 'I', 'U', 2, a, 2, 0.0d0, 0.0d0, 2, 1, 0.0d0,
727  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
728  $ 10*n, info )
729  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
730  infot = 15
731  CALL zheevr( 'V', 'I', 'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
732  $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
733  $ 10*n, info )
734  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
735  infot = 18
736  CALL zheevr( 'V', 'I', 'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
737  $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
738  $ 10*n, info )
739  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
740  infot = 20
741  CALL zheevr( 'V', 'I', 'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
742  $ m, r, z, 1, iw, q, 2*n, rw, 24*n-1, iw( 2*n-1 ),
743  $ 10*n, info )
744  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
745  infot = 22
746  CALL zheevr( 'V', 'I', 'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
747  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw, 10*n-1,
748  $ info )
749  CALL chkxer( 'ZHEEVR', infot, nout, lerr, ok )
750  nt = nt + 12
751 *
752 * ZHEEVR_2STAGE
753 *
754  srnamt = 'ZHEEVR_2STAGE'
755  n = 1
756  infot = 1
757  CALL zheevr_2stage( '/', 'A', 'U', 0, a, 1,
758  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
759  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
760  $ 10*n, info )
761  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
762  infot = 1
763  CALL zheevr_2stage( 'V', 'A', 'U', 0, a, 1,
764  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
765  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
766  $ 10*n, info )
767  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
768  infot = 2
769  CALL zheevr_2stage( 'N', '/', 'U', 0, a, 1,
770  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
771  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
772  $ 10*n, info )
773  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
774  infot = 3
775  CALL zheevr_2stage( 'N', 'A', '/', -1, a, 1,
776  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
777  $ m, r, z, 1, iw, q, 2*n, rw, 24*n,
778  $ iw( 2*n+1 ), 10*n, info )
779  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
780  infot = 4
781  CALL zheevr_2stage( 'N', 'A', 'U', -1, a, 1,
782  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
783  $ m, r, z, 1, iw, q, 2*n, rw, 24*n,
784  $ iw( 2*n+1 ), 10*n, info )
785  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
786  infot = 6
787  CALL zheevr_2stage( 'N', 'A', 'U', 2, a, 1,
788  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
789  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
790  $ 10*n, info )
791  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
792  infot = 8
793  CALL zheevr_2stage( 'N', 'V', 'U', 1, a, 1,
794  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
795  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
796  $ 10*n, info )
797  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
798  infot = 9
799  CALL zheevr_2stage( 'N', 'I', 'U', 1, a, 1,
800  $ 0.0d0, 0.0d0, 0, 1, 0.0d0,
801  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
802  $ 10*n, info )
803  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
804  infot = 10
805  CALL zheevr_2stage( 'N', 'I', 'U', 2, a, 2,
806  $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
807  $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
808  $ 10*n, info )
809  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
810  infot = 15
811  CALL zheevr_2stage( 'N', 'I', 'U', 1, a, 1,
812  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
813  $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
814  $ 10*n, info )
815  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
816  infot = 18
817  CALL zheevr_2stage( 'N', 'I', 'U', 1, a, 1,
818  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
819  $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
820  $ 10*n, info )
821  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
822  infot = 20
823  CALL zheevr_2stage( 'N', 'I', 'U', 1, a, 1,
824  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
825  $ m, r, z, 1, iw, q, 26*n, rw, 24*n-1, iw( 2*n-1 ),
826  $ 10*n, info )
827  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
828  infot = 22
829  CALL zheevr_2stage( 'N', 'I', 'U', 1, a, 1,
830  $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
831  $ m, r, z, 1, iw, q, 26*n, rw, 24*n, iw, 10*n-1,
832  $ info )
833  CALL chkxer( 'ZHEEVR_2STAGE', infot, nout, lerr, ok )
834  nt = nt + 13
835 *
836 * ZHPEVD
837 *
838  srnamt = 'ZHPEVD'
839  infot = 1
840  CALL zhpevd( '/', 'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
841  $ info )
842  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
843  infot = 2
844  CALL zhpevd( 'N', '/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
845  $ info )
846  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
847  infot = 3
848  CALL zhpevd( 'N', 'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
849  $ info )
850  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
851  infot = 7
852  CALL zhpevd( 'V', 'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
853  $ info )
854  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
855  infot = 9
856  CALL zhpevd( 'N', 'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
857  $ info )
858  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
859  infot = 9
860  CALL zhpevd( 'N', 'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
861  $ info )
862  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
863  infot = 9
864  CALL zhpevd( 'V', 'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
865  $ info )
866  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
867  infot = 11
868  CALL zhpevd( 'N', 'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
869  $ info )
870  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
871  infot = 11
872  CALL zhpevd( 'N', 'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
873  $ info )
874  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
875  infot = 11
876  CALL zhpevd( 'V', 'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
877  $ info )
878  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
879  infot = 13
880  CALL zhpevd( 'N', 'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
881  $ info )
882  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
883  infot = 13
884  CALL zhpevd( 'N', 'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
885  $ info )
886  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
887  infot = 13
888  CALL zhpevd( 'V', 'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
889  $ info )
890  CALL chkxer( 'ZHPEVD', infot, nout, lerr, ok )
891  nt = nt + 13
892 *
893 * ZHPEV
894 *
895  srnamt = 'ZHPEV '
896  infot = 1
897  CALL zhpev( '/', 'U', 0, a, x, z, 1, w, rw, info )
898  CALL chkxer( 'ZHPEV ', infot, nout, lerr, ok )
899  infot = 2
900  CALL zhpev( 'N', '/', 0, a, x, z, 1, w, rw, info )
901  CALL chkxer( 'ZHPEV ', infot, nout, lerr, ok )
902  infot = 3
903  CALL zhpev( 'N', 'U', -1, a, x, z, 1, w, rw, info )
904  CALL chkxer( 'ZHPEV ', infot, nout, lerr, ok )
905  infot = 7
906  CALL zhpev( 'V', 'U', 2, a, x, z, 1, w, rw, info )
907  CALL chkxer( 'ZHPEV ', infot, nout, lerr, ok )
908  nt = nt + 4
909 *
910 * ZHPEVX
911 *
912  srnamt = 'ZHPEVX'
913  infot = 1
914  CALL zhpevx( '/', 'A', 'U', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
915  $ x, z, 1, w, rw, iw, i3, info )
916  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
917  infot = 2
918  CALL zhpevx( 'V', '/', 'U', 0, a, 0.0d0, 1.0d0, 1, 0, 0.0d0, m,
919  $ x, z, 1, w, rw, iw, i3, info )
920  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
921  infot = 3
922  CALL zhpevx( 'V', 'A', '/', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
923  $ x, z, 1, w, rw, iw, i3, info )
924  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
925  infot = 4
926  CALL zhpevx( 'V', 'A', 'U', -1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0,
927  $ m, x, z, 1, w, rw, iw, i3, info )
928  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
929  infot = 7
930  CALL zhpevx( 'V', 'V', 'U', 1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
931  $ x, z, 1, w, rw, iw, i3, info )
932  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
933  infot = 8
934  CALL zhpevx( 'V', 'I', 'U', 1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
935  $ x, z, 1, w, rw, iw, i3, info )
936  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
937  infot = 9
938  CALL zhpevx( 'V', 'I', 'U', 2, a, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
939  $ x, z, 2, w, rw, iw, i3, info )
940  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
941  infot = 14
942  CALL zhpevx( 'V', 'A', 'U', 2, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
943  $ x, z, 1, w, rw, iw, i3, info )
944  CALL chkxer( 'ZHPEVX', infot, nout, lerr, ok )
945  nt = nt + 8
946 *
947 * Test error exits for the HB path.
948 *
949  ELSE IF( lsamen( 2, c2, 'HB' ) ) THEN
950 *
951 * ZHBTRD
952 *
953  srnamt = 'ZHBTRD'
954  infot = 1
955  CALL zhbtrd( '/', 'U', 0, 0, a, 1, d, e, z, 1, w, info )
956  CALL chkxer( 'ZHBTRD', infot, nout, lerr, ok )
957  infot = 2
958  CALL zhbtrd( 'N', '/', 0, 0, a, 1, d, e, z, 1, w, info )
959  CALL chkxer( 'ZHBTRD', infot, nout, lerr, ok )
960  infot = 3
961  CALL zhbtrd( 'N', 'U', -1, 0, a, 1, d, e, z, 1, w, info )
962  CALL chkxer( 'ZHBTRD', infot, nout, lerr, ok )
963  infot = 4
964  CALL zhbtrd( 'N', 'U', 0, -1, a, 1, d, e, z, 1, w, info )
965  CALL chkxer( 'ZHBTRD', infot, nout, lerr, ok )
966  infot = 6
967  CALL zhbtrd( 'N', 'U', 1, 1, a, 1, d, e, z, 1, w, info )
968  CALL chkxer( 'ZHBTRD', infot, nout, lerr, ok )
969  infot = 10
970  CALL zhbtrd( 'V', 'U', 2, 0, a, 1, d, e, z, 1, w, info )
971  CALL chkxer( 'ZHBTRD', infot, nout, lerr, ok )
972  nt = nt + 6
973 *
974 * ZHETRD_HB2ST
975 *
976  srnamt = 'ZHETRD_HB2ST'
977  infot = 1
978  CALL zhetrd_hb2st( '/', 'N', 'U', 0, 0, a, 1, d, e,
979  $ c, 1, w, 1, info )
980  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
981  infot = 2
982  CALL zhetrd_hb2st( 'N', '/', 'U', 0, 0, a, 1, d, e,
983  $ c, 1, w, 1, info )
984  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
985  infot = 2
986  CALL zhetrd_hb2st( 'N', 'H', 'U', 0, 0, a, 1, d, e,
987  $ c, 1, w, 1, info )
988  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
989  infot = 3
990  CALL zhetrd_hb2st( 'N', 'N', '/', 0, 0, a, 1, d, e,
991  $ c, 1, w, 1, info )
992  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
993  infot = 4
994  CALL zhetrd_hb2st( 'N', 'N', 'U', -1, 0, a, 1, d, e,
995  $ c, 1, w, 1, info )
996  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
997  infot = 5
998  CALL zhetrd_hb2st( 'N', 'N', 'U', 0, -1, a, 1, d, e,
999  $ c, 1, w, 1, info )
1000  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
1001  infot = 7
1002  CALL zhetrd_hb2st( 'N', 'N', 'U', 0, 1, a, 1, d, e,
1003  $ c, 1, w, 1, info )
1004  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
1005  infot = 11
1006  CALL zhetrd_hb2st( 'N', 'N', 'U', 0, 0, a, 1, d, e,
1007  $ c, 0, w, 1, info )
1008  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
1009  infot = 13
1010  CALL zhetrd_hb2st( 'N', 'N', 'U', 0, 0, a, 1, d, e,
1011  $ c, 1, w, 0, info )
1012  CALL chkxer( 'ZHETRD_HB2ST', infot, nout, lerr, ok )
1013  nt = nt + 9
1014 *
1015 * ZHBEVD
1016 *
1017  srnamt = 'ZHBEVD'
1018  infot = 1
1019  CALL zhbevd( '/', 'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1020  $ info )
1021  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1022  infot = 2
1023  CALL zhbevd( 'N', '/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1024  $ info )
1025  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1026  infot = 3
1027  CALL zhbevd( 'N', 'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
1028  $ 1, info )
1029  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1030  infot = 4
1031  CALL zhbevd( 'N', 'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
1032  $ 1, info )
1033  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1034  infot = 6
1035  CALL zhbevd( 'N', 'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
1036  $ info )
1037  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1038  infot = 9
1039  CALL zhbevd( 'V', 'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
1040  $ 12, info )
1041  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1042  infot = 11
1043  CALL zhbevd( 'N', 'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
1044  $ info )
1045  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1046  infot = 11
1047  CALL zhbevd( 'N', 'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
1048  $ info )
1049  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1050  infot = 11
1051  CALL zhbevd( 'V', 'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
1052  $ 12, info )
1053  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1054  infot = 13
1055  CALL zhbevd( 'N', 'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
1056  $ info )
1057  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1058  infot = 13
1059  CALL zhbevd( 'N', 'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
1060  $ info )
1061  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1062  infot = 13
1063  CALL zhbevd( 'V', 'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
1064  $ 12, info )
1065  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1066  infot = 15
1067  CALL zhbevd( 'N', 'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
1068  $ info )
1069  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1070  infot = 15
1071  CALL zhbevd( 'N', 'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
1072  $ info )
1073  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1074  infot = 15
1075  CALL zhbevd( 'V', 'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
1076  $ 2, info )
1077  CALL chkxer( 'ZHBEVD', infot, nout, lerr, ok )
1078  nt = nt + 15
1079 *
1080 * ZHBEVD_2STAGE
1081 *
1082  srnamt = 'ZHBEVD_2STAGE'
1083  infot = 1
1084  CALL zhbevd_2stage( '/', 'U', 0, 0, a, 1, x, z, 1,
1085  $ w, 1, rw, 1, iw, 1, info )
1086  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1087  infot = 1
1088  CALL zhbevd_2stage( 'V', 'U', 0, 0, a, 1, x, z, 1,
1089  $ w, 1, rw, 1, iw, 1, info )
1090  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1091  infot = 2
1092  CALL zhbevd_2stage( 'N', '/', 0, 0, a, 1, x, z, 1,
1093  $ w, 1, rw, 1, iw, 1, info )
1094  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1095  infot = 3
1096  CALL zhbevd_2stage( 'N', 'U', -1, 0, a, 1, x, z, 1,
1097  $ w, 1, rw, 1, iw, 1, info )
1098  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1099  infot = 4
1100  CALL zhbevd_2stage( 'N', 'U', 0, -1, a, 1, x, z, 1,
1101  $ w, 1, rw, 1, iw, 1, info )
1102  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1103  infot = 6
1104  CALL zhbevd_2stage( 'N', 'U', 2, 1, a, 1, x, z, 1,
1105  $ w, 2, rw, 2, iw, 1, info )
1106  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1107  infot = 9
1108  CALL zhbevd_2stage( 'N', 'U', 2, 1, a, 2, x, z, 0,
1109  $ w, 8, rw, 25, iw, 12, info )
1110  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1111  infot = 11
1112  CALL zhbevd_2stage( 'N', 'U', 1, 0, a, 1, x, z, 1,
1113  $ w, 0, rw, 1, iw, 1, info )
1114  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1115  infot = 11
1116  CALL zhbevd_2stage( 'N', 'U', 2, 1, a, 2, x, z, 2,
1117  $ w, 1, rw, 2, iw, 1, info )
1118  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1119 * INFOT = 11
1120 * CALL ZHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
1121 * $ W, 2, RW, 25, IW, 12, INFO )
1122 * CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1123  infot = 13
1124  CALL zhbevd_2stage( 'N', 'U', 1, 0, a, 1, x, z, 1,
1125  $ w, 1, rw, 0, iw, 1, info )
1126  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1127  infot = 13
1128  CALL zhbevd_2stage( 'N', 'U', 2, 1, a, 2, x, z, 2,
1129  $ w, 25, rw, 1, iw, 1, info )
1130  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1131 * INFOT = 13
1132 * CALL ZHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
1133 * $ W, 25, RW, 2, IW, 12, INFO )
1134 * CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1135  infot = 15
1136  CALL zhbevd_2stage( 'N', 'U', 1, 0, a, 1, x, z, 1,
1137  $ w, 1, rw, 1, iw, 0, info )
1138  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1139  infot = 15
1140  CALL zhbevd_2stage( 'N', 'U', 2, 1, a, 2, x, z, 2,
1141  $ w, 25, rw, 2, iw, 0, info )
1142  CALL chkxer( 'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1143 * INFOT = 15
1144 * CALL ZHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
1145 * $ W, 25, RW, 25, IW, 2, INFO )
1146 * CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1147  nt = nt + 13
1148 *
1149 * ZHBEV
1150 *
1151  srnamt = 'ZHBEV '
1152  infot = 1
1153  CALL zhbev( '/', 'U', 0, 0, a, 1, x, z, 1, w, rw, info )
1154  CALL chkxer( 'ZHBEV ', infot, nout, lerr, ok )
1155  infot = 2
1156  CALL zhbev( 'N', '/', 0, 0, a, 1, x, z, 1, w, rw, info )
1157  CALL chkxer( 'ZHBEV ', infot, nout, lerr, ok )
1158  infot = 3
1159  CALL zhbev( 'N', 'U', -1, 0, a, 1, x, z, 1, w, rw, info )
1160  CALL chkxer( 'ZHBEV ', infot, nout, lerr, ok )
1161  infot = 4
1162  CALL zhbev( 'N', 'U', 0, -1, a, 1, x, z, 1, w, rw, info )
1163  CALL chkxer( 'ZHBEV ', infot, nout, lerr, ok )
1164  infot = 6
1165  CALL zhbev( 'N', 'U', 2, 1, a, 1, x, z, 1, w, rw, info )
1166  CALL chkxer( 'ZHBEV ', infot, nout, lerr, ok )
1167  infot = 9
1168  CALL zhbev( 'V', 'U', 2, 0, a, 1, x, z, 1, w, rw, info )
1169  CALL chkxer( 'ZHBEV ', infot, nout, lerr, ok )
1170  nt = nt + 6
1171 *
1172 * ZHBEV_2STAGE
1173 *
1174  srnamt = 'ZHBEV_2STAGE '
1175  infot = 1
1176  CALL zhbev_2stage( '/', 'U', 0, 0, a, 1, x,
1177  $ z, 1, w, 0, rw, info )
1178  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1179  infot = 1
1180  CALL zhbev_2stage( 'V', 'U', 0, 0, a, 1, x,
1181  $ z, 1, w, 0, rw, info )
1182  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1183  infot = 2
1184  CALL zhbev_2stage( 'N', '/', 0, 0, a, 1, x,
1185  $ z, 1, w, 0, rw, info )
1186  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1187  infot = 3
1188  CALL zhbev_2stage( 'N', 'U', -1, 0, a, 1, x,
1189  $ z, 1, w, 0, rw, info )
1190  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1191  infot = 4
1192  CALL zhbev_2stage( 'N', 'U', 0, -1, a, 1, x,
1193  $ z, 1, w, 0, rw, info )
1194  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1195  infot = 6
1196  CALL zhbev_2stage( 'N', 'U', 2, 1, a, 1, x,
1197  $ z, 1, w, 0, rw, info )
1198  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1199  infot = 9
1200  CALL zhbev_2stage( 'N', 'U', 2, 0, a, 1, x,
1201  $ z, 0, w, 0, rw, info )
1202  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1203  infot = 11
1204  CALL zhbev_2stage( 'N', 'U', 2, 0, a, 1, x,
1205  $ z, 1, w, 0, rw, info )
1206  CALL chkxer( 'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1207  nt = nt + 8
1208 *
1209 * ZHBEVX
1210 *
1211  srnamt = 'ZHBEVX'
1212  infot = 1
1213  CALL zhbevx( '/', 'A', 'U', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1214  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1215  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1216  infot = 2
1217  CALL zhbevx( 'V', '/', 'U', 0, 0, a, 1, q, 1, 0.0d0, 1.0d0, 1,
1218  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1219  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1220  infot = 3
1221  CALL zhbevx( 'V', 'A', '/', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1222  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1223  infot = 4
1224  CALL zhbevx( 'V', 'A', 'U', -1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1225  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1226  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1227  infot = 5
1228  CALL zhbevx( 'V', 'A', 'U', 0, -1, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1229  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1230  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1231  infot = 7
1232  CALL zhbevx( 'V', 'A', 'U', 2, 1, a, 1, q, 2, 0.0d0, 0.0d0, 0,
1233  $ 0, 0.0d0, m, x, z, 2, w, rw, iw, i3, info )
1234  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1235  infot = 9
1236  CALL zhbevx( 'V', 'A', 'U', 2, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1237  $ 0, 0.0d0, m, x, z, 2, w, rw, iw, i3, info )
1238  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1239  infot = 11
1240  CALL zhbevx( 'V', 'V', 'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1241  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1242  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1243  infot = 12
1244  CALL zhbevx( 'V', 'I', 'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1245  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1246  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1247  infot = 13
1248  CALL zhbevx( 'V', 'I', 'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 1,
1249  $ 2, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1250  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1251  infot = 18
1252  CALL zhbevx( 'V', 'A', 'U', 2, 0, a, 1, q, 2, 0.0d0, 0.0d0, 0,
1253  $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
1254  CALL chkxer( 'ZHBEVX', infot, nout, lerr, ok )
1255  nt = nt + 11
1256 *
1257 * ZHBEVX_2STAGE
1258 *
1259  srnamt = 'ZHBEVX_2STAGE'
1260  infot = 1
1261  CALL zhbevx_2stage( '/', 'A', 'U', 0, 0, a, 1, q, 1,
1262  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1263  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1264  infot = 1
1265  CALL zhbevx_2stage( 'V', 'A', 'U', 0, 0, a, 1, q, 1,
1266  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1267  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1268  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1269  infot = 2
1270  CALL zhbevx_2stage( 'N', '/', 'U', 0, 0, a, 1, q, 1,
1271  $ 0.0d0, 1.0d0, 1, 0, 0.0d0,
1272  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1273  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1274  infot = 3
1275  CALL zhbevx_2stage( 'N', 'A', '/', 0, 0, a, 1, q, 1,
1276  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1277  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1278  infot = 4
1279  CALL zhbevx_2stage( 'N', 'A', 'U', -1, 0, a, 1, q, 1,
1280  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1281  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1282  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1283  infot = 5
1284  CALL zhbevx_2stage( 'N', 'A', 'U', 0, -1, a, 1, q, 1,
1285  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1286  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1287  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1288  infot = 7
1289  CALL zhbevx_2stage( 'N', 'A', 'U', 2, 1, a, 1, q, 2,
1290  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1291  $ m, x, z, 2, w, 0, rw, iw, i3, info )
1292  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1293 * INFOT = 9
1294 * CALL ZHBEVX_2STAGE( 'V', 'A', 'U', 2, 0, A, 1, Q, 1,
1295 * $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
1296 * $ M, X, Z, 2, W, 0, RW, IW, I3, INFO )
1297 * CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1298  infot = 11
1299  CALL zhbevx_2stage( 'N', 'V', 'U', 1, 0, a, 1, q, 1,
1300  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1301  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1302  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1303  infot = 12
1304  CALL zhbevx_2stage( 'N', 'I', 'U', 1, 0, a, 1, q, 1,
1305  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1306  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1307  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1308  infot = 13
1309  CALL zhbevx_2stage( 'N', 'I', 'U', 1, 0, a, 1, q, 1,
1310  $ 0.0d0, 0.0d0, 1, 2, 0.0d0,
1311  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1312  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1313  infot = 18
1314  CALL zhbevx_2stage( 'N', 'A', 'U', 2, 0, a, 1, q, 2,
1315  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1316  $ m, x, z, 0, w, 0, rw, iw, i3, info )
1317  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1318  infot = 20
1319  CALL zhbevx_2stage( 'N', 'A', 'U', 2, 0, a, 1, q, 2,
1320  $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1321  $ m, x, z, 1, w, 0, rw, iw, i3, info )
1322  CALL chkxer( 'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1323  nt = nt + 12
1324  END IF
1325 *
1326 * Print a summary line.
1327 *
1328  IF( ok ) THEN
1329  WRITE( nout, fmt = 9999 )path, nt
1330  ELSE
1331  WRITE( nout, fmt = 9998 )path
1332  END IF
1333 *
1334  9999 FORMAT( 1x, a3, ' routines passed the tests of the error exits',
1335  $ ' (', i3, ' tests done)' )
1336  9998 FORMAT( ' *** ', a3, ' routines failed the tests of the error ',
1337  $ 'exits ***' )
1338 *
1339  RETURN
1340 *
1341 * End of ZERRST
1342 *
1343  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine zerrst(PATH, NUNIT)
ZERRST
Definition: zerrst.f:62
subroutine zhetrd_2stage(VECT, UPLO, N, A, LDA, D, E, TAU, HOUS2, LHOUS2, WORK, LWORK, INFO)
ZHETRD_2STAGE
subroutine zhetrd_he2hb(UPLO, N, KD, A, LDA, AB, LDAB, TAU, WORK, LWORK, INFO)
ZHETRD_HE2HB
Definition: zhetrd_he2hb.f:243
subroutine zhetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
ZHETRD
Definition: zhetrd.f:192
subroutine zheevd_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHEEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE mat...
subroutine zheevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHEEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
Definition: zheevr.f:357
subroutine zheevd(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHEEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
Definition: zheevd.f:205
subroutine zheevx(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
ZHEEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
Definition: zheevx.f:259
subroutine zheevx_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
ZHEEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE mat...
subroutine zheev_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
ZHEEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matr...
Definition: zheev_2stage.f:189
subroutine zheevr_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHEEVR_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE mat...
subroutine zheev(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
ZHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
Definition: zheev.f:140
subroutine zsteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZSTEQR
Definition: zsteqr.f:132
subroutine zupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
ZUPMTR
Definition: zupmtr.f:150
subroutine zunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMTR
Definition: zunmtr.f:171
subroutine zungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
ZUNGTR
Definition: zungtr.f:123
subroutine zhptrd(UPLO, N, AP, D, E, TAU, INFO)
ZHPTRD
Definition: zhptrd.f:151
subroutine zstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
ZSTEIN
Definition: zstein.f:182
subroutine zhetrd_hb2st(STAGE1, VECT, UPLO, N, KD, AB, LDAB, D, E, HOUS, LHOUS, WORK, LWORK, INFO)
ZHETRD_HB2ST reduces a complex Hermitian band matrix A to real symmetric tridiagonal form T
Definition: zhetrd_hb2st.F:230
subroutine zstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZSTEDC
Definition: zstedc.f:212
subroutine zhbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
ZHBTRD
Definition: zhbtrd.f:163
subroutine zupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
ZUPGTR
Definition: zupgtr.f:114
subroutine zhpev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, RWORK, INFO)
ZHPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
Definition: zhpev.f:138
subroutine zhbevd_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHBEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine zhpevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
Definition: zhpevd.f:200
subroutine zhbevd(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
Definition: zhbevd.f:215
subroutine zhbevx_2stage(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
ZHBEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine zhpevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
ZHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
Definition: zhpevx.f:240
subroutine zhbev(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, RWORK, INFO)
ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
Definition: zhbev.f:152
subroutine zhbevx(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
ZHBEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
Definition: zhbevx.f:267
subroutine zhbev_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, INFO)
ZHBEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER m...
Definition: zhbev_2stage.f:211
subroutine zpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZPTEQR
Definition: zpteqr.f:145