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 )
163 CALL chetd2(
'/', 0, a, 1, d, e, tau, info )
164 CALL chkxer(
'CHETD2', infot, nout, lerr, ok )
166 CALL chetd2(
'U', -1, a, 1, d, e, tau, info )
167 CALL chkxer(
'CHETD2', infot, nout, lerr, ok )
169 CALL chetd2(
'U', 2, a, 1, d, e, tau, info )
170 CALL chkxer(
'CHETD2', infot, nout, lerr, ok )
175 srnamt =
'CHETRD_2STAGE'
179 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
183 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
187 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
191 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
195 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
199 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
203 CALL chkxer(
'CHETRD_2STAGE', infot, nout, lerr, ok )
208 srnamt =
'CHETRD_HE2HB'
210 CALL chetrd_he2hb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
211 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
213 CALL chetrd_he2hb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
214 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
216 CALL chetrd_he2hb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
217 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
219 CALL chetrd_he2hb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
220 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
222 CALL chetrd_he2hb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
223 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
225 CALL chetrd_he2hb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
226 CALL chkxer(
'CHETRD_HE2HB', infot, nout, lerr, ok )
231 srnamt =
'CHETRD_HB2ST'
235 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
239 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
243 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
247 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
251 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
255 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
259 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
263 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
267 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
274 CALL cungtr(
'/', 0, a, 1, tau, w, 1, info )
275 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
277 CALL cungtr(
'U', -1, a, 1, tau, w, 1, info )
278 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
280 CALL cungtr(
'U', 2, a, 1, tau, w, 1, info )
281 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
283 CALL cungtr(
'U', 3, a, 3, tau, w, 1, info )
284 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
291 CALL cunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
292 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
294 CALL cunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
295 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
297 CALL cunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
298 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
300 CALL cunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
302 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
304 CALL cunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
306 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
308 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
309 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
311 CALL cunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
312 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
314 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
315 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
317 CALL cunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
318 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
320 CALL cunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
321 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
328 CALL chptrd(
'/', 0, a, d, e, tau, info )
329 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
331 CALL chptrd(
'U', -1, a, d, e, tau, info )
332 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
339 CALL cupgtr(
'/', 0, a, tau, z, 1, w, info )
340 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
342 CALL cupgtr(
'U', -1, a, tau, z, 1, w, info )
343 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
345 CALL cupgtr(
'U', 2, a, tau, z, 1, w, info )
346 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
353 CALL cupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
354 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
356 CALL cupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
357 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
359 CALL cupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
360 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
362 CALL cupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
363 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
365 CALL cupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
366 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
368 CALL cupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
369 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
376 CALL cpteqr(
'/', 0, d, e, z, 1, rw, info )
377 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
379 CALL cpteqr(
'N', -1, d, e, z, 1, rw, info )
380 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
382 CALL cpteqr(
'V', 2, d, e, z, 1, rw, info )
383 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
390 CALL cstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
391 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
393 CALL cstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
394 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
396 CALL cstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
397 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
399 CALL cstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
400 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
407 CALL csteqr(
'/', 0, d, e, z, 1, rw, info )
408 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
410 CALL csteqr(
'N', -1, d, e, z, 1, rw, info )
411 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
413 CALL csteqr(
'V', 2, d, e, z, 1, rw, info )
414 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
421 CALL cstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
422 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
424 CALL cstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
425 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
427 CALL cstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
428 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
430 CALL cstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
431 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
433 CALL cstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
434 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
436 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
437 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
439 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
440 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
442 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
443 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
445 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
446 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
448 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
449 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
451 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
452 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
459 CALL cheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
460 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
462 CALL cheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
463 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
465 CALL cheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
466 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
468 CALL cheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
469 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
471 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
472 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
474 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
475 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
477 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
478 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
480 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
481 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
483 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
484 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
486 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
487 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
489 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
490 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
492 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
493 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
498 srnamt =
'CHEEVD_2STAGE'
501 $ rw, 1, iw, 1, info )
502 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
505 $ rw, 1, iw, 1, info )
506 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
509 $ rw, 1, iw, 1, info )
510 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
513 $ rw, 1, iw, 1, info )
514 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
517 $ rw, 2, iw, 1, info )
518 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
521 $ rw, 1, iw, 1, info )
522 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
525 $ rw, 2, iw, 1, info )
526 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
533 $ rw, 0, iw, 1, info )
534 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
537 $ rw, 1, iw, 1, info )
538 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
545 $ rw, 1, iw, 0, info )
546 CALL chkxer(
'CHEEVD_2STAGE', infot, nout, lerr, ok )
557 CALL cheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
558 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
560 CALL cheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
561 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
563 CALL cheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
564 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
566 CALL cheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
567 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
569 CALL cheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
570 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
575 srnamt =
'CHEEV_2STAGE '
577 CALL cheev_2stage(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
578 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
580 CALL cheev_2stage(
'V',
'U', 0, a, 1, x, w, 1, rw, info )
581 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
583 CALL cheev_2stage(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
584 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
586 CALL cheev_2stage(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
587 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
589 CALL cheev_2stage(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
590 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
592 CALL cheev_2stage(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
593 CALL chkxer(
'CHEEV_2STAGE ', infot, nout, lerr, ok )
600 CALL cheevx(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
601 $ z, 1, w, 1, rw, iw, i3, info )
602 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
604 CALL cheevx(
'V',
'/',
'U', 0, a, 1, 0.0, 1.0, 1, 0, 0.0, m, x,
605 $ z, 1, w, 1, rw, iw, i3, info )
606 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
608 CALL cheevx(
'V',
'A',
'/', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
609 $ z, 1, w, 1, rw, iw, i3, info )
611 CALL cheevx(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 0, 0, 0.0, m,
612 $ x, z, 1, w, 1, rw, iw, i3, info )
613 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
615 CALL cheevx(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
616 $ z, 2, w, 3, rw, iw, i3, info )
617 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
619 CALL cheevx(
'V',
'V',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
620 $ z, 1, w, 1, rw, iw, i3, info )
621 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
623 CALL cheevx(
'V',
'I',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
624 $ z, 1, w, 1, rw, iw, i3, info )
625 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
627 CALL cheevx(
'V',
'I',
'U', 2, a, 2, 0.0, 0.0, 2, 1, 0.0, m, x,
628 $ z, 2, w, 3, rw, iw, i3, info )
629 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
631 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
632 $ z, 1, w, 3, rw, iw, i3, info )
633 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
635 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
636 $ z, 2, w, 2, rw, iw, i1, info )
637 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
642 srnamt =
'CHEEVX_2STAGE'
645 $ 0.0, 0.0, 0, 0, 0.0,
646 $ m, x, z, 1, w, 1, rw, iw, i3, info )
647 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
650 $ 0.0, 0.0, 0, 0, 0.0,
651 $ m, x, z, 1, w, 1, rw, iw, i3, info )
652 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
655 $ 0.0, 1.0, 1, 0, 0.0,
656 $ m, x, z, 1, w, 1, rw, iw, i3, info )
657 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
660 $ 0.0, 0.0, 0, 0, 0.0,
661 $ m, x, z, 1, w, 1, rw, iw, i3, info )
664 $ 0.0, 0.0, 0, 0, 0.0,
665 $ m, x, z, 1, w, 1, rw, iw, i3, info )
666 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
669 $ 0.0, 0.0, 0, 0, 0.0,
670 $ m, x, z, 2, w, 3, rw, iw, i3, info )
671 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
674 $ 0.0, 0.0, 0, 0, 0.0,
675 $ m, x, z, 1, w, 1, rw, iw, i3, info )
676 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
679 $ 0.0, 0.0, 0, 0, 0.0,
680 $ m, x, z, 1, w, 1, rw, iw, i3, info )
681 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
684 $ 0.0, 0.0, 2, 1, 0.0,
685 $ m, x, z, 2, w, 3, rw, iw, i3, info )
686 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
689 $ 0.0, 0.0, 0, 0, 0.0,
690 $ m, x, z, 0, w, 3, rw, iw, i3, info )
691 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
694 $ 0.0, 0.0, 0, 0, 0.0,
695 $ m, x, z, 2, w, 0, rw, iw, i1, info )
696 CALL chkxer(
'CHEEVX_2STAGE', infot, nout, lerr, ok )
704 CALL cheevr(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
705 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
707 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
709 CALL cheevr(
'V',
'/',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
710 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
712 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
714 CALL cheevr(
'V',
'A',
'/', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
715 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
717 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
719 CALL cheevr(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
720 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
722 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
724 CALL cheevr(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
725 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
727 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
729 CALL cheevr(
'V',
'V',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 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, 0, 1, 0.0,
735 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
737 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
740 CALL cheevr(
'V',
'I',
'U', 2, a, 2, 0.0e0, 0.0e0, 2, 1, 0.0,
741 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
743 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
745 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
746 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
748 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
750 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
751 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
753 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
755 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
756 $ m, r, z, 1, iw, q, 2*n, rw, 24*n-1, iw( 2*n-1 ),
758 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
760 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
761 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw, 10*n-1,
763 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
768 srnamt =
'CHEEVR_2STAGE'
772 $ 0.0, 0.0, 1, 1, 0.0,
773 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
775 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
778 $ 0.0, 0.0, 1, 1, 0.0,
779 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
781 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
784 $ 0.0, 0.0, 1, 1, 0.0,
785 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
787 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
790 $ 0.0, 0.0, 1, 1, 0.0,
791 $ m, r, z, 1, iw, q, 2*n, rw, 24*n,
792 $ iw( 2*n+1 ), 10*n, info )
793 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
796 $ 0.0, 0.0, 1, 1, 0.0,
797 $ m, r, z, 1, iw, q, 2*n, rw, 24*n,
798 $ iw( 2*n+1 ), 10*n, info )
799 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
802 $ 0.0, 0.0, 1, 1, 0.0,
803 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
805 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
808 $ 0.0, 0.0, 1, 1, 0.0,
809 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
811 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
814 $ 0.0, 0.0, 0, 1, 0.0,
815 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
817 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
820 $ 0.0, 0.0, 2, 1, 0.0,
821 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
823 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
826 $ 0.0, 0.0, 1, 1, 0.0,
827 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
829 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
832 $ 0.0, 0.0, 1, 1, 0.0,
833 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
835 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
838 $ 0.0, 0.0, 1, 1, 0.0,
839 $ m, r, z, 1, iw, q, 26*n, rw, 24*n-1, iw( 2*n-1 ),
841 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
844 $ 0.0, 0.0, 1, 1, 0.0,
845 $ m, r, z, 1, iw, q, 26*n, rw, 24*n, iw, 10*n-1,
847 CALL chkxer(
'CHEEVR_2STAGE', infot, nout, lerr, ok )
854 CALL chpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
856 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
858 CALL chpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
860 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
862 CALL chpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
864 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
866 CALL chpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
868 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
870 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
872 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
874 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
876 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
878 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
880 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
882 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
884 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
886 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
888 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
890 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
892 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
894 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
896 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
898 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
900 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
902 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
904 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
911 CALL chpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
912 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
914 CALL chpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
915 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
917 CALL chpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
918 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
920 CALL chpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
921 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
928 CALL chpevx(
'/',
'A',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
929 $ 1, w, rw, iw, i3, info )
930 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
932 CALL chpevx(
'V',
'/',
'U', 0, a, 0.0, 1.0, 1, 0, 0.0, m, x, z,
933 $ 1, w, rw, iw, i3, info )
934 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
936 CALL chpevx(
'V',
'A',
'/', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
937 $ 1, w, rw, iw, i3, info )
938 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
940 CALL chpevx(
'V',
'A',
'U', -1, a, 0.0, 0.0, 0, 0, 0.0, m, x,
941 $ z, 1, w, rw, iw, i3, info )
942 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
944 CALL chpevx(
'V',
'V',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
945 $ 1, w, rw, iw, i3, info )
946 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
948 CALL chpevx(
'V',
'I',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
949 $ 1, w, rw, iw, i3, info )
950 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
952 CALL chpevx(
'V',
'I',
'U', 2, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
953 $ 2, w, rw, iw, i3, info )
954 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
956 CALL chpevx(
'V',
'A',
'U', 2, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
957 $ 1, w, rw, iw, i3, info )
958 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
963 ELSE IF( lsamen( 2, c2,
'HB' ) )
THEN
969 CALL chbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
970 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
972 CALL chbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
973 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
975 CALL chbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
976 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
978 CALL chbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
979 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
981 CALL chbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
982 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
984 CALL chbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
985 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
990 srnamt =
'CHETRD_HB2ST'
994 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
998 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1001 $ c, 1, w, 1, info )
1002 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1005 $ c, 1, w, 1, info )
1006 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1009 $ c, 1, w, 1, info )
1010 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1013 $ c, 1, w, 1, info )
1014 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1017 $ c, 1, w, 1, info )
1018 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1021 $ c, 0, w, 1, info )
1022 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1025 $ c, 1, w, 0, info )
1026 CALL chkxer(
'CHETRD_HB2ST', infot, nout, lerr, ok )
1033 CALL chbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1035 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1037 CALL chbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
1039 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1041 CALL chbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
1043 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1045 CALL chbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
1047 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1049 CALL chbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
1051 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1053 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
1055 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1057 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
1059 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1061 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
1063 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1065 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
1067 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1069 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
1071 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1073 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
1075 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1077 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
1079 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1081 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
1083 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1085 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
1087 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1089 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
1091 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
1096 srnamt =
'CHBEVD_2STAGE'
1099 $ w, 1, rw, 1, iw, 1, info )
1100 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1103 $ w, 1, rw, 1, iw, 1, info )
1104 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1107 $ w, 1, rw, 1, iw, 1, info )
1108 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1111 $ w, 1, rw, 1, iw, 1, info )
1112 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1115 $ w, 1, rw, 1, iw, 1, info )
1116 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1119 $ w, 2, rw, 2, iw, 1, info )
1120 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1123 $ w, 8, rw, 25, iw, 12, info )
1124 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1127 $ w, 0, rw, 1, iw, 1, info )
1128 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1131 $ w, 1, rw, 2, iw, 1, info )
1132 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1139 $ w, 1, rw, 0, iw, 1, info )
1140 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1143 $ w, 25, rw, 1, iw, 1, info )
1144 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1151 $ w, 1, rw, 1, iw, 0, info )
1152 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1155 $ w, 25, rw, 2, iw, 0, info )
1156 CALL chkxer(
'CHBEVD_2STAGE', infot, nout, lerr, ok )
1167 CALL chbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
1168 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1170 CALL chbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
1171 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1173 CALL chbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
1174 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1176 CALL chbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
1177 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1179 CALL chbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
1180 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1182 CALL chbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
1183 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
1188 srnamt =
'CHBEV_2STAGE '
1191 $ z, 1, w, 0, rw, info )
1192 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1195 $ z, 1, w, 0, rw, info )
1196 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1199 $ z, 1, w, 0, rw, info )
1200 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1203 $ z, 1, w, 0, rw, info )
1204 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1207 $ z, 1, w, 0, rw, info )
1208 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1211 $ z, 1, w, 0, rw, info )
1212 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1215 $ z, 0, w, 0, rw, info )
1216 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1219 $ z, 1, w, 0, rw, info )
1220 CALL chkxer(
'CHBEV_2STAGE ', infot, nout, lerr, ok )
1227 CALL chbevx(
'/',
'A',
'U', 0, 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',
'/',
'U', 0, 0, a, 1, q, 1, 0.0, 1.0, 1, 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',
'/', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1236 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1238 CALL chbevx(
'V',
'A',
'U', -1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1239 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1240 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1242 CALL chbevx(
'V',
'A',
'U', 0, -1, a, 1, q, 1, 0.0, 0.0, 0, 0,
1243 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1244 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1246 CALL chbevx(
'V',
'A',
'U', 2, 1, a, 1, q, 2, 0.0, 0.0, 0, 0,
1247 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
1248 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1250 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1251 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
1252 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1254 CALL chbevx(
'V',
'V',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1255 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1256 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1258 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1259 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1260 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1262 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 1, 2,
1263 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1264 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1266 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0, 0.0, 0, 0,
1267 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
1268 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
1273 srnamt =
'CHBEVX_2STAGE'
1276 $ 0.0, 0.0, 0, 0, 0.0,
1277 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1280 $ 0.0, 0.0, 0, 0, 0.0,
1281 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1282 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1285 $ 0.0, 1.0, 1, 0, 0.0,
1286 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1287 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1290 $ 0.0, 0.0, 0, 0, 0.0,
1291 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1294 $ 0.0, 0.0, 0, 0, 0.0,
1295 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1296 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1299 $ 0.0, 0.0, 0, 0, 0.0,
1300 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1301 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1304 $ 0.0, 0.0, 0, 0, 0.0,
1305 $ m, x, z, 2, w, 0, rw, iw, i3, info )
1306 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1314 $ 0.0, 0.0, 0, 0, 0.0,
1315 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1316 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1319 $ 0.0, 0.0, 0, 0, 0.0,
1320 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1321 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1324 $ 0.0, 0.0, 1, 2, 0.0,
1325 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1326 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1329 $ 0.0, 0.0, 0, 0, 0.0,
1330 $ m, x, z, 0, w, 0, rw, iw, i3, info )
1331 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1334 $ 0.0, 0.0, 0, 0, 0.0,
1335 $ m, x, z, 1, w, 0, rw, iw, i3, info )
1336 CALL chkxer(
'CHBEVX_2STAGE', infot, nout, lerr, ok )
1343 WRITE( nout, fmt = 9999 )path, nt
1345 WRITE( nout, fmt = 9998 )path
1348 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits',
1349 $
' (', i3,
' tests done)' )
1350 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine cerrst(path, nunit)
CERRST
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 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 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_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 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 chbtrd(vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info)
CHBTRD
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 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 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 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 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 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 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 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 chetd2(uplo, n, a, lda, d, e, tau, info)
CHETD2 reduces a Hermitian matrix to real symmetric tridiagonal form by an unitary similarity transfo...
subroutine chetrd_2stage(vect, uplo, n, a, lda, d, e, tau, hous2, lhous2, work, lwork, info)
CHETRD_2STAGE
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 chetrd_he2hb(uplo, n, kd, a, lda, ab, ldab, tau, work, lwork, info)
CHETRD_HE2HB
subroutine chetrd(uplo, n, a, lda, d, e, tau, work, lwork, info)
CHETRD
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 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 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 chptrd(uplo, n, ap, d, e, tau, info)
CHPTRD
subroutine cpteqr(compz, n, d, e, z, ldz, work, info)
CPTEQR
subroutine cstedc(compz, n, d, e, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info)
CSTEDC
subroutine cstein(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)
CSTEIN
subroutine csteqr(compz, n, d, e, z, ldz, work, info)
CSTEQR
subroutine cungtr(uplo, n, a, lda, tau, work, lwork, info)
CUNGTR
subroutine cunmtr(side, uplo, trans, m, n, a, lda, tau, c, ldc, work, lwork, info)
CUNMTR
subroutine cupgtr(uplo, n, ap, tau, q, ldq, work, info)
CUPGTR
subroutine cupmtr(side, uplo, trans, m, n, ap, tau, c, ldc, work, info)
CUPMTR