58 SUBROUTINE serrst( PATH, NUNIT )
75 parameter ( nmax = 3, liw = 12*nmax, lw = 20*nmax )
79 INTEGER I, INFO, J, M, N, NSPLIT, NT
82 INTEGER I1( nmax ), I2( nmax ), I3( nmax ), IW( liw )
83 REAL A( nmax, nmax ), C( nmax, nmax ), D( nmax ),
84 $ e( nmax ), q( nmax, nmax ), r( nmax ),
85 $ tau( nmax ), w( lw ), x( nmax ),
105 COMMON / infoc / infot, nout, ok, lerr
106 COMMON / srnamc / srnamt
114 WRITE( nout, fmt = * )
121 a( i, j ) = 1. /
REAL( i+j )
136 IF( lsamen( 2, c2,
'ST' ) )
THEN
142 CALL ssytrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
143 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
145 CALL ssytrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
146 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
148 CALL ssytrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
149 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
151 CALL ssytrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
152 CALL chkxer(
'SSYTRD', infot, nout, lerr, ok )
159 CALL sorgtr(
'/', 0, a, 1, tau, w, 1, info )
160 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
162 CALL sorgtr(
'U', -1, a, 1, tau, w, 1, info )
163 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
165 CALL sorgtr(
'U', 2, a, 1, tau, w, 1, info )
166 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
168 CALL sorgtr(
'U', 3, a, 3, tau, w, 1, info )
169 CALL chkxer(
'SORGTR', infot, nout, lerr, ok )
176 CALL sormtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
177 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
179 CALL sormtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
180 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
182 CALL sormtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
183 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
185 CALL sormtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
187 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
189 CALL sormtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
191 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
193 CALL sormtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
194 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
196 CALL sormtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
197 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
199 CALL sormtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
200 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
202 CALL sormtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
203 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
205 CALL sormtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
206 CALL chkxer(
'SORMTR', infot, nout, lerr, ok )
213 CALL ssptrd(
'/', 0, a, d, e, tau, info )
214 CALL chkxer(
'SSPTRD', infot, nout, lerr, ok )
216 CALL ssptrd(
'U', -1, a, d, e, tau, info )
217 CALL chkxer(
'SSPTRD', infot, nout, lerr, ok )
224 CALL sopgtr(
'/', 0, a, tau, z, 1, w, info )
225 CALL chkxer(
'SOPGTR', infot, nout, lerr, ok )
227 CALL sopgtr(
'U', -1, a, tau, z, 1, w, info )
228 CALL chkxer(
'SOPGTR', infot, nout, lerr, ok )
230 CALL sopgtr(
'U', 2, a, tau, z, 1, w, info )
231 CALL chkxer(
'SOPGTR', infot, nout, lerr, ok )
238 CALL sopmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
239 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
241 CALL sopmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
242 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
244 CALL sopmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
245 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
247 CALL sopmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
248 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
250 CALL sopmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
251 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
253 CALL sopmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
254 CALL chkxer(
'SOPMTR', infot, nout, lerr, ok )
261 CALL spteqr(
'/', 0, d, e, z, 1, w, info )
262 CALL chkxer(
'SPTEQR', infot, nout, lerr, ok )
264 CALL spteqr(
'N', -1, d, e, z, 1, w, info )
265 CALL chkxer(
'SPTEQR', infot, nout, lerr, ok )
267 CALL spteqr(
'V', 2, d, e, z, 1, w, info )
268 CALL chkxer(
'SPTEQR', infot, nout, lerr, ok )
275 CALL sstebz(
'/',
'E', 0, 0.0, 1.0, 1, 0, 0.0, d, e, m, nsplit,
276 $ x, i1, i2, w, iw, info )
277 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
279 CALL sstebz(
'A',
'/', 0, 0.0, 0.0, 0, 0, 0.0, d, e, m, nsplit,
280 $ x, i1, i2, w, iw, info )
281 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
283 CALL sstebz(
'A',
'E', -1, 0.0, 0.0, 0, 0, 0.0, d, e, m,
284 $ nsplit, x, i1, i2, w, iw, info )
285 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
287 CALL sstebz(
'V',
'E', 0, 0.0, 0.0, 0, 0, 0.0, d, e, m, nsplit,
288 $ x, i1, i2, w, iw, info )
289 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
291 CALL sstebz(
'I',
'E', 0, 0.0, 0.0, 0, 0, 0.0, d, e, m, nsplit,
292 $ x, i1, i2, w, iw, info )
293 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
295 CALL sstebz(
'I',
'E', 1, 0.0, 0.0, 2, 1, 0.0, d, e, m, nsplit,
296 $ x, i1, i2, w, iw, info )
297 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
299 CALL sstebz(
'I',
'E', 1, 0.0, 0.0, 1, 0, 0.0, d, e, m, nsplit,
300 $ x, i1, i2, w, iw, info )
301 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
303 CALL sstebz(
'I',
'E', 1, 0.0, 0.0, 1, 2, 0.0, d, e, m, nsplit,
304 $ x, i1, i2, w, iw, info )
305 CALL chkxer(
'SSTEBZ', infot, nout, lerr, ok )
312 CALL sstein( -1, d, e, 0, x, i1, i2, z, 1, w, iw, i3, info )
313 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
315 CALL sstein( 0, d, e, -1, x, i1, i2, z, 1, w, iw, i3, info )
316 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
318 CALL sstein( 0, d, e, 1, x, i1, i2, z, 1, w, iw, i3, info )
319 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
321 CALL sstein( 2, d, e, 0, x, i1, i2, z, 1, w, iw, i3, info )
322 CALL chkxer(
'SSTEIN', infot, nout, lerr, ok )
329 CALL ssteqr(
'/', 0, d, e, z, 1, w, info )
330 CALL chkxer(
'SSTEQR', infot, nout, lerr, ok )
332 CALL ssteqr(
'N', -1, d, e, z, 1, w, info )
333 CALL chkxer(
'SSTEQR', infot, nout, lerr, ok )
335 CALL ssteqr(
'V', 2, d, e, z, 1, w, info )
336 CALL chkxer(
'SSTEQR', infot, nout, lerr, ok )
343 CALL ssterf( -1, d, e, info )
344 CALL chkxer(
'SSTERF', infot, nout, lerr, ok )
351 CALL sstedc(
'/', 0, d, e, z, 1, w, 1, iw, 1, info )
352 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
354 CALL sstedc(
'N', -1, d, e, z, 1, w, 1, iw, 1, info )
355 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
357 CALL sstedc(
'V', 2, d, e, z, 1, w, 23, iw, 28, info )
358 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
360 CALL sstedc(
'N', 1, d, e, z, 1, w, 0, iw, 1, info )
361 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
363 CALL sstedc(
'I', 2, d, e, z, 2, w, 0, iw, 12, info )
364 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
366 CALL sstedc(
'V', 2, d, e, z, 2, w, 0, iw, 28, info )
367 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
369 CALL sstedc(
'N', 1, d, e, z, 1, w, 1, iw, 0, info )
370 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
372 CALL sstedc(
'I', 2, d, e, z, 2, w, 19, iw, 0, info )
373 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
375 CALL sstedc(
'V', 2, d, e, z, 2, w, 23, iw, 0, info )
376 CALL chkxer(
'SSTEDC', infot, nout, lerr, ok )
383 CALL sstevd(
'/', 0, d, e, z, 1, w, 1, iw, 1, info )
384 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
386 CALL sstevd(
'N', -1, d, e, z, 1, w, 1, iw, 1, info )
387 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
389 CALL sstevd(
'V', 2, d, e, z, 1, w, 19, iw, 12, info )
390 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
392 CALL sstevd(
'N', 1, d, e, z, 1, w, 0, iw, 1, info )
393 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
395 CALL sstevd(
'V', 2, d, e, z, 2, w, 12, iw, 12, info )
396 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
398 CALL sstevd(
'N', 0, d, e, z, 1, w, 1, iw, 0, info )
399 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
401 CALL sstevd(
'V', 2, d, e, z, 2, w, 19, iw, 11, info )
402 CALL chkxer(
'SSTEVD', infot, nout, lerr, ok )
409 CALL sstev(
'/', 0, d, e, z, 1, w, info )
410 CALL chkxer(
'SSTEV ', infot, nout, lerr, ok )
412 CALL sstev(
'N', -1, d, e, z, 1, w, info )
413 CALL chkxer(
'SSTEV ', infot, nout, lerr, ok )
415 CALL sstev(
'V', 2, d, e, z, 1, w, info )
416 CALL chkxer(
'SSTEV ', infot, nout, lerr, ok )
423 CALL sstevx(
'/',
'A', 0, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
424 $ 1, w, iw, i3, info )
425 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
427 CALL sstevx(
'N',
'/', 0, d, e, 0.0, 1.0, 1, 0, 0.0, m, x, z,
428 $ 1, w, iw, i3, info )
429 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
431 CALL sstevx(
'N',
'A', -1, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
432 $ 1, w, iw, i3, info )
433 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
435 CALL sstevx(
'N',
'V', 1, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
436 $ 1, w, iw, i3, info )
437 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
439 CALL sstevx(
'N',
'I', 1, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
440 $ 1, w, iw, i3, info )
441 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
443 CALL sstevx(
'N',
'I', 1, d, e, 0.0, 0.0, 2, 1, 0.0, m, x, z,
444 $ 1, w, iw, i3, info )
445 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
447 CALL sstevx(
'N',
'I', 2, d, e, 0.0, 0.0, 2, 1, 0.0, m, x, z,
448 $ 1, w, iw, i3, info )
449 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
451 CALL sstevx(
'N',
'I', 1, d, e, 0.0, 0.0, 1, 2, 0.0, m, x, z,
452 $ 1, w, iw, i3, info )
453 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
455 CALL sstevx(
'V',
'A', 2, d, e, 0.0, 0.0, 0, 0, 0.0, m, x, z,
456 $ 1, w, iw, i3, info )
457 CALL chkxer(
'SSTEVX', infot, nout, lerr, ok )
465 CALL sstevr(
'/',
'A', 0, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
466 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
467 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
469 CALL sstevr(
'V',
'/', 0, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
470 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
471 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
473 CALL sstevr(
'V',
'A', -1, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
474 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
475 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
477 CALL sstevr(
'V',
'V', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, r, z,
478 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
479 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
481 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 0, 1, 0.0, m, w, z,
482 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
483 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
486 CALL sstevr(
'V',
'I', 2, d, e, 0.0, 0.0, 2, 1, 0.0, m, w, z,
487 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
488 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
491 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, w, z,
492 $ 0, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
493 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
495 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, w, z,
496 $ 1, iw, x, 20*n-1, iw( 2*n+1 ), 10*n, info )
497 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
499 CALL sstevr(
'V',
'I', 1, d, e, 0.0, 0.0, 1, 1, 0.0, m, w, z,
500 $ 1, iw, x, 20*n, iw( 2*n+1 ), 10*n-1, info )
501 CALL chkxer(
'SSTEVR', infot, nout, lerr, ok )
508 CALL ssyevd(
'/',
'U', 0, a, 1, x, w, 1, iw, 1, info )
509 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
511 CALL ssyevd(
'N',
'/', 0, a, 1, x, w, 1, iw, 1, info )
512 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
514 CALL ssyevd(
'N',
'U', -1, a, 1, x, w, 1, iw, 1, info )
515 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
517 CALL ssyevd(
'N',
'U', 2, a, 1, x, w, 3, iw, 1, info )
518 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
520 CALL ssyevd(
'N',
'U', 1, a, 1, x, w, 0, iw, 1, info )
521 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
523 CALL ssyevd(
'N',
'U', 2, a, 2, x, w, 4, iw, 1, info )
524 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
526 CALL ssyevd(
'V',
'U', 2, a, 2, x, w, 20, iw, 12, info )
527 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
529 CALL ssyevd(
'N',
'U', 1, a, 1, x, w, 1, iw, 0, info )
530 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
532 CALL ssyevd(
'N',
'U', 2, a, 2, x, w, 5, iw, 0, info )
533 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
535 CALL ssyevd(
'V',
'U', 2, a, 2, x, w, 27, iw, 11, info )
536 CALL chkxer(
'SSYEVD', infot, nout, lerr, ok )
544 CALL ssyevr(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
545 $ z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
546 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
548 CALL ssyevr(
'V',
'/',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
549 $ z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
550 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
552 CALL ssyevr(
'V',
'A',
'/', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
553 $ r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
554 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
556 CALL ssyevr(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
557 $ r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
558 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
560 CALL ssyevr(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
561 $ z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
562 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
564 CALL ssyevr(
'V',
'V',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
565 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
566 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
568 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 0, 1, 0.0,
569 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
570 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
573 CALL ssyevr(
'V',
'I',
'U', 2, a, 2, 0.0e0, 0.0e0, 2, 1, 0.0,
574 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
575 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
577 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
578 $ m, r, z, 0, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
579 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
581 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
582 $ m, r, z, 1, iw, q, 26*n-1, iw( 2*n+1 ), 10*n,
584 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
586 CALL ssyevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
587 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n-1,
589 CALL chkxer(
'SSYEVR', infot, nout, lerr, ok )
596 CALL ssyev(
'/',
'U', 0, a, 1, x, w, 1, info )
597 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
599 CALL ssyev(
'N',
'/', 0, a, 1, x, w, 1, info )
600 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
602 CALL ssyev(
'N',
'U', -1, a, 1, x, w, 1, info )
603 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
605 CALL ssyev(
'N',
'U', 2, a, 1, x, w, 3, info )
606 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
608 CALL ssyev(
'N',
'U', 1, a, 1, x, w, 1, info )
609 CALL chkxer(
'SSYEV ', infot, nout, lerr, ok )
616 CALL ssyevx(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
617 $ z, 1, w, 1, iw, i3, info )
618 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
620 CALL ssyevx(
'N',
'/',
'U', 0, a, 1, 0.0, 1.0, 1, 0, 0.0, m, x,
621 $ z, 1, w, 1, iw, i3, info )
622 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
624 CALL ssyevx(
'N',
'A',
'/', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
625 $ z, 1, w, 1, iw, i3, info )
627 CALL ssyevx(
'N',
'A',
'U', -1, a, 1, 0.0, 0.0, 0, 0, 0.0, m,
628 $ x, z, 1, w, 1, iw, i3, info )
629 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
631 CALL ssyevx(
'N',
'A',
'U', 2, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
632 $ z, 1, w, 16, iw, i3, info )
633 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
635 CALL ssyevx(
'N',
'V',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
636 $ z, 1, w, 8, iw, i3, info )
637 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
639 CALL ssyevx(
'N',
'I',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
640 $ z, 1, w, 8, iw, i3, info )
641 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
643 CALL ssyevx(
'N',
'I',
'U', 1, a, 1, 0.0, 0.0, 2, 1, 0.0, m, x,
644 $ z, 1, w, 8, iw, i3, info )
645 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
647 CALL ssyevx(
'N',
'I',
'U', 2, a, 2, 0.0, 0.0, 2, 1, 0.0, m, x,
648 $ z, 1, w, 16, iw, i3, info )
649 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
651 CALL ssyevx(
'N',
'I',
'U', 1, a, 1, 0.0, 0.0, 1, 2, 0.0, m, x,
652 $ z, 1, w, 8, iw, i3, info )
653 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
655 CALL ssyevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
656 $ z, 1, w, 16, iw, i3, info )
657 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
659 CALL ssyevx(
'V',
'A',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
660 $ z, 1, w, 0, iw, i3, info )
661 CALL chkxer(
'SSYEVX', infot, nout, lerr, ok )
668 CALL sspevd(
'/',
'U', 0, a, x, z, 1, w, 1, iw, 1, info )
669 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
671 CALL sspevd(
'N',
'/', 0, a, x, z, 1, w, 1, iw, 1, info )
672 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
674 CALL sspevd(
'N',
'U', -1, a, x, z, 1, w, 1, iw, 1, info )
675 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
677 CALL sspevd(
'V',
'U', 2, a, x, z, 1, w, 23, iw, 12, info )
678 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
680 CALL sspevd(
'N',
'U', 1, a, x, z, 1, w, 0, iw, 1, info )
681 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
683 CALL sspevd(
'N',
'U', 2, a, x, z, 1, w, 3, iw, 1, info )
684 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
686 CALL sspevd(
'V',
'U', 2, a, x, z, 2, w, 16, iw, 12, info )
687 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
689 CALL sspevd(
'N',
'U', 1, a, x, z, 1, w, 1, iw, 0, info )
690 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
692 CALL sspevd(
'N',
'U', 2, a, x, z, 1, w, 4, iw, 0, info )
693 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
695 CALL sspevd(
'V',
'U', 2, a, x, z, 2, w, 23, iw, 11, info )
696 CALL chkxer(
'SSPEVD', infot, nout, lerr, ok )
703 CALL sspev(
'/',
'U', 0, a, w, z, 1, x, info )
704 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
706 CALL sspev(
'N',
'/', 0, a, w, z, 1, x, info )
707 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
709 CALL sspev(
'N',
'U', -1, a, w, z, 1, x, info )
710 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
712 CALL sspev(
'V',
'U', 2, a, w, z, 1, x, info )
713 CALL chkxer(
'SSPEV ', infot, nout, lerr, ok )
720 CALL sspevx(
'/',
'A',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
721 $ 1, w, iw, i3, info )
722 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
724 CALL sspevx(
'N',
'/',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
725 $ 1, w, iw, i3, info )
726 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
728 CALL sspevx(
'N',
'A',
'/', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
729 $ 1, w, iw, i3, info )
731 CALL sspevx(
'N',
'A',
'U', -1, a, 0.0, 0.0, 0, 0, 0.0, m, x,
732 $ z, 1, w, iw, i3, info )
733 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
735 CALL sspevx(
'N',
'V',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
736 $ 1, w, iw, i3, info )
737 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
739 CALL sspevx(
'N',
'I',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
740 $ 1, w, iw, i3, info )
741 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
743 CALL sspevx(
'N',
'I',
'U', 1, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
744 $ 1, w, iw, i3, info )
745 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
747 CALL sspevx(
'N',
'I',
'U', 2, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
748 $ 1, w, iw, i3, info )
749 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
751 CALL sspevx(
'N',
'I',
'U', 1, a, 0.0, 0.0, 1, 2, 0.0, m, x, z,
752 $ 1, w, iw, i3, info )
753 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
755 CALL sspevx(
'V',
'A',
'U', 2, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
756 $ 1, w, iw, i3, info )
757 CALL chkxer(
'SSPEVX', infot, nout, lerr, ok )
762 ELSE IF( lsamen( 2, c2,
'SB' ) )
THEN
768 CALL ssbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
769 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
771 CALL ssbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
772 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
774 CALL ssbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
775 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
777 CALL ssbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
778 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
780 CALL ssbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
781 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
783 CALL ssbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
784 CALL chkxer(
'SSBTRD', infot, nout, lerr, ok )
791 CALL ssbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, iw, 1, info )
792 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
794 CALL ssbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, iw, 1, info )
795 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
797 CALL ssbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, iw, 1,
799 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
801 CALL ssbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, iw, 1,
803 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
805 CALL ssbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 4, iw, 1, info )
806 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
808 CALL ssbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 25, iw, 12,
810 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
812 CALL ssbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, iw, 1, info )
813 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
815 CALL ssbevd(
'N',
'U', 2, 0, a, 1, x, z, 1, w, 3, iw, 1, info )
816 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
818 CALL ssbevd(
'V',
'U', 2, 0, a, 1, x, z, 2, w, 18, iw, 12,
820 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
822 CALL ssbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, iw, 0, info )
823 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
825 CALL ssbevd(
'V',
'U', 2, 0, a, 1, x, z, 2, w, 25, iw, 11,
827 CALL chkxer(
'SSBEVD', infot, nout, lerr, ok )
834 CALL ssbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, info )
835 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
837 CALL ssbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, info )
838 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
840 CALL ssbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, info )
841 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
843 CALL ssbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, info )
844 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
846 CALL ssbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, info )
847 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
849 CALL ssbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, info )
850 CALL chkxer(
'SSBEV ', infot, nout, lerr, ok )
857 CALL ssbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
858 $ 0.0, m, x, z, 1, w, iw, i3, info )
859 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
861 CALL ssbevx(
'N',
'/',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
862 $ 0.0, m, x, z, 1, w, iw, i3, info )
863 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
865 CALL ssbevx(
'N',
'A',
'/', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
866 $ 0.0, m, x, z, 1, w, iw, i3, info )
868 CALL ssbevx(
'N',
'A',
'U', -1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
869 $ 0.0, m, x, z, 1, w, iw, i3, info )
870 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
872 CALL ssbevx(
'N',
'A',
'U', 0, -1, a, 1, q, 1, 0.0, 0.0, 0, 0,
873 $ 0.0, m, x, z, 1, w, iw, i3, info )
874 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
876 CALL ssbevx(
'N',
'A',
'U', 2, 1, a, 1, q, 1, 0.0, 0.0, 0, 0,
877 $ 0.0, m, x, z, 1, w, iw, i3, info )
878 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
880 CALL ssbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
881 $ 0.0, m, x, z, 2, w, iw, i3, info )
882 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
884 CALL ssbevx(
'N',
'V',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
885 $ 0.0, m, x, z, 1, w, iw, i3, info )
886 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
888 CALL ssbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
889 $ 0.0, m, x, z, 1, w, iw, i3, info )
890 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
892 CALL ssbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 2, 1,
893 $ 0.0, m, x, z, 1, w, iw, i3, info )
894 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
896 CALL ssbevx(
'N',
'I',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 2, 1,
897 $ 0.0, m, x, z, 1, w, iw, i3, info )
898 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
900 CALL ssbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 1, 2,
901 $ 0.0, m, x, z, 1, w, iw, i3, info )
902 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
904 CALL ssbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0, 0.0, 0, 0,
905 $ 0.0, m, x, z, 1, w, iw, i3, info )
906 CALL chkxer(
'SSBEVX', infot, nout, lerr, ok )
913 WRITE( nout, fmt = 9999 )path, nt
915 WRITE( nout, fmt = 9998 )path
918 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits',
919 $
' (', i3,
' tests done)' )
920 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine sstebz(RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, M, NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO)
SSTEBZ
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 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 matric...
subroutine sstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSTEIN
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 matric...
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 matric...
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 serrst(PATH, NUNIT)
SERRST
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 matric...
subroutine ssytrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
SSYTRD
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
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 matrice...
subroutine sopgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
SOPGTR
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 matrice...
subroutine ssteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEQR
subroutine sopmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
SOPMTR
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 matric...
subroutine sorgtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
SORGTR
subroutine spteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SPTEQR
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 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 matric...
subroutine ssbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
SSBTRD
subroutine ssterf(N, D, E, INFO)
SSTERF
subroutine sormtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
SORMTR
subroutine sstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSTEDC
subroutine ssptrd(UPLO, N, AP, D, E, TAU, INFO)
SSPTRD
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 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 matric...
subroutine sstev(JOBZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...