76 parameter( nmax = 3, liw = 12*nmax, lw = 20*nmax )
80 INTEGER I, INFO, J, M, N, NT
83 INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
84 DOUBLE PRECISION D( NMAX ), E( NMAX ), R( LW ), RW( LW ),
86 COMPLEX*16 A( NMAX, NMAX ), C( NMAX, NMAX ),
87 $ Q( NMAX, NMAX ), TAU( NMAX ), W( LW ),
109 COMMON / infoc / infot, nout, ok, lerr
110 COMMON / srnamc / srnamt
118 WRITE( nout, fmt = * )
125 a( i, j ) = 1.d0 / dble( i+j )
140 IF( lsamen( 2, c2,
'ST' ) )
THEN
146 CALL zhetrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
147 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
149 CALL zhetrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
150 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
152 CALL zhetrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
153 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
155 CALL zhetrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
156 CALL chkxer(
'ZHETRD', infot, nout, lerr, ok )
161 srnamt =
'ZHETRD_2STAGE'
165 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
169 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
173 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
177 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
181 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
185 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
189 CALL chkxer(
'ZHETRD_2STAGE', infot, nout, lerr, ok )
194 srnamt =
'ZHETRD_HE2HB'
196 CALL zhetrd_he2hb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
197 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
199 CALL zhetrd_he2hb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
200 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
202 CALL zhetrd_he2hb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
203 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
205 CALL zhetrd_he2hb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
206 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
208 CALL zhetrd_he2hb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
209 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
211 CALL zhetrd_he2hb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
212 CALL chkxer(
'ZHETRD_HE2HB', infot, nout, lerr, ok )
217 srnamt =
'ZHETRD_HB2ST'
221 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
225 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
229 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
233 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
237 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
241 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
245 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
249 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
253 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
260 CALL zungtr(
'/', 0, a, 1, tau, w, 1, info )
261 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
263 CALL zungtr(
'U', -1, a, 1, tau, w, 1, info )
264 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
266 CALL zungtr(
'U', 2, a, 1, tau, w, 1, info )
267 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
269 CALL zungtr(
'U', 3, a, 3, tau, w, 1, info )
270 CALL chkxer(
'ZUNGTR', infot, nout, lerr, ok )
277 CALL zunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
278 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
280 CALL zunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
281 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
283 CALL zunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
284 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
286 CALL zunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
288 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
290 CALL zunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
292 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
294 CALL zunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
295 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
297 CALL zunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
298 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
300 CALL zunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
301 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
303 CALL zunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
304 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
306 CALL zunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
307 CALL chkxer(
'ZUNMTR', infot, nout, lerr, ok )
314 CALL zhptrd(
'/', 0, a, d, e, tau, info )
315 CALL chkxer(
'ZHPTRD', infot, nout, lerr, ok )
317 CALL zhptrd(
'U', -1, a, d, e, tau, info )
318 CALL chkxer(
'ZHPTRD', infot, nout, lerr, ok )
325 CALL zupgtr(
'/', 0, a, tau, z, 1, w, info )
326 CALL chkxer(
'ZUPGTR', infot, nout, lerr, ok )
328 CALL zupgtr(
'U', -1, a, tau, z, 1, w, info )
329 CALL chkxer(
'ZUPGTR', infot, nout, lerr, ok )
331 CALL zupgtr(
'U', 2, a, tau, z, 1, w, info )
332 CALL chkxer(
'ZUPGTR', infot, nout, lerr, ok )
339 CALL zupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
340 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
342 CALL zupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
343 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
345 CALL zupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
346 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
348 CALL zupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
349 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
351 CALL zupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
352 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
354 CALL zupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
355 CALL chkxer(
'ZUPMTR', infot, nout, lerr, ok )
362 CALL zpteqr(
'/', 0, d, e, z, 1, rw, info )
363 CALL chkxer(
'ZPTEQR', infot, nout, lerr, ok )
365 CALL zpteqr(
'N', -1, d, e, z, 1, rw, info )
366 CALL chkxer(
'ZPTEQR', infot, nout, lerr, ok )
368 CALL zpteqr(
'V', 2, d, e, z, 1, rw, info )
369 CALL chkxer(
'ZPTEQR', infot, nout, lerr, ok )
376 CALL zstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
377 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
379 CALL zstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
380 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
382 CALL zstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
383 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
385 CALL zstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
386 CALL chkxer(
'ZSTEIN', infot, nout, lerr, ok )
393 CALL zsteqr(
'/', 0, d, e, z, 1, rw, info )
394 CALL chkxer(
'ZSTEQR', infot, nout, lerr, ok )
396 CALL zsteqr(
'N', -1, d, e, z, 1, rw, info )
397 CALL chkxer(
'ZSTEQR', infot, nout, lerr, ok )
399 CALL zsteqr(
'V', 2, d, e, z, 1, rw, info )
400 CALL chkxer(
'ZSTEQR', infot, nout, lerr, ok )
407 CALL zstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
408 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
410 CALL zstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
411 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
413 CALL zstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
414 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
416 CALL zstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
417 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
419 CALL zstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
420 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
422 CALL zstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
423 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
425 CALL zstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
426 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
428 CALL zstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
429 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
431 CALL zstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
432 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
434 CALL zstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
435 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
437 CALL zstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
438 CALL chkxer(
'ZSTEDC', infot, nout, lerr, ok )
445 CALL zheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
446 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
448 CALL zheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
449 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
451 CALL zheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
452 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
454 CALL zheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
455 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
457 CALL zheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
458 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
460 CALL zheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
461 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
463 CALL zheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
464 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
466 CALL zheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
467 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
469 CALL zheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
470 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
472 CALL zheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
473 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
475 CALL zheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
476 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
478 CALL zheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
479 CALL chkxer(
'ZHEEVD', infot, nout, lerr, ok )
484 srnamt =
'ZHEEVD_2STAGE'
487 $ rw, 1, iw, 1, info )
488 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
491 $ rw, 1, iw, 1, info )
492 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
495 $ rw, 1, iw, 1, info )
496 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
499 $ rw, 1, iw, 1, info )
500 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
503 $ rw, 2, iw, 1, info )
504 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
507 $ rw, 1, iw, 1, info )
508 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
511 $ rw, 2, iw, 1, info )
512 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
519 $ rw, 0, iw, 1, info )
520 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
523 $ rw, 1, iw, 1, info )
524 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
531 $ rw, 1, iw, 0, info )
532 CALL chkxer(
'ZHEEVD_2STAGE', infot, nout, lerr, ok )
543 CALL zheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
544 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
546 CALL zheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
547 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
549 CALL zheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
550 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
552 CALL zheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
553 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
555 CALL zheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
556 CALL chkxer(
'ZHEEV ', infot, nout, lerr, ok )
561 srnamt =
'ZHEEV_2STAGE '
563 CALL zheev_2stage(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
564 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
566 CALL zheev_2stage(
'V',
'U', 0, a, 1, x, w, 1, rw, info )
567 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
569 CALL zheev_2stage(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
570 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
572 CALL zheev_2stage(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
573 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
575 CALL zheev_2stage(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
576 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
578 CALL zheev_2stage(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
579 CALL chkxer(
'ZHEEV_2STAGE ', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
628 srnamt =
'ZHEEVX_2STAGE'
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 )
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, 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 )
646 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
647 $ m, x, z, 1, w, 1, rw, iw, i3, info )
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 )
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 )
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 )
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, 2, 1, 0.0d0,
671 $ m, x, z, 2, w, 3, rw, iw, i3, info )
672 CALL chkxer(
'ZHEEVX_2STAGE', infot, nout, lerr, ok )
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 )
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 )
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 ),
693 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
698 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 )
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 )
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 ),
713 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
718 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
723 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
729 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
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 ),
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, 1, iw, q, 2*n-1, 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, rw, 24*n-1, 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, iw, 10*n-1,
749 CALL chkxer(
'ZHEEVR', infot, nout, lerr, ok )
754 srnamt =
'ZHEEVR_2STAGE'
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 ),
761 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
767 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
773 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 )
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 )
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 ),
791 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
797 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
803 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
809 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
815 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
821 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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 ),
827 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
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,
833 CALL chkxer(
'ZHEEVR_2STAGE', infot, nout, lerr, ok )
840 CALL zhpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
842 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
844 CALL zhpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
846 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
848 CALL zhpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
850 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
852 CALL zhpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
854 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
856 CALL zhpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
858 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
860 CALL zhpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
862 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
864 CALL zhpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
866 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
868 CALL zhpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
870 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
872 CALL zhpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
874 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
876 CALL zhpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
878 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
880 CALL zhpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
882 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
884 CALL zhpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
886 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
888 CALL zhpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
890 CALL chkxer(
'ZHPEVD', infot, nout, lerr, ok )
897 CALL zhpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
898 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
900 CALL zhpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
901 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
903 CALL zhpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
904 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
906 CALL zhpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
907 CALL chkxer(
'ZHPEV ', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
949 ELSE IF( lsamen( 2, c2,
'HB' ) )
THEN
955 CALL zhbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
956 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
958 CALL zhbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
959 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
961 CALL zhbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
962 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
964 CALL zhbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
965 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
967 CALL zhbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
968 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
970 CALL zhbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
971 CALL chkxer(
'ZHBTRD', infot, nout, lerr, ok )
976 srnamt =
'ZHETRD_HB2ST'
980 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
984 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
988 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
992 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
996 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
1000 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
1003 $ c, 1, w, 1, info )
1004 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
1007 $ c, 0, w, 1, info )
1008 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
1011 $ c, 1, w, 0, info )
1012 CALL chkxer(
'ZHETRD_HB2ST', infot, nout, lerr, ok )
1019 CALL zhbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1021 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1023 CALL zhbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1025 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1027 CALL zhbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
1029 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1031 CALL zhbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
1033 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1035 CALL zhbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
1037 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1039 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
1041 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1043 CALL zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
1045 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1047 CALL zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
1049 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1051 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
1053 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1055 CALL zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
1057 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1059 CALL zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
1061 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1063 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
1065 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1067 CALL zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
1069 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1071 CALL zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
1073 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1075 CALL zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
1077 CALL chkxer(
'ZHBEVD', infot, nout, lerr, ok )
1082 srnamt =
'ZHBEVD_2STAGE'
1085 $ w, 1, rw, 1, iw, 1, info )
1086 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1089 $ w, 1, rw, 1, iw, 1, info )
1090 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1093 $ w, 1, rw, 1, iw, 1, info )
1094 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1097 $ w, 1, rw, 1, iw, 1, info )
1098 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1101 $ w, 1, rw, 1, iw, 1, info )
1102 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1105 $ w, 2, rw, 2, iw, 1, info )
1106 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1109 $ w, 8, rw, 25, iw, 12, info )
1110 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1113 $ w, 0, rw, 1, iw, 1, info )
1114 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1117 $ w, 1, rw, 2, iw, 1, info )
1118 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1125 $ w, 1, rw, 0, iw, 1, info )
1126 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1129 $ w, 25, rw, 1, iw, 1, info )
1130 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1137 $ w, 1, rw, 1, iw, 0, info )
1138 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1141 $ w, 25, rw, 2, iw, 0, info )
1142 CALL chkxer(
'ZHBEVD_2STAGE', infot, nout, lerr, ok )
1153 CALL zhbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
1154 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1156 CALL zhbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
1157 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1159 CALL zhbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
1160 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1162 CALL zhbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
1163 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1165 CALL zhbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
1166 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1168 CALL zhbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
1169 CALL chkxer(
'ZHBEV ', infot, nout, lerr, ok )
1174 srnamt =
'ZHBEV_2STAGE '
1177 $ z, 1, w, 0, rw, info )
1178 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1181 $ z, 1, w, 0, rw, info )
1182 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1185 $ z, 1, w, 0, rw, info )
1186 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1189 $ z, 1, w, 0, rw, info )
1190 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1193 $ z, 1, w, 0, rw, info )
1194 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1197 $ z, 1, w, 0, rw, info )
1198 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1201 $ z, 0, w, 0, rw, info )
1202 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
1205 $ z, 1, w, 0, rw, info )
1206 CALL chkxer(
'ZHBEV_2STAGE ', infot, nout, lerr, ok )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
1259 srnamt =
'ZHBEVX_2STAGE'
1262 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1263 $ m, x, z, 1, w, 0, rw, iw, i3, info )
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 )
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 )
1276 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1277 $ m, x, z, 1, w, 0, rw, iw, i3, info )
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 )
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, 2, w, 0, rw, iw, i3, info )
1292 CALL chkxer(
'ZHBEVX_2STAGE', infot, nout, lerr, ok )
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 )
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, 1, 2, 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, 0, 0, 0.0d0,
1316 $ m, x, z, 0, 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, 1, w, 0, rw, iw, i3, info )
1322 CALL chkxer(
'ZHBEVX_2STAGE', infot, nout, lerr, ok )
1329 WRITE( nout, fmt = 9999 )path, nt
1331 WRITE( nout, fmt = 9998 )path
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 ',
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zerrst(PATH, NUNIT)
ZERRST
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
subroutine zhetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
ZHETRD
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
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 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
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...
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
subroutine zsteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZSTEQR
subroutine zupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
ZUPMTR
subroutine zunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMTR
subroutine zungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
ZUNGTR
subroutine zhptrd(UPLO, N, AP, D, E, TAU, INFO)
ZHPTRD
subroutine zstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
ZSTEIN
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
subroutine zstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZSTEDC
subroutine zhbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
ZHBTRD
subroutine zupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
ZUPGTR
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
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...
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...
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...
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
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...
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...
subroutine zpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZPTEQR