76 parameter( nmax = 3, liw = 12*nmax, lw = 20*nmax )
80 INTEGER I, INFO, J, M, N, NSPLIT, NT
83 INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
84 REAL A( NMAX, NMAX ), C( NMAX, NMAX ), D( NMAX ),
85 $ E( NMAX ), Q( NMAX, NMAX ), R( NMAX ),
86 $ TAU( NMAX ), W( LW ), X( NMAX ),
110 COMMON / infoc / infot, nout, ok, lerr
111 COMMON / srnamc / srnamt
119 WRITE( nout, fmt = * )
126 a( i, j ) = 1. / real( i+j )
141 IF( lsamen( 2, c2,
'ST' ) )
THEN
147 CALL ssytrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
148 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
150 CALL ssytrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
151 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
153 CALL ssytrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
154 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
156 CALL ssytrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
157 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
162 srnamt =
'SSYTRD_2STAGE'
166 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
170 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
174 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
178 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
182 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
186 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
190 CALL chkxer(
'SSYTRD_2STAGE', infot, nout, lerr, ok )
195 srnamt =
'SSYTRD_SY2SB'
197 CALL ssytrd_sy2sb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
198 CALL chkxer(
'SSYTRD_SY2SB', infot, nout, lerr, ok )
200 CALL ssytrd_sy2sb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
201 CALL chkxer(
'SSYTRD_SY2SB', infot, nout, lerr, ok )
203 CALL ssytrd_sy2sb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
204 CALL chkxer(
'SSYTRD_SY2SB', infot, nout, lerr, ok )
206 CALL ssytrd_sy2sb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
207 CALL chkxer(
'SSYTRD_SY2SB', infot, nout, lerr, ok )
209 CALL ssytrd_sy2sb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
210 CALL chkxer(
'SSYTRD_SY2SB', infot, nout, lerr, ok )
212 CALL ssytrd_sy2sb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
213 CALL chkxer(
'SSYTRD_SY2SB', infot, nout, lerr, ok )
218 srnamt =
'SSYTRD_SB2ST'
222 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
226 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
230 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
234 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
238 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
242 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
246 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
250 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
254 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
261 CALL sorgtr(
'/', 0, a, 1, tau, w, 1, info )
262 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
264 CALL sorgtr(
'U', -1, a, 1, tau, w, 1, info )
265 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
267 CALL sorgtr(
'U', 2, a, 1, tau, w, 1, info )
268 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
270 CALL sorgtr(
'U', 3, a, 3, tau, w, 1, info )
271 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
278 CALL sormtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
279 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
281 CALL sormtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
282 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
284 CALL sormtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
285 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
287 CALL sormtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
289 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
291 CALL sormtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
293 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
295 CALL sormtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
296 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
298 CALL sormtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
299 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
301 CALL sormtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
302 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
304 CALL sormtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
305 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
307 CALL sormtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
308 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
315 CALL ssptrd(
'/', 0, a, d, e, tau, info )
316 CALL chkxer(
'SSPTRD', infot, nout, lerr, ok )
318 CALL ssptrd(
'U', -1, a, d, e, tau, info )
319 CALL chkxer(
'SSPTRD', infot, nout, lerr, ok )
326 CALL sopgtr(
'/', 0, a, tau, z, 1, w, info )
327 CALL chkxer(
'SOPGTR', infot, nout, lerr, ok )
329 CALL sopgtr(
'U', -1, a, tau, z, 1, w, info )
330 CALL chkxer(
'SOPGTR', infot, nout, lerr, ok )
332 CALL sopgtr(
'U', 2, a, tau, z, 1, w, info )
333 CALL chkxer(
'SOPGTR', infot, nout, lerr, ok )
340 CALL sopmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
341 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
343 CALL sopmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
344 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
346 CALL sopmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
347 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
349 CALL sopmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
350 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
352 CALL sopmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
353 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
355 CALL sopmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
356 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
363 CALL spteqr(
'/', 0, d, e, z, 1, w, info )
364 CALL chkxer(
'SPTEQR', infot, nout, lerr, ok )
366 CALL spteqr(
'N', -1, d, e, z, 1, w, info )
367 CALL chkxer(
'SPTEQR', infot, nout, lerr, ok )
369 CALL spteqr(
'V', 2, d, e, z, 1, w, info )
370 CALL chkxer(
'SPTEQR', infot, nout, lerr, ok )
377 CALL sstebz(
'/',
'E', 0, 0.0, 1.0, 1, 0, 0.0, d, e, m, nsplit,
378 $ x, i1, i2, w, iw, info )
379 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
381 CALL sstebz(
'A',
'/', 0, 0.0, 0.0, 0, 0, 0.0, d, e, m, nsplit,
382 $ x, i1, i2, w, iw, info )
383 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
385 CALL sstebz(
'A',
'E', -1, 0.0, 0.0, 0, 0, 0.0, d, e, m,
386 $ nsplit, x, i1, i2, w, iw, info )
387 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
389 CALL sstebz(
'V',
'E', 0, 0.0, 0.0, 0, 0, 0.0, d, e, m, nsplit,
390 $ x, i1, i2, w, iw, info )
391 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
393 CALL sstebz(
'I',
'E', 0, 0.0, 0.0, 0, 0, 0.0, d, e, m, nsplit,
394 $ x, i1, i2, w, iw, info )
395 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
397 CALL sstebz(
'I',
'E', 1, 0.0, 0.0, 2, 1, 0.0, d, e, m, nsplit,
398 $ x, i1, i2, w, iw, info )
399 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
401 CALL sstebz(
'I',
'E', 1, 0.0, 0.0, 1, 0, 0.0, d, e, m, nsplit,
402 $ x, i1, i2, w, iw, info )
403 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
405 CALL sstebz(
'I',
'E', 1, 0.0, 0.0, 1, 2, 0.0, d, e, m, nsplit,
406 $ x, i1, i2, w, iw, info )
407 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
414 CALL sstein( -1, d, e, 0, x, i1, i2, z, 1, w, iw, i3, info )
415 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
417 CALL sstein( 0, d, e, -1, x, i1, i2, z, 1, w, iw, i3, info )
418 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
420 CALL sstein( 0, d, e, 1, x, i1, i2, z, 1, w, iw, i3, info )
421 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
423 CALL sstein( 2, d, e, 0, x, i1, i2, z, 1, w, iw, i3, info )
424 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
431 CALL ssteqr(
'/', 0, d, e, z, 1, w, info )
432 CALL chkxer(
'SSTEQR', infot, nout, lerr, ok )
434 CALL ssteqr(
'N', -1, d, e, z, 1, w, info )
435 CALL chkxer(
'SSTEQR', infot, nout, lerr, ok )
437 CALL ssteqr(
'V', 2, d, e, z, 1, w, info )
438 CALL chkxer(
'SSTEQR', infot, nout, lerr, ok )
445 CALL ssterf( -1, d, e, info )
446 CALL chkxer(
'SSTERF', infot, nout, lerr, ok )
453 CALL sstedc(
'/', 0, d, e, z, 1, w, 1, iw, 1, info )
454 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
456 CALL sstedc(
'N', -1, d, e, z, 1, w, 1, iw, 1, info )
457 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
459 CALL sstedc(
'V', 2, d, e, z, 1, w, 23, iw, 28, info )
460 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
462 CALL sstedc(
'N', 1, d, e, z, 1, w, 0, iw, 1, info )
463 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
465 CALL sstedc(
'I', 2, d, e, z, 2, w, 0, iw, 12, info )
466 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
468 CALL sstedc(
'V', 2, d, e, z, 2, w, 0, iw, 28, info )
469 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
471 CALL sstedc(
'N', 1, d, e, z, 1, w, 1, iw, 0, info )
472 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
474 CALL sstedc(
'I', 2, d, e, z, 2, w, 19, iw, 0, info )
475 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
477 CALL sstedc(
'V', 2, d, e, z, 2, w, 23, iw, 0, info )
478 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
485 CALL sstevd(
'/', 0, d, e, z, 1, w, 1, iw, 1, info )
486 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
488 CALL sstevd(
'N', -1, d, e, z, 1, w, 1, iw, 1, info )
489 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
491 CALL sstevd(
'V', 2, d, e, z, 1, w, 19, iw, 12, info )
492 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
494 CALL sstevd(
'N', 1, d, e, z, 1, w, 0, iw, 1, info )
495 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
497 CALL sstevd(
'V', 2, d, e, z, 2, w, 12, iw, 12, info )
498 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
500 CALL sstevd(
'N', 0, d, e, z, 1, w, 1, iw, 0, info )
501 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
503 CALL sstevd(
'V', 2, d, e, z, 2, w, 19, iw, 11, info )
504 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
511 CALL sstev(
'/', 0, d, e, z, 1, w, info )
512 CALL chkxer(
'SSTEV ', infot, nout, lerr, ok )
514 CALL sstev(
'N', -1, d, e, z, 1, w, info )
515 CALL chkxer(
'SSTEV ', infot, nout, lerr, ok )
517 CALL sstev(
'V', 2, d, e, z, 1, w, info )
518 CALL chkxer(
'SSTEV ', infot, nout, lerr, ok )
525 CALL sstevx(
'/',
'A', 0, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
526 $ 1, w, iw, i3, info )
527 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
529 CALL sstevx(
'N',
'/', 0, d, e, 0.0, 1.0, 1, 0, 0.0, m, x, z,
530 $ 1, w, iw, i3, info )
531 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
533 CALL sstevx(
'N',
'A', -1, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
534 $ 1, w, iw, i3, info )
535 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
537 CALL sstevx(
'N',
'V', 1, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
538 $ 1, w, iw, i3, info )
539 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
541 CALL sstevx(
'N',
'I', 1, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
542 $ 1, w, iw, i3, info )
543 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
545 CALL sstevx(
'N',
'I', 1, d, e, 0.0, 0.0, 2, 1, 0.0, m, x, z,
546 $ 1, w, iw, i3, info )
547 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
549 CALL sstevx(
'N',
'I', 2, d, e, 0.0, 0.0, 2, 1, 0.0, m, x, z,
550 $ 1, w, iw, i3, info )
551 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
553 CALL sstevx(
'N',
'I', 1, d, e, 0.0, 0.0, 1, 2, 0.0, m, x, z,
554 $ 1, w, iw, i3, info )
555 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
557 CALL sstevx(
'V',
'A', 2, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
558 $ 1, w, iw, i3, info )
559 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
567 CALL sstevr(
'/',
'A', 0, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
568 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
569 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
571 CALL sstevr(
'V',
'/', 0, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
572 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
573 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
575 CALL sstevr(
'V',
'A', -1, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
576 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
577 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
579 CALL sstevr(
'V',
'V', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
580 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
581 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
583 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 0, 1, 0.0, m, w, z,
584 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
585 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
588 CALL sstevr(
'V',
'I', 2, d, e, 0.0, 0.0, 2, 1, 0.0, m, w, z,
589 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
590 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
593 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, w, z,
594 $ 0, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
595 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
597 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, w, z,
598 $ 1, iw, x, 20*n-1, iw( 2*n+1 ), 10*n, info )
599 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
601 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, w, z,
602 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n-1, info )
603 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
610 CALL ssyevd(
'/',
'U', 0, a, 1, x, w, 1, iw, 1, info )
611 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
613 CALL ssyevd(
'N',
'/', 0, a, 1, x, w, 1, iw, 1, info )
614 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
616 CALL ssyevd(
'N',
'U', -1, a, 1, x, w, 1, iw, 1, info )
617 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
619 CALL ssyevd(
'N',
'U', 2, a, 1, x, w, 3, iw, 1, info )
620 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
622 CALL ssyevd(
'N',
'U', 1, a, 1, x, w, 0, iw, 1, info )
623 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
625 CALL ssyevd(
'N',
'U', 2, a, 2, x, w, 4, iw, 1, info )
626 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
628 CALL ssyevd(
'V',
'U', 2, a, 2, x, w, 20, iw, 12, info )
629 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
631 CALL ssyevd(
'N',
'U', 1, a, 1, x, w, 1, iw, 0, info )
632 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
634 CALL ssyevd(
'N',
'U', 2, a, 2, x, w, 5, iw, 0, info )
635 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
637 CALL ssyevd(
'V',
'U', 2, a, 2, x, w, 27, iw, 11, info )
638 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
643 srnamt =
'SSYEVD_2STAGE'
645 CALL ssyevd_2stage(
'/',
'U', 0, a, 1, x, w, 1, iw, 1, info )
646 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
648 CALL ssyevd_2stage(
'V',
'U', 0, a, 1, x, w, 1, iw, 1, info )
649 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
651 CALL ssyevd_2stage(
'N',
'/', 0, a, 1, x, w, 1, iw, 1, info )
652 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
654 CALL ssyevd_2stage(
'N',
'U', -1, a, 1, x, w, 1, iw, 1, info )
655 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
657 CALL ssyevd_2stage(
'N',
'U', 2, a, 1, x, w, 3, iw, 1, info )
658 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
660 CALL ssyevd_2stage(
'N',
'U', 1, a, 1, x, w, 0, iw, 1, info )
661 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
663 CALL ssyevd_2stage(
'N',
'U', 2, a, 2, x, w, 4, iw, 1, info )
664 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
669 CALL ssyevd_2stage(
'N',
'U', 1, a, 1, x, w, 1, iw, 0, info )
670 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
672 CALL ssyevd_2stage(
'N',
'U', 2, a, 2, x, w, 25, iw, 0, info )
673 CALL chkxer(
'SSYEVD_2STAGE', infot, nout, lerr, ok )
684 CALL ssyevr(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
685 $ z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
686 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
688 CALL ssyevr(
'V',
'/',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
689 $ z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
690 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
692 CALL ssyevr(
'V',
'A',
'/', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
693 $ r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
694 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
696 CALL ssyevr(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
697 $ r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
698 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
700 CALL ssyevr(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
701 $ z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
702 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
704 CALL ssyevr(
'V',
'V',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
705 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
706 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
708 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 0, 1, 0.0,
709 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
710 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
713 CALL ssyevr(
'V',
'I',
'U', 2, a, 2, 0.0e0, 0.0e0, 2, 1, 0.0,
714 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
715 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
717 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
718 $ m, r, z, 0, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
719 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
721 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
722 $ m, r, z, 1, iw, q, 26*n-1, iw( 2*n+1 ), 10*n,
724 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
726 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
727 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n-1,
729 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
734 srnamt =
'SSYEVR_2STAGE'
738 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
739 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
740 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
743 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
744 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
745 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
748 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
749 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
750 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
753 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
754 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
755 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
758 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
759 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
760 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
763 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
764 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
765 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
768 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
769 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
770 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
773 $ 0.0e0, 0.0e0, 0, 1, 0.0e0,
774 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
775 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
778 $ 0.0e0, 0.0e0, 2, 1, 0.0e0,
779 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
780 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
783 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
784 $ m, r, z, 0, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
785 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
788 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
789 $ m, r, z, 1, iw, q, 0, iw( 2*n+1 ), 10*n,
791 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
794 $ 0.0e0, 0.0e0, 1, 1, 0.0e0,
795 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 0,
797 CALL chkxer(
'SSYEVR_2STAGE', infot, nout, lerr, ok )
804 CALL ssyev(
'/',
'U', 0, a, 1, x, w, 1, info )
805 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
807 CALL ssyev(
'N',
'/', 0, a, 1, x, w, 1, info )
808 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
810 CALL ssyev(
'N',
'U', -1, a, 1, x, w, 1, info )
811 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
813 CALL ssyev(
'N',
'U', 2, a, 1, x, w, 3, info )
814 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
816 CALL ssyev(
'N',
'U', 1, a, 1, x, w, 1, info )
817 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
822 srnamt =
'SSYEV_2STAGE '
825 CALL chkxer(
'SSYEV_2STAGE ', infot, nout, lerr, ok )
828 CALL chkxer(
'SSYEV_2STAGE ', infot, nout, lerr, ok )
831 CALL chkxer(
'SSYEV_2STAGE ', infot, nout, lerr, ok )
834 CALL chkxer(
'SSYEV_2STAGE ', infot, nout, lerr, ok )
837 CALL chkxer(
'SSYEV_2STAGE ', infot, nout, lerr, ok )
840 CALL chkxer(
'SSYEV_2STAGE ', infot, nout, lerr, ok )
847 CALL ssyevx(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
848 $ z, 1, w, 1, iw, i3, info )
849 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
851 CALL ssyevx(
'N',
'/',
'U', 0, a, 1, 0.0, 1.0, 1, 0, 0.0, m, x,
852 $ z, 1, w, 1, iw, i3, info )
853 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
855 CALL ssyevx(
'N',
'A',
'/', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
856 $ z, 1, w, 1, iw, i3, info )
858 CALL ssyevx(
'N',
'A',
'U', -1, a, 1, 0.0, 0.0, 0, 0, 0.0, m,
859 $ x, z, 1, w, 1, iw, i3, info )
860 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
862 CALL ssyevx(
'N',
'A',
'U', 2, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
863 $ z, 1, w, 16, iw, i3, info )
864 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
866 CALL ssyevx(
'N',
'V',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
867 $ z, 1, w, 8, iw, i3, info )
868 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
870 CALL ssyevx(
'N',
'I',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
871 $ z, 1, w, 8, iw, i3, info )
872 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
874 CALL ssyevx(
'N',
'I',
'U', 1, a, 1, 0.0, 0.0, 2, 1, 0.0, m, x,
875 $ z, 1, w, 8, iw, i3, info )
876 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
878 CALL ssyevx(
'N',
'I',
'U', 2, a, 2, 0.0, 0.0, 2, 1, 0.0, m, x,
879 $ z, 1, w, 16, iw, i3, info )
880 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
882 CALL ssyevx(
'N',
'I',
'U', 1, a, 1, 0.0, 0.0, 1, 2, 0.0, m, x,
883 $ z, 1, w, 8, iw, i3, info )
884 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
886 CALL ssyevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
887 $ z, 1, w, 16, iw, i3, info )
888 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
890 CALL ssyevx(
'V',
'A',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
891 $ z, 1, w, 0, iw, i3, info )
892 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
897 srnamt =
'SSYEVX_2STAGE'
900 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
901 $ m, x, z, 1, w, 1, iw, i3, info )
902 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
905 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
906 $ m, x, z, 1, w, 1, iw, i3, info )
907 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
910 $ 0.0e0, 1.0e0, 1, 0, 0.0e0,
911 $ m, x, z, 1, w, 1, iw, i3, info )
912 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
915 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
916 $ m, x, z, 1, w, 1, iw, i3, info )
919 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
920 $ m, x, z, 1, w, 1, iw, i3, info )
921 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
924 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
925 $ m, x, z, 1, w, 16, iw, i3, info )
926 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
929 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
930 $ m, x, z, 1, w, 8, iw, i3, info )
931 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
934 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
935 $ m, x, z, 1, w, 8, iw, i3, info )
936 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
939 $ 0.0e0, 0.0e0, 2, 1, 0.0e0,
940 $ m, x, z, 1, w, 8, iw, i3, info )
941 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
944 $ 0.0e0, 0.0e0, 2, 1, 0.0e0,
945 $ m, x, z, 1, w, 16, iw, i3, info )
946 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
949 $ 0.0e0, 0.0e0, 1, 2, 0.0e0,
950 $ m, x, z, 1, w, 8, iw, i3, info )
951 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
954 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
955 $ m, x, z, 0, w, 16, iw, i3, info )
956 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
959 $ 0.0e0, 0.0e0, 0, 0, 0.0e0,
960 $ m, x, z, 1, w, 0, iw, i3, info )
961 CALL chkxer(
'SSYEVX_2STAGE', infot, nout, lerr, ok )
968 CALL sspevd(
'/',
'U', 0, a, x, z, 1, w, 1, iw, 1, info )
969 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
971 CALL sspevd(
'N',
'/', 0, a, x, z, 1, w, 1, iw, 1, info )
972 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
974 CALL sspevd(
'N',
'U', -1, a, x, z, 1, w, 1, iw, 1, info )
975 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
977 CALL sspevd(
'V',
'U', 2, a, x, z, 1, w, 23, iw, 12, info )
978 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
980 CALL sspevd(
'N',
'U', 1, a, x, z, 1, w, 0, iw, 1, info )
981 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
983 CALL sspevd(
'N',
'U', 2, a, x, z, 1, w, 3, iw, 1, info )
984 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
986 CALL sspevd(
'V',
'U', 2, a, x, z, 2, w, 16, iw, 12, info )
987 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
989 CALL sspevd(
'N',
'U', 1, a, x, z, 1, w, 1, iw, 0, info )
990 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
992 CALL sspevd(
'N',
'U', 2, a, x, z, 1, w, 4, iw, 0, info )
993 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
995 CALL sspevd(
'V',
'U', 2, a, x, z, 2, w, 23, iw, 11, info )
996 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
1003 CALL sspev(
'/',
'U', 0, a, w, z, 1, x, info )
1004 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
1006 CALL sspev(
'N',
'/', 0, a, w, z, 1, x, info )
1007 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
1009 CALL sspev(
'N',
'U', -1, a, w, z, 1, x, info )
1010 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
1012 CALL sspev(
'V',
'U', 2, a, w, z, 1, x, info )
1013 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
1020 CALL sspevx(
'/',
'A',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
1021 $ 1, w, iw, i3, info )
1022 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1024 CALL sspevx(
'N',
'/',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
1025 $ 1, w, iw, i3, info )
1026 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1028 CALL sspevx(
'N',
'A',
'/', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
1029 $ 1, w, iw, i3, info )
1031 CALL sspevx(
'N',
'A',
'U', -1, a, 0.0, 0.0, 0, 0, 0.0, m, x,
1032 $ z, 1, w, iw, i3, info )
1033 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1035 CALL sspevx(
'N',
'V',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
1036 $ 1, w, iw, i3, info )
1037 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1039 CALL sspevx(
'N',
'I',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
1040 $ 1, w, iw, i3, info )
1041 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1043 CALL sspevx(
'N',
'I',
'U', 1, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
1044 $ 1, w, iw, i3, info )
1045 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1047 CALL sspevx(
'N',
'I',
'U', 2, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
1048 $ 1, w, iw, i3, info )
1049 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1051 CALL sspevx(
'N',
'I',
'U', 1, a, 0.0, 0.0, 1, 2, 0.0, m, x, z,
1052 $ 1, w, iw, i3, info )
1053 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1055 CALL sspevx(
'V',
'A',
'U', 2, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
1056 $ 1, w, iw, i3, info )
1057 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
1062 ELSE IF( lsamen( 2, c2,
'SB' ) )
THEN
1068 CALL ssbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
1069 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
1071 CALL ssbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
1072 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
1074 CALL ssbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
1075 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
1077 CALL ssbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
1078 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
1080 CALL ssbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
1081 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
1083 CALL ssbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
1084 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
1089 srnamt =
'SSYTRD_SB2ST'
1092 $ c, 1, w, 1, info )
1093 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1096 $ c, 1, w, 1, info )
1097 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1100 $ c, 1, w, 1, info )
1101 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1104 $ c, 1, w, 1, info )
1105 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1108 $ c, 1, w, 1, info )
1109 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1112 $ c, 1, w, 1, info )
1113 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1116 $ c, 1, w, 1, info )
1117 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1120 $ c, 0, w, 1, info )
1121 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1124 $ c, 1, w, 0, info )
1125 CALL chkxer(
'SSYTRD_SB2ST', infot, nout, lerr, ok )
1132 CALL ssbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, iw, 1, info )
1133 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1135 CALL ssbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, iw, 1, info )
1136 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1138 CALL ssbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, iw, 1,
1140 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1142 CALL ssbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, iw, 1,
1144 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1146 CALL ssbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 4, iw, 1, info )
1147 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1149 CALL ssbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 25, iw, 12,
1151 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1153 CALL ssbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, iw, 1, info )
1154 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1156 CALL ssbevd(
'N',
'U', 2, 0, a, 1, x, z, 1, w, 3, iw, 1, info )
1157 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1159 CALL ssbevd(
'V',
'U', 2, 0, a, 1, x, z, 2, w, 18, iw, 12,
1161 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1163 CALL ssbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, iw, 0, info )
1164 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1166 CALL ssbevd(
'V',
'U', 2, 0, a, 1, x, z, 2, w, 25, iw, 11,
1168 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
1173 srnamt =
'SSBEVD_2STAGE'
1175 CALL ssbevd_2stage(
'/',
'U', 0, 0, a, 1, x, z, 1, w,
1177 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1179 CALL ssbevd_2stage(
'V',
'U', 0, 0, a, 1, x, z, 1, w,
1181 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1183 CALL ssbevd_2stage(
'N',
'/', 0, 0, a, 1, x, z, 1, w,
1185 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1187 CALL ssbevd_2stage(
'N',
'U', -1, 0, a, 1, x, z, 1, w,
1189 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1191 CALL ssbevd_2stage(
'N',
'U', 0, -1, a, 1, x, z, 1, w,
1193 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1195 CALL ssbevd_2stage(
'N',
'U', 2, 1, a, 1, x, z, 1, w,
1197 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1203 CALL ssbevd_2stage(
'N',
'U', 1, 0, a, 1, x, z, 1, w,
1205 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1207 CALL ssbevd_2stage(
'N',
'U', 2, 0, a, 1, x, z, 1, w,
1209 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1215 CALL ssbevd_2stage(
'N',
'U', 1, 0, a, 1, x, z, 1, w,
1217 CALL chkxer(
'SSBEVD_2STAGE', infot, nout, lerr, ok )
1229 CALL ssbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, info )
1230 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
1232 CALL ssbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, info )
1233 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
1235 CALL ssbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, info )
1236 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
1238 CALL ssbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, info )
1239 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
1241 CALL ssbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, info )
1242 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
1244 CALL ssbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, info )
1245 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
1250 srnamt =
'SSBEV_2STAGE '
1252 CALL ssbev_2stage(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 0, info )
1253 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1255 CALL ssbev_2stage(
'V',
'U', 0, 0, a, 1, x, z, 1, w, 0, info )
1256 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1258 CALL ssbev_2stage(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 0, info )
1259 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1261 CALL ssbev_2stage(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 0, info )
1262 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1264 CALL ssbev_2stage(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 0, info )
1265 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1267 CALL ssbev_2stage(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 0, info )
1268 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1270 CALL ssbev_2stage(
'N',
'U', 2, 0, a, 1, x, z, 0, w, 0, info )
1271 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1273 CALL ssbev_2stage(
'N',
'U', 0, 0, a, 1, x, z, 1, w, 0, info )
1274 CALL chkxer(
'SSBEV_2STAGE ', infot, nout, lerr, ok )
1281 CALL ssbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1282 $ 0.0, m, x, z, 1, w, iw, i3, info )
1283 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1285 CALL ssbevx(
'N',
'/',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1286 $ 0.0, m, x, z, 1, w, iw, i3, info )
1287 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1289 CALL ssbevx(
'N',
'A',
'/', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1290 $ 0.0, m, x, z, 1, w, iw, i3, info )
1291 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1293 CALL ssbevx(
'N',
'A',
'U', -1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1294 $ 0.0, m, x, z, 1, w, iw, i3, info )
1295 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1297 CALL ssbevx(
'N',
'A',
'U', 0, -1, a, 1, q, 1, 0.0, 0.0, 0, 0,
1298 $ 0.0, m, x, z, 1, w, iw, i3, info )
1299 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1301 CALL ssbevx(
'N',
'A',
'U', 2, 1, a, 1, q, 1, 0.0, 0.0, 0, 0,
1302 $ 0.0, m, x, z, 1, w, iw, i3, info )
1303 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1305 CALL ssbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1306 $ 0.0, m, x, z, 2, w, iw, i3, info )
1307 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1309 CALL ssbevx(
'N',
'V',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1310 $ 0.0, m, x, z, 1, w, iw, i3, info )
1311 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1313 CALL ssbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
1314 $ 0.0, m, x, z, 1, w, iw, i3, info )
1315 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1317 CALL ssbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 2, 1,
1318 $ 0.0, m, x, z, 1, w, iw, i3, info )
1319 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1321 CALL ssbevx(
'N',
'I',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 2, 1,
1322 $ 0.0, m, x, z, 1, w, iw, i3, info )
1323 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1325 CALL ssbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 1, 2,
1326 $ 0.0, m, x, z, 1, w, iw, i3, info )
1327 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1329 CALL ssbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0, 0.0, 0, 0,
1330 $ 0.0, m, x, z, 1, w, iw, i3, info )
1331 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
1336 srnamt =
'SSBEVX_2STAGE'
1338 CALL ssbevx_2stage(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0e0,
1339 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1340 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1342 CALL ssbevx_2stage(
'V',
'A',
'U', 0, 0, a, 1, q, 1, 0.0e0,
1343 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1344 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1346 CALL ssbevx_2stage(
'N',
'/',
'U', 0, 0, a, 1, q, 1, 0.0e0,
1347 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1348 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1350 CALL ssbevx_2stage(
'N',
'A',
'/', 0, 0, a, 1, q, 1, 0.0e0,
1351 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1352 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1354 CALL ssbevx_2stage(
'N',
'A',
'U', -1, 0, a, 1, q, 1, 0.0e0,
1355 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1356 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1358 CALL ssbevx_2stage(
'N',
'A',
'U', 0, -1, a, 1, q, 1, 0.0e0,
1359 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1360 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1362 CALL ssbevx_2stage(
'N',
'A',
'U', 2, 1, a, 1, q, 1, 0.0e0,
1363 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1364 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1370 CALL ssbevx_2stage(
'N',
'V',
'U', 1, 0, a, 1, q, 1, 0.0e0,
1371 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1372 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1374 CALL ssbevx_2stage(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0e0,
1375 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1376 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1378 CALL ssbevx_2stage(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0e0,
1379 $ 0.0e0, 2, 1, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1380 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1382 CALL ssbevx_2stage(
'N',
'I',
'U', 2, 0, a, 1, q, 1, 0.0e0,
1383 $ 0.0e0, 2, 1, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1384 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1386 CALL ssbevx_2stage(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0e0,
1387 $ 0.0e0, 1, 2, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1388 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1394 CALL ssbevx_2stage(
'N',
'A',
'U', 0, 0, a, 1, q, 1, 0.0e0,
1395 $ 0.0e0, 0, 0, 0.0e0, m, x, z, 1, w, 0, iw, i3, info )
1396 CALL chkxer(
'SSBEVX_2STAGE', infot, nout, lerr, ok )
1404 WRITE( nout, fmt = 9999 )path, nt
1406 WRITE( nout, fmt = 9998 )path
1409 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits',
1410 $
' (', i3,
' tests done)' )
1411 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine ssteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEQR
subroutine sstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSTEDC
subroutine ssterf(N, D, E, INFO)
SSTERF
subroutine sstebz(RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, M, NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO)
SSTEBZ
subroutine ssptrd(UPLO, N, AP, D, E, TAU, INFO)
SSPTRD
subroutine sormtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
SORMTR
subroutine sopgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
SOPGTR
subroutine ssbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
SSBTRD
subroutine sstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSTEIN
subroutine sopmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
SOPMTR
subroutine sorgtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
SORGTR
subroutine ssbev(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, INFO)
SSBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine ssbevx_2stage(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO)
SSBEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine ssbev_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, INFO)
SSBEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER m...
subroutine sstevx(JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSTEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine ssbevd(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine ssbevx(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSBEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine sstev(JOBZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine sspevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine sspevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine ssbevd_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSBEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine sstevd(JOBZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSTEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine sspev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, INFO)
SSPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine sstevr(JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSTEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine spteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SPTEQR
subroutine ssytrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
SSYTRD
subroutine ssytrd_2stage(VECT, UPLO, N, A, LDA, D, E, TAU, HOUS2, LHOUS2, WORK, LWORK, INFO)
SSYTRD_2STAGE
subroutine ssytrd_sy2sb(UPLO, N, KD, A, LDA, AB, LDAB, TAU, WORK, LWORK, INFO)
SSYTRD_SY2SB
subroutine ssyevd_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, INFO)
SSYEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY mat...
subroutine ssyevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSYEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices
subroutine ssyev_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO)
SSYEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matr...
subroutine ssyev(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO)
SSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices
subroutine ssyevd(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, INFO)
SSYEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices
subroutine ssyevx(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO)
SSYEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices
subroutine ssyevr_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSYEVR_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY mat...
subroutine ssyevx_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO)
SSYEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY mat...
subroutine serrst(PATH, NUNIT)
SERRST
subroutine ssytrd_sb2st(STAGE1, VECT, UPLO, N, KD, AB, LDAB, D, E, HOUS, LHOUS, WORK, LWORK, INFO)
SSYTRD_SB2ST reduces a real symmetric band matrix A to real symmetric tridiagonal form T