78 parameter ( nmax = 3, liw = 12*nmax, lw = 20*nmax )
82 INTEGER i, info, j, m, n, nt
85 INTEGER i1( nmax ), i2( nmax ), i3( nmax ), iw( liw )
86 REAL d( nmax ), e( nmax ), r( lw ), rw( lw ),
88 COMPLEX a( nmax, nmax ), c( nmax, nmax ),
89 $ q( nmax, nmax ), tau( nmax ), w( lw ),
112 COMMON / infoc / infot, nout, ok, lerr
113 COMMON / srnamc / srnamt
121 WRITE( nout, fmt = * )
128 a( i, j ) = 1. /
REAL( i+j )
143 IF(
lsamen( 2, c2,
'ST' ) )
THEN
149 CALL chetrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
150 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
152 CALL chetrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
153 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
155 CALL chetrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
156 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
158 CALL chetrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
159 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
164 srnamt =
'CHETRD_2STAGE'
168 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
172 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
176 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
180 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
184 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
188 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
192 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
197 srnamt =
'CHETRD_HE2HB'
199 CALL chetrd_he2hb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
200 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
202 CALL chetrd_he2hb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
203 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
205 CALL chetrd_he2hb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
206 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
208 CALL chetrd_he2hb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
209 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
211 CALL chetrd_he2hb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
212 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
214 CALL chetrd_he2hb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
215 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
220 srnamt =
'CHETRD_HB2ST'
222 CALL chetrd_hb2st(
'/',
'N',
'U', 0, 0, a, 1, d, e,
224 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
226 CALL chetrd_hb2st(
'Y',
'/',
'U', 0, 0, a, 1, d, e,
228 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
230 CALL chetrd_hb2st(
'Y',
'H',
'U', 0, 0, a, 1, d, e,
232 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
234 CALL chetrd_hb2st(
'Y',
'N',
'/', 0, 0, a, 1, d, e,
236 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
238 CALL chetrd_hb2st(
'Y',
'N',
'U', -1, 0, a, 1, d, e,
240 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
242 CALL chetrd_hb2st(
'Y',
'N',
'U', 0, -1, a, 1, d, e,
244 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
246 CALL chetrd_hb2st(
'Y',
'N',
'U', 0, 1, a, 1, d, e,
248 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
250 CALL chetrd_hb2st(
'Y',
'N',
'U', 0, 0, a, 1, d, e,
252 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
254 CALL chetrd_hb2st(
'Y',
'N',
'U', 0, 0, a, 1, d, e,
256 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
263 CALL cungtr(
'/', 0, a, 1, tau, w, 1, info )
264 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
266 CALL cungtr(
'U', -1, a, 1, tau, w, 1, info )
267 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
269 CALL cungtr(
'U', 2, a, 1, tau, w, 1, info )
270 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
272 CALL cungtr(
'U', 3, a, 3, tau, w, 1, info )
273 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
280 CALL cunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
281 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
283 CALL cunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
284 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
286 CALL cunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
287 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
289 CALL cunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
291 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
293 CALL cunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
295 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
297 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
298 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
300 CALL cunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
301 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
303 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
304 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
306 CALL cunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
307 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
309 CALL cunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
310 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
317 CALL chptrd(
'/', 0, a, d, e, tau, info )
318 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
320 CALL chptrd(
'U', -1, a, d, e, tau, info )
321 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
328 CALL cupgtr(
'/', 0, a, tau, z, 1, w, info )
329 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
331 CALL cupgtr(
'U', -1, a, tau, z, 1, w, info )
332 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
334 CALL cupgtr(
'U', 2, a, tau, z, 1, w, info )
335 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
342 CALL cupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
343 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
345 CALL cupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
346 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
348 CALL cupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
349 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
351 CALL cupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
352 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
354 CALL cupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
355 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
357 CALL cupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
358 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
365 CALL cpteqr(
'/', 0, d, e, z, 1, rw, info )
366 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
368 CALL cpteqr(
'N', -1, d, e, z, 1, rw, info )
369 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
371 CALL cpteqr(
'V', 2, d, e, z, 1, rw, info )
372 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
379 CALL cstein( -1, d, e, 0, 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( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
386 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
388 CALL cstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
389 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
396 CALL csteqr(
'/', 0, d, e, z, 1, rw, info )
397 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
399 CALL csteqr(
'N', -1, d, e, z, 1, rw, info )
400 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
402 CALL csteqr(
'V', 2, d, e, z, 1, rw, info )
403 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
410 CALL cstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
411 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
413 CALL cstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
414 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
416 CALL cstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
417 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
419 CALL cstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
420 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
422 CALL cstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
423 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
425 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
426 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
428 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
429 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
431 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
432 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
434 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
435 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
437 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
438 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
440 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
441 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
448 CALL cheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
449 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
451 CALL cheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
452 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
454 CALL cheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
455 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
457 CALL cheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
458 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
460 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
461 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
463 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
464 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
466 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
467 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
469 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
470 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
472 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
473 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
475 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
476 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
478 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
479 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
481 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
482 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
487 srnamt =
'CHEEVD_2STAGE'
490 $ rw, 1, iw, 1, info )
491 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
494 $ rw, 1, iw, 1, info )
495 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
498 $ rw, 1, iw, 1, info )
499 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
502 $ rw, 1, iw, 1, info )
503 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
506 $ rw, 2, iw, 1, info )
507 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
510 $ rw, 1, iw, 1, info )
511 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
514 $ rw, 2, iw, 1, info )
515 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
522 $ rw, 0, iw, 1, info )
523 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
526 $ rw, 1, iw, 1, info )
527 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
534 $ rw, 1, iw, 0, info )
535 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
546 CALL cheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
547 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
549 CALL cheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
550 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
552 CALL cheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
553 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
555 CALL cheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
556 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
558 CALL cheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
559 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
564 srnamt =
'CHEEV_2STAGE '
566 CALL cheev_2stage(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
567 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
569 CALL cheev_2stage(
'V',
'U', 0, a, 1, x, w, 1, rw, info )
570 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
572 CALL cheev_2stage(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
573 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
575 CALL cheev_2stage(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
576 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
578 CALL cheev_2stage(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
579 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
581 CALL cheev_2stage(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
582 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
589 CALL cheevx(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
590 $ z, 1, w, 1, rw, iw, i3, info )
591 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
593 CALL cheevx(
'V',
'/',
'U', 0, a, 1, 0.0, 1.0, 1, 0, 0.0, m, x,
594 $ z, 1, w, 1, rw, iw, i3, info )
595 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
597 CALL cheevx(
'V',
'A',
'/', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
598 $ z, 1, w, 1, rw, iw, i3, info )
600 CALL cheevx(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 0, 0, 0.0, m,
601 $ x, z, 1, w, 1, rw, iw, i3, info )
602 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
604 CALL cheevx(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
605 $ z, 2, w, 3, rw, iw, i3, info )
606 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
608 CALL cheevx(
'V',
'V',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
609 $ z, 1, w, 1, rw, iw, i3, info )
610 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
612 CALL cheevx(
'V',
'I',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
613 $ z, 1, w, 1, rw, iw, i3, info )
614 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
616 CALL cheevx(
'V',
'I',
'U', 2, a, 2, 0.0, 0.0, 2, 1, 0.0, m, x,
617 $ z, 2, w, 3, rw, iw, i3, info )
618 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
620 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
621 $ z, 1, w, 3, rw, iw, i3, info )
622 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
624 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
625 $ z, 2, w, 2, rw, iw, i1, info )
626 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
631 srnamt =
'CHEEVX_2STAGE'
634 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
635 $ m, x, z, 1, w, 1, rw, iw, i3, info )
636 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
639 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
640 $ m, x, z, 1, w, 1, rw, iw, i3, info )
641 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
644 $ 0.0d0, 1.0d0, 1, 0, 0.0d0,
645 $ m, x, z, 1, w, 1, rw, iw, i3, info )
646 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
649 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
650 $ m, x, z, 1, w, 1, rw, iw, i3, info )
653 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
654 $ m, x, z, 1, w, 1, rw, iw, i3, info )
655 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
658 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
659 $ m, x, z, 2, w, 3, rw, iw, i3, info )
660 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
663 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
664 $ m, x, z, 1, w, 1, rw, iw, i3, info )
665 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
668 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
669 $ m, x, z, 1, w, 1, rw, iw, i3, info )
670 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
673 $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
674 $ m, x, z, 2, w, 3, rw, iw, i3, info )
675 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
678 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
679 $ m, x, z, 0, w, 3, rw, iw, i3, info )
680 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
683 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
684 $ m, x, z, 2, w, 0, rw, iw, i1, info )
685 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
693 CALL cheevr(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
694 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
696 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
698 CALL cheevr(
'V',
'/',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
699 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
701 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
703 CALL cheevr(
'V',
'A',
'/', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
704 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
706 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
708 CALL cheevr(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
709 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
711 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
713 CALL cheevr(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
714 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
716 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
718 CALL cheevr(
'V',
'V',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
719 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
721 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
723 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 0, 1, 0.0,
724 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
726 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
729 CALL cheevr(
'V',
'I',
'U', 2, a, 2, 0.0e0, 0.0e0, 2, 1, 0.0,
730 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
732 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
734 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
735 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
737 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
739 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
740 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
742 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
744 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
745 $ m, r, z, 1, iw, q, 2*n, rw, 24*n-1, iw( 2*n-1 ),
747 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
749 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
750 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw, 10*n-1,
752 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
757 srnamt =
'CHEEVR_2STAGE'
761 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
762 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
764 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
767 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
768 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
770 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
773 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
774 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
776 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
779 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
780 $ m, r, z, 1, iw, q, 2*n, rw, 24*n,
781 $ iw( 2*n+1 ), 10*n, info )
782 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
785 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
786 $ m, r, z, 1, iw, q, 2*n, rw, 24*n,
787 $ iw( 2*n+1 ), 10*n, info )
788 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
791 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
792 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
794 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
797 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
798 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
800 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
803 $ 0.0d0, 0.0d0, 0, 1, 0.0d0,
804 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
806 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
809 $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
810 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
812 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
815 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
816 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
818 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
821 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
822 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
824 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
827 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
828 $ m, r, z, 1, iw, q, 26*n, rw, 24*n-1, iw( 2*n-1 ),
830 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
833 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
834 $ m, r, z, 1, iw, q, 26*n, rw, 24*n, iw, 10*n-1,
836 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
843 CALL chpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
845 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
847 CALL chpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
849 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
851 CALL chpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
853 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
855 CALL chpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
857 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
859 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
861 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
863 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
865 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
867 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
869 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
871 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
873 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
875 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
877 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
879 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
881 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
883 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
885 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
887 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
889 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
891 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
893 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
900 CALL chpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
901 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
903 CALL chpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
904 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
906 CALL chpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
907 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
909 CALL chpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
910 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
917 CALL chpevx(
'/',
'A',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
918 $ 1, w, rw, iw, i3, info )
919 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
921 CALL chpevx(
'V',
'/',
'U', 0, a, 0.0, 1.0, 1, 0, 0.0, m, x, z,
922 $ 1, w, rw, iw, i3, info )
923 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
925 CALL chpevx(
'V',
'A',
'/', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
926 $ 1, w, rw, iw, i3, info )
927 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
929 CALL chpevx(
'V',
'A',
'U', -1, a, 0.0, 0.0, 0, 0, 0.0, m, x,
930 $ z, 1, w, rw, iw, i3, info )
931 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
933 CALL chpevx(
'V',
'V',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
934 $ 1, w, rw, iw, i3, info )
935 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
937 CALL chpevx(
'V',
'I',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
938 $ 1, w, rw, iw, i3, info )
939 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
941 CALL chpevx(
'V',
'I',
'U', 2, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
942 $ 2, w, rw, iw, i3, info )
943 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
945 CALL chpevx(
'V',
'A',
'U', 2, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
946 $ 1, w, rw, iw, i3, info )
947 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
952 ELSE IF(
lsamen( 2, c2,
'HB' ) )
THEN
958 CALL chbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
959 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
961 CALL chbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
962 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
964 CALL chbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
965 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
967 CALL chbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
968 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
970 CALL chbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
971 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
973 CALL chbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
974 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
979 srnamt =
'CHETRD_HB2ST'
981 CALL chetrd_hb2st(
'/',
'N',
'U', 0, 0, a, 1, d, e,
983 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
985 CALL chetrd_hb2st(
'N',
'/',
'U', 0, 0, a, 1, d, e,
987 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
989 CALL chetrd_hb2st(
'N',
'H',
'U', 0, 0, a, 1, d, e,
991 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
993 CALL chetrd_hb2st(
'N',
'N',
'/', 0, 0, a, 1, d, e,
995 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
997 CALL chetrd_hb2st(
'N',
'N',
'U', -1, 0, a, 1, d, e,
999 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1001 CALL chetrd_hb2st(
'N',
'N',
'U', 0, -1, a, 1, d, e,
1002 $ c, 1, w, 1, info )
1003 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1005 CALL chetrd_hb2st(
'N',
'N',
'U', 0, 1, a, 1, d, e,
1006 $ c, 1, w, 1, info )
1007 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1009 CALL chetrd_hb2st(
'N',
'N',
'U', 0, 0, a, 1, d, e,
1010 $ c, 0, w, 1, info )
1011 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1013 CALL chetrd_hb2st(
'N',
'N',
'U', 0, 0, a, 1, d, e,
1014 $ c, 1, w, 0, info )
1015 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1022 CALL chbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1024 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1026 CALL chbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1028 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1030 CALL chbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
1032 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1034 CALL chbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
1036 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1038 CALL chbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
1040 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1042 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
1044 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1046 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
1048 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1050 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
1052 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1054 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
1056 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1058 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
1060 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1062 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
1064 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1066 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
1068 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1070 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
1072 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1074 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
1076 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1078 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
1080 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1085 srnamt =
'CHBEVD_2STAGE'
1088 $ w, 1, rw, 1, iw, 1, info )
1089 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1092 $ w, 1, rw, 1, iw, 1, info )
1093 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1096 $ w, 1, rw, 1, iw, 1, info )
1097 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1100 $ w, 1, rw, 1, iw, 1, info )
1101 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1104 $ w, 1, rw, 1, iw, 1, info )
1105 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1108 $ w, 2, rw, 2, iw, 1, info )
1109 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1112 $ w, 8, rw, 25, iw, 12, info )
1113 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1116 $ w, 0, rw, 1, iw, 1, info )
1117 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1120 $ w, 1, rw, 2, iw, 1, info )
1121 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1128 $ w, 1, rw, 0, iw, 1, info )
1129 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1132 $ w, 25, rw, 1, iw, 1, info )
1133 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1140 $ w, 1, rw, 1, iw, 0, info )
1141 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1144 $ w, 25, rw, 2, iw, 0, info )
1145 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1156 CALL chbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
1157 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1159 CALL chbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
1160 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1162 CALL chbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
1163 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1165 CALL chbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
1166 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1168 CALL chbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
1169 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1171 CALL chbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
1172 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1177 srnamt =
'CHBEV_2STAGE '
1180 $ z, 1, w, 0, rw, info )
1181 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1184 $ z, 1, w, 0, rw, info )
1185 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1188 $ z, 1, w, 0, rw, info )
1189 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1192 $ z, 1, w, 0, rw, info )
1193 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1196 $ z, 1, w, 0, rw, info )
1197 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1200 $ z, 1, w, 0, rw, info )
1201 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1204 $ z, 0, w, 0, rw, info )
1205 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1208 $ z, 1, w, 0, rw, info )
1209 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1216 CALL chbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1217 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1218 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1220 CALL chbevx(
'V',
'/',
'U', 0, 0, a, 1, q, 1, 0.0, 1.0, 1, 0,
1221 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1222 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1224 CALL chbevx(
'V',
'A',
'/', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1225 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1227 CALL chbevx(
'V',
'A',
'U', -1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1228 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1229 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1231 CALL chbevx(
'V',
'A',
'U', 0, -1, a, 1, q, 1, 0.0, 0.0, 0, 0,
1232 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1233 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1235 CALL chbevx(
'V',
'A',
'U', 2, 1, a, 1, q, 2, 0.0, 0.0, 0, 0,
1236 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
1237 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1239 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1240 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
1241 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1243 CALL chbevx(
'V',
'V',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1244 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1245 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1247 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1248 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1249 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1251 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 1, 2,
1252 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1253 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1255 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0, 0.0, 0, 0,
1256 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1257 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1262 srnamt =
'CHBEVX_2STAGE'
1265 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1266 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1269 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1270 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1271 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1274 $ 0.0d0, 1.0d0, 1, 0, 0.0d0,
1275 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1276 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1279 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1280 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1283 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1284 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1285 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1288 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1289 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1290 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1293 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1294 $ m, x, z, 2, w, 0, rw, iw, i3, info )
1295 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1303 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1304 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1305 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1308 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1309 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1310 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1313 $ 0.0d0, 0.0d0, 1, 2, 0.0d0,
1314 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1315 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1318 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1319 $ m, x, z, 0, w, 0, rw, iw, i3, info )
1320 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1323 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
1324 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1325 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1332 WRITE( nout, fmt = 9999 )path, nt
1334 WRITE( nout, fmt = 9998 )path
1337 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits',
1338 $
' (', i3,
' tests done)' )
1339 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine cstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
CSTEIN
subroutine cupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
CUPGTR
subroutine cpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CPTEQR
subroutine cupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
CUPMTR
subroutine chbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
CHBTRD
subroutine chptrd(UPLO, N, AP, D, E, TAU, INFO)
CHPTRD
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 ma...
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 ma...
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 ma...
subroutine cungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
CUNGTR
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 matric...
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 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 matric...
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 matrice...
subroutine csteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CSTEQR
subroutine chetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
CHETRD
subroutine chetrd_he2hb(UPLO, N, KD, A, LDA, AB, LDAB, TAU, WORK, LWORK, INFO)
CHETRD_HE2HB
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
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 matric...
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 matrice...
logical function lsamen(N, CA, CB)
LSAMEN
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 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 chetrd_2stage(VECT, UPLO, N, A, LDA, D, E, TAU, HOUS2, LHOUS2, WORK, LWORK, INFO)
CHETRD_2STAGE
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 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 cunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
CUNMTR
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 matric...
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 cstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CSTEDC
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 ...