80 parameter ( nmax = 3, liw = 12*nmax, lw = 20*nmax )
84 INTEGER i, info, j, m, n, nt
87 INTEGER i1( nmax ), i2( nmax ), i3( nmax ), iw( liw )
88 DOUBLE PRECISION d( nmax ), e( nmax ), r( lw ), rw( lw ),
90 COMPLEX*16 a( nmax, nmax ), c( nmax, nmax ),
91 $ q( nmax, nmax ), tau( nmax ), w( lw ),
114 COMMON / infoc / infot, nout, ok, lerr
115 COMMON / srnamc / srnamt
123 WRITE( nout, fmt = * )
130 a( i, j ) = 1.d0 / dble( i+j )
145 IF(
lsamen( 2, c2,
'ST' ) )
THEN
151 CALL zhetrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
152 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
154 CALL zhetrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
155 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
157 CALL zhetrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
158 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
160 CALL zhetrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
161 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
166 srnamt =
'ZHETRD_2STAGE'
170 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
174 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
178 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
182 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
186 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
190 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
194 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
199 srnamt =
'ZHETRD_HE2HB'
201 CALL zhetrd_he2hb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
202 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
204 CALL zhetrd_he2hb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
205 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
207 CALL zhetrd_he2hb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
208 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
210 CALL zhetrd_he2hb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
211 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
213 CALL zhetrd_he2hb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
214 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
216 CALL zhetrd_he2hb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
217 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
222 srnamt =
'ZHETRD_HB2ST'
224 CALL zhetrd_hb2st(
'/',
'N',
'U', 0, 0, a, 1, d, e,
226 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
228 CALL zhetrd_hb2st(
'Y',
'/',
'U', 0, 0, a, 1, d, e,
230 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
232 CALL zhetrd_hb2st(
'Y',
'H',
'U', 0, 0, a, 1, d, e,
234 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
236 CALL zhetrd_hb2st(
'Y',
'N',
'/', 0, 0, a, 1, d, e,
238 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
240 CALL zhetrd_hb2st(
'Y',
'N',
'U', -1, 0, a, 1, d, e,
242 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
244 CALL zhetrd_hb2st(
'Y',
'N',
'U', 0, -1, a, 1, d, e,
246 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
248 CALL zhetrd_hb2st(
'Y',
'N',
'U', 0, 1, a, 1, d, e,
250 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
252 CALL zhetrd_hb2st(
'Y',
'N',
'U', 0, 0, a, 1, d, e,
254 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
256 CALL zhetrd_hb2st(
'Y',
'N',
'U', 0, 0, a, 1, d, e,
258 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
265 CALL zungtr(
'/', 0, a, 1, tau, w, 1, info )
266 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
268 CALL zungtr(
'U', -1, a, 1, tau, w, 1, info )
269 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
271 CALL zungtr(
'U', 2, a, 1, tau, w, 1, info )
272 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
274 CALL zungtr(
'U', 3, a, 3, tau, w, 1, info )
275 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
282 CALL zunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
283 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
285 CALL zunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
286 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
288 CALL zunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
289 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
291 CALL zunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
293 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
295 CALL zunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
297 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
299 CALL zunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
300 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
302 CALL zunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
303 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
305 CALL zunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
306 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
308 CALL zunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
309 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
311 CALL zunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
312 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
319 CALL zhptrd(
'/', 0, a, d, e, tau, info )
320 CALL chkxer(
'ZHPTRD', infot, nout, lerr, ok )
322 CALL zhptrd(
'U', -1, a, d, e, tau, info )
323 CALL chkxer(
'ZHPTRD', infot, nout, lerr, ok )
330 CALL zupgtr(
'/', 0, a, tau, z, 1, w, info )
331 CALL chkxer(
'ZUPGTR', infot, nout, lerr, ok )
333 CALL zupgtr(
'U', -1, a, tau, z, 1, w, info )
334 CALL chkxer(
'ZUPGTR', infot, nout, lerr, ok )
336 CALL zupgtr(
'U', 2, a, tau, z, 1, w, info )
337 CALL chkxer(
'ZUPGTR', infot, nout, lerr, ok )
344 CALL zupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
345 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
347 CALL zupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
348 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
350 CALL zupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
351 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
353 CALL zupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
354 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
356 CALL zupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
357 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
359 CALL zupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
360 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
367 CALL zpteqr(
'/', 0, d, e, z, 1, rw, info )
368 CALL chkxer(
'ZPTEQR', infot, nout, lerr, ok )
370 CALL zpteqr(
'N', -1, d, e, z, 1, rw, info )
371 CALL chkxer(
'ZPTEQR', infot, nout, lerr, ok )
373 CALL zpteqr(
'V', 2, d, e, z, 1, rw, info )
374 CALL chkxer(
'ZPTEQR', infot, nout, lerr, ok )
381 CALL zstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
382 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
384 CALL zstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
385 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
387 CALL zstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
388 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
390 CALL zstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
391 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
398 CALL zsteqr(
'/', 0, d, e, z, 1, rw, info )
399 CALL chkxer(
'ZSTEQR', infot, nout, lerr, ok )
401 CALL zsteqr(
'N', -1, d, e, z, 1, rw, info )
402 CALL chkxer(
'ZSTEQR', infot, nout, lerr, ok )
404 CALL zsteqr(
'V', 2, d, e, z, 1, rw, info )
405 CALL chkxer(
'ZSTEQR', infot, nout, lerr, ok )
412 CALL zstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
413 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
415 CALL zstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
416 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
418 CALL zstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
419 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
421 CALL zstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
422 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
424 CALL zstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
425 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
427 CALL zstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
428 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
430 CALL zstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
431 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
433 CALL zstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
434 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
436 CALL zstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
437 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
439 CALL zstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
440 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
442 CALL zstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
443 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
450 CALL zheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
451 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
453 CALL zheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
454 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
456 CALL zheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
457 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
459 CALL zheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
460 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
462 CALL zheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
463 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
465 CALL zheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
466 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
468 CALL zheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
469 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
471 CALL zheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
472 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
474 CALL zheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
475 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
477 CALL zheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
478 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
480 CALL zheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
481 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
483 CALL zheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
484 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
489 srnamt =
'ZHEEVD_2STAGE'
492 $ rw, 1, iw, 1, info )
493 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
496 $ rw, 1, iw, 1, info )
497 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
500 $ rw, 1, iw, 1, info )
501 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
504 $ rw, 1, iw, 1, info )
505 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
508 $ rw, 2, iw, 1, info )
509 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
512 $ rw, 1, iw, 1, info )
513 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
516 $ rw, 2, iw, 1, info )
517 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
524 $ rw, 0, iw, 1, info )
525 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
528 $ rw, 1, iw, 1, info )
529 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
536 $ rw, 1, iw, 0, info )
537 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
548 CALL zheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
549 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
551 CALL zheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
552 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
554 CALL zheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
555 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
557 CALL zheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
558 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
560 CALL zheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
561 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
566 srnamt =
'ZHEEV_2STAGE '
568 CALL zheev_2stage(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
569 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
571 CALL zheev_2stage(
'V',
'U', 0, a, 1, x, w, 1, rw, info )
572 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
574 CALL zheev_2stage(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
575 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
577 CALL zheev_2stage(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
578 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
580 CALL zheev_2stage(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
581 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
583 CALL zheev_2stage(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
584 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
633 srnamt =
'ZHEEVX_2STAGE'
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 )
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 )
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 )
651 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
652 $ m, x, z, 1, w, 1, rw, iw, i3, info )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 ),
698 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
703 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 )
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 )
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 ),
718 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
723 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
728 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
734 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
739 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
744 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
749 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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,
754 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
759 srnamt =
'ZHEEVR_2STAGE'
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 ),
766 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
772 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
778 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 )
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 )
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 ),
796 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
802 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
808 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
814 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
820 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
826 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
832 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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,
838 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
845 CALL zhpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
847 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
849 CALL zhpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
851 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
853 CALL zhpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
855 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
857 CALL zhpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
859 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
861 CALL zhpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
863 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
865 CALL zhpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
867 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
869 CALL zhpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
871 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
873 CALL zhpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
875 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
877 CALL zhpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
879 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
881 CALL zhpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
883 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
885 CALL zhpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
887 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
889 CALL zhpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
891 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
893 CALL zhpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
895 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
902 CALL zhpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
903 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
905 CALL zhpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
906 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
908 CALL zhpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
909 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
911 CALL zhpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
912 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
954 ELSE IF(
lsamen( 2, c2,
'HB' ) )
THEN
960 CALL zhbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
961 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
963 CALL zhbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
964 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
966 CALL zhbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
967 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
969 CALL zhbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
970 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
972 CALL zhbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
973 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
975 CALL zhbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
976 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
981 srnamt =
'ZHETRD_HB2ST'
983 CALL zhetrd_hb2st(
'/',
'N',
'U', 0, 0, a, 1, d, e,
985 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
987 CALL zhetrd_hb2st(
'N',
'/',
'U', 0, 0, a, 1, d, e,
989 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
991 CALL zhetrd_hb2st(
'N',
'H',
'U', 0, 0, a, 1, d, e,
993 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
995 CALL zhetrd_hb2st(
'N',
'N',
'/', 0, 0, a, 1, d, e,
997 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
1024 CALL zhbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1026 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1028 CALL zhbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1030 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1032 CALL zhbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
1034 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1036 CALL zhbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
1038 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1040 CALL zhbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
1042 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1044 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
1046 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1048 CALL zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
1050 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1052 CALL zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
1054 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1056 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
1058 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1060 CALL zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
1062 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1064 CALL zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
1066 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1068 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
1070 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1072 CALL zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
1074 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1076 CALL zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
1078 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1080 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
1082 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1087 srnamt =
'ZHBEVD_2STAGE'
1090 $ w, 1, rw, 1, iw, 1, info )
1091 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1094 $ w, 1, rw, 1, iw, 1, info )
1095 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1098 $ w, 1, rw, 1, iw, 1, info )
1099 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1102 $ w, 1, rw, 1, iw, 1, info )
1103 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1106 $ w, 1, rw, 1, iw, 1, info )
1107 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1110 $ w, 2, rw, 2, iw, 1, info )
1111 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1114 $ w, 8, rw, 25, iw, 12, info )
1115 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1118 $ w, 0, rw, 1, iw, 1, info )
1119 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1122 $ w, 1, rw, 2, iw, 1, info )
1123 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1130 $ w, 1, rw, 0, iw, 1, info )
1131 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1134 $ w, 25, rw, 1, iw, 1, info )
1135 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1142 $ w, 1, rw, 1, iw, 0, info )
1143 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1146 $ w, 25, rw, 2, iw, 0, info )
1147 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1158 CALL zhbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
1159 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1161 CALL zhbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
1162 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1164 CALL zhbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
1165 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1167 CALL zhbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
1168 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1170 CALL zhbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
1171 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1173 CALL zhbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
1174 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1179 srnamt =
'ZHBEV_2STAGE '
1182 $ z, 1, w, 0, rw, info )
1183 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1186 $ z, 1, w, 0, rw, info )
1187 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1190 $ z, 1, w, 0, rw, info )
1191 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1194 $ z, 1, w, 0, rw, info )
1195 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1198 $ z, 1, w, 0, rw, info )
1199 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1202 $ z, 1, w, 0, rw, info )
1203 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1206 $ z, 0, w, 0, rw, info )
1207 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1210 $ z, 1, w, 0, rw, info )
1211 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
1264 srnamt =
'ZHBEVX_2STAGE'
1267 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1268 $ m, x, z, 1, w, 0, rw, iw, i3, info )
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 )
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 )
1281 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1282 $ m, x, z, 1, w, 0, rw, iw, i3, info )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
1334 WRITE( nout, fmt = 9999 )path, nt
1336 WRITE( nout, fmt = 9998 )path
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 ',
subroutine zpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZPTEQR
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...
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...
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...
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
subroutine zstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZSTEDC
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 ...
subroutine zsteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZSTEQR
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
subroutine zstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
ZSTEIN
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
ZUPMTR
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...
subroutine zhbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
ZHBTRD
subroutine zhptrd(UPLO, N, AP, D, E, TAU, INFO)
ZHPTRD
logical function lsamen(N, CA, CB)
LSAMEN
subroutine zunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMTR
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 ...
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
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...
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 ...
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 ...
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...
subroutine zhetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
ZHETRD
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...
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 ...