75 parameter( nmax = 3, liw = 12*nmax, lw = 20*nmax )
79 INTEGER I, INFO, J, M, N, NT
82 INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
83 REAL D( NMAX ), E( NMAX ), R( LW ), RW( LW ),
85 COMPLEX A( NMAX, NMAX ), C( NMAX, NMAX ),
86 $ 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. / real( i+j )
140 IF(
lsamen( 2, c2,
'ST' ) )
THEN
146 CALL chetrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
147 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
149 CALL chetrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
150 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
152 CALL chetrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
153 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
155 CALL chetrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
156 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
161 srnamt =
'CHETRD_2STAGE'
165 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
169 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
173 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
177 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
181 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
185 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
189 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
194 srnamt =
'CHETRD_HE2HB'
196 CALL chetrd_he2hb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
197 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
199 CALL chetrd_he2hb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
200 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
202 CALL chetrd_he2hb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
203 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
205 CALL chetrd_he2hb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
206 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
208 CALL chetrd_he2hb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
209 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
211 CALL chetrd_he2hb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
212 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
217 srnamt =
'CHETRD_HB2ST'
221 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
225 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
229 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
233 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
237 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
241 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
245 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
249 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
253 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
260 CALL cungtr(
'/', 0, a, 1, tau, w, 1, info )
261 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
263 CALL cungtr(
'U', -1, a, 1, tau, w, 1, info )
264 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
266 CALL cungtr(
'U', 2, a, 1, tau, w, 1, info )
267 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
269 CALL cungtr(
'U', 3, a, 3, tau, w, 1, info )
270 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
277 CALL cunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
278 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
280 CALL cunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
281 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
283 CALL cunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
284 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
286 CALL cunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
288 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
290 CALL cunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
292 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
294 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
295 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
297 CALL cunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
298 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
300 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
301 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
303 CALL cunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
304 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
306 CALL cunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
307 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
314 CALL chptrd(
'/', 0, a, d, e, tau, info )
315 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
317 CALL chptrd(
'U', -1, a, d, e, tau, info )
318 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
325 CALL cupgtr(
'/', 0, a, tau, z, 1, w, info )
326 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
328 CALL cupgtr(
'U', -1, a, tau, z, 1, w, info )
329 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
331 CALL cupgtr(
'U', 2, a, tau, z, 1, w, info )
332 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
339 CALL cupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
340 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
342 CALL cupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
343 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
345 CALL cupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
346 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
348 CALL cupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
349 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
351 CALL cupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
352 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
354 CALL cupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
355 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
362 CALL cpteqr(
'/', 0, d, e, z, 1, rw, info )
363 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
365 CALL cpteqr(
'N', -1, d, e, z, 1, rw, info )
366 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
368 CALL cpteqr(
'V', 2, d, e, z, 1, rw, info )
369 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
376 CALL cstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
377 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
379 CALL cstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
380 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
382 CALL cstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
383 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
385 CALL cstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
386 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
393 CALL csteqr(
'/', 0, d, e, z, 1, rw, info )
394 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
396 CALL csteqr(
'N', -1, d, e, z, 1, rw, info )
397 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
399 CALL csteqr(
'V', 2, d, e, z, 1, rw, info )
400 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
407 CALL cstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
408 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
410 CALL cstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
411 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
413 CALL cstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
414 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
416 CALL cstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
417 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
419 CALL cstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
420 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
422 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
423 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
425 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
426 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
428 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
429 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
431 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
432 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
434 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
435 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
437 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
438 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
445 CALL cheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
446 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
448 CALL cheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
449 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
451 CALL cheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
452 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
454 CALL cheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
455 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
457 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
458 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
460 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
461 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
463 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
464 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
466 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
467 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
469 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
470 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
472 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
473 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
475 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
476 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
478 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
479 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
484 srnamt =
'CHEEVD_2STAGE'
487 $ rw, 1, iw, 1, info )
488 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
491 $ rw, 1, iw, 1, info )
492 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
495 $ rw, 1, iw, 1, info )
496 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
499 $ rw, 1, iw, 1, info )
500 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
503 $ rw, 2, iw, 1, info )
504 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
507 $ rw, 1, iw, 1, info )
508 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
511 $ rw, 2, iw, 1, info )
512 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
519 $ rw, 0, iw, 1, info )
520 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
523 $ rw, 1, iw, 1, info )
524 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
531 $ rw, 1, iw, 0, info )
532 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
543 CALL cheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
544 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
546 CALL cheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
547 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
549 CALL cheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
550 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
552 CALL cheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
553 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
555 CALL cheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
556 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
561 srnamt =
'CHEEV_2STAGE '
563 CALL cheev_2stage(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
564 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
566 CALL cheev_2stage(
'V',
'U', 0, a, 1, x, w, 1, rw, info )
567 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
569 CALL cheev_2stage(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
570 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
572 CALL cheev_2stage(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
573 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
575 CALL cheev_2stage(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
576 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
578 CALL cheev_2stage(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
579 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
586 CALL cheevx(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
587 $ z, 1, w, 1, rw, iw, i3, info )
588 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
590 CALL cheevx(
'V',
'/',
'U', 0, a, 1, 0.0, 1.0, 1, 0, 0.0, m, x,
591 $ z, 1, w, 1, rw, iw, i3, info )
592 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
594 CALL cheevx(
'V',
'A',
'/', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
595 $ z, 1, w, 1, rw, iw, i3, info )
597 CALL cheevx(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 0, 0, 0.0, m,
598 $ x, z, 1, w, 1, rw, iw, i3, info )
599 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
601 CALL cheevx(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
602 $ z, 2, w, 3, rw, iw, i3, info )
603 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
605 CALL cheevx(
'V',
'V',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
606 $ z, 1, w, 1, rw, iw, i3, info )
607 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
609 CALL cheevx(
'V',
'I',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
610 $ z, 1, w, 1, rw, iw, i3, info )
611 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
613 CALL cheevx(
'V',
'I',
'U', 2, a, 2, 0.0, 0.0, 2, 1, 0.0, m, x,
614 $ z, 2, w, 3, rw, iw, i3, info )
615 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
617 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
618 $ z, 1, w, 3, rw, iw, i3, info )
619 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
621 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
622 $ z, 2, w, 2, rw, iw, i1, info )
623 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
628 srnamt =
'CHEEVX_2STAGE'
631 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
632 $ m, x, z, 1, w, 1, rw, iw, i3, info )
633 CALL chkxer(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_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(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
690 CALL cheevr(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
691 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
693 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
695 CALL cheevr(
'V',
'/',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
696 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
698 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
700 CALL cheevr(
'V',
'A',
'/', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
701 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
703 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
705 CALL cheevr(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
706 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
708 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
710 CALL cheevr(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
711 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
713 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
715 CALL cheevr(
'V',
'V',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
716 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
718 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
720 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 0, 1, 0.0,
721 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
723 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
726 CALL cheevr(
'V',
'I',
'U', 2, a, 2, 0.0e0, 0.0e0, 2, 1, 0.0,
727 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
729 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
731 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
732 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
734 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
736 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
737 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
739 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
741 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
742 $ m, r, z, 1, iw, q, 2*n, rw, 24*n-1, iw( 2*n-1 ),
744 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
746 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
747 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw, 10*n-1,
749 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
754 srnamt =
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_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(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
840 CALL chpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
842 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
844 CALL chpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
846 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
848 CALL chpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
850 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
852 CALL chpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
854 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
856 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
858 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
860 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
862 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
864 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
866 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
868 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
870 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
872 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
874 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
876 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
878 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
880 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
882 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
884 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
886 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
888 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
890 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
897 CALL chpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
898 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
900 CALL chpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
901 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
903 CALL chpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
904 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
906 CALL chpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
907 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
914 CALL chpevx(
'/',
'A',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
915 $ 1, w, rw, iw, i3, info )
916 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
918 CALL chpevx(
'V',
'/',
'U', 0, a, 0.0, 1.0, 1, 0, 0.0, m, x, z,
919 $ 1, w, rw, iw, i3, info )
920 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
922 CALL chpevx(
'V',
'A',
'/', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
923 $ 1, w, rw, iw, i3, info )
924 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
926 CALL chpevx(
'V',
'A',
'U', -1, a, 0.0, 0.0, 0, 0, 0.0, m, x,
927 $ z, 1, w, rw, iw, i3, info )
928 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
930 CALL chpevx(
'V',
'V',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
931 $ 1, w, rw, iw, i3, info )
932 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
934 CALL chpevx(
'V',
'I',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
935 $ 1, w, rw, iw, i3, info )
936 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
938 CALL chpevx(
'V',
'I',
'U', 2, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
939 $ 2, w, rw, iw, i3, info )
940 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
942 CALL chpevx(
'V',
'A',
'U', 2, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
943 $ 1, w, rw, iw, i3, info )
944 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
949 ELSE IF(
lsamen( 2, c2,
'HB' ) )
THEN
955 CALL chbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
956 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
958 CALL chbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
959 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
961 CALL chbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
962 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
964 CALL chbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
965 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
967 CALL chbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
968 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
970 CALL chbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
971 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
976 srnamt =
'CHETRD_HB2ST'
980 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
984 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
988 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
992 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
996 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1000 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1003 $ c, 1, w, 1, info )
1004 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1007 $ c, 0, w, 1, info )
1008 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1011 $ c, 1, w, 0, info )
1012 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1019 CALL chbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1021 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1023 CALL chbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1025 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1027 CALL chbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
1029 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1031 CALL chbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
1033 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1035 CALL chbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
1037 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1039 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
1041 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1043 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
1045 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1047 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
1049 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1051 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
1053 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1055 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
1057 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1059 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
1061 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1063 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
1065 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1067 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
1069 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1071 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
1073 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1075 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
1077 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1082 srnamt =
'CHBEVD_2STAGE'
1085 $ w, 1, rw, 1, iw, 1, info )
1086 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1089 $ w, 1, rw, 1, iw, 1, info )
1090 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1093 $ w, 1, rw, 1, iw, 1, info )
1094 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1097 $ w, 1, rw, 1, iw, 1, info )
1098 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1101 $ w, 1, rw, 1, iw, 1, info )
1102 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1105 $ w, 2, rw, 2, iw, 1, info )
1106 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1109 $ w, 8, rw, 25, iw, 12, info )
1110 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1113 $ w, 0, rw, 1, iw, 1, info )
1114 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1117 $ w, 1, rw, 2, iw, 1, info )
1118 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1125 $ w, 1, rw, 0, iw, 1, info )
1126 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1129 $ w, 25, rw, 1, iw, 1, info )
1130 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1137 $ w, 1, rw, 1, iw, 0, info )
1138 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1141 $ w, 25, rw, 2, iw, 0, info )
1142 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1153 CALL chbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
1154 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1156 CALL chbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
1157 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1159 CALL chbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
1160 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1162 CALL chbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
1163 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1165 CALL chbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
1166 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1168 CALL chbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
1169 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1174 srnamt =
'CHBEV_2STAGE '
1177 $ z, 1, w, 0, rw, info )
1178 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1181 $ z, 1, w, 0, rw, info )
1182 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1185 $ z, 1, w, 0, rw, info )
1186 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1189 $ z, 1, w, 0, rw, info )
1190 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1193 $ z, 1, w, 0, rw, info )
1194 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1197 $ z, 1, w, 0, rw, info )
1198 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1201 $ z, 0, w, 0, rw, info )
1202 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1205 $ z, 1, w, 0, rw, info )
1206 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1213 CALL chbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1214 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1215 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1217 CALL chbevx(
'V',
'/',
'U', 0, 0, a, 1, q, 1, 0.0, 1.0, 1, 0,
1218 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1219 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1221 CALL chbevx(
'V',
'A',
'/', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1222 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1224 CALL chbevx(
'V',
'A',
'U', -1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1225 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1226 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1228 CALL chbevx(
'V',
'A',
'U', 0, -1, a, 1, q, 1, 0.0, 0.0, 0, 0,
1229 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1230 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1232 CALL chbevx(
'V',
'A',
'U', 2, 1, a, 1, q, 2, 0.0, 0.0, 0, 0,
1233 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
1234 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1236 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1237 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
1238 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1240 CALL chbevx(
'V',
'V',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1241 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1242 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1244 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1245 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1246 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1248 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 1, 2,
1249 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1250 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1252 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0, 0.0, 0, 0,
1253 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1254 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1259 srnamt =
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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(
'CHBEVX_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)
logical function lsamen(N, CA, CB)
LSAMEN
subroutine chetrd_he2hb(UPLO, N, KD, A, LDA, AB, LDAB, TAU, WORK, LWORK, INFO)
CHETRD_HE2HB
subroutine chetrd_2stage(VECT, UPLO, N, A, LDA, D, E, TAU, HOUS2, LHOUS2, WORK, LWORK, INFO)
CHETRD_2STAGE
subroutine chetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
CHETRD
subroutine cheev(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
CHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
subroutine cheevx_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
CHEEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE mat...
subroutine cheevr_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHEEVR_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE mat...
subroutine cheevd(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHEEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
subroutine cheevd_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHEEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE mat...
subroutine cheevx(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
CHEEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
subroutine cheevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHEEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
subroutine cheev_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
CHEEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matr...
subroutine chetrd_hb2st(STAGE1, VECT, UPLO, N, KD, AB, LDAB, D, E, HOUS, LHOUS, WORK, LWORK, INFO)
CHETRD_HB2ST reduces a complex Hermitian band matrix A to real symmetric tridiagonal form T
subroutine cupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
CUPGTR
subroutine chptrd(UPLO, N, AP, D, E, TAU, INFO)
CHPTRD
subroutine cunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
CUNMTR
subroutine cstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
CSTEIN
subroutine chbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
CHBTRD
subroutine cupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
CUPMTR
subroutine csteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CSTEQR
subroutine cstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CSTEDC
subroutine cungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
CUNGTR
subroutine chbev(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, RWORK, INFO)
CHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine chpev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, RWORK, INFO)
CHPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine chbev_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, INFO)
CHBEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER m...
subroutine chbevd_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHBEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine chbevd(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine chbevx(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
CHBEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine chbevx_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)
CHBEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine chpevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
CHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine chpevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine cpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CPTEQR