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