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 sopmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
SOPMTR
subroutine sormtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
SORMTR
subroutine sorgtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
SORGTR
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 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 ssptrd(UPLO, N, AP, D, E, TAU, INFO)
SSPTRD
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine sopgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
SOPGTR
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 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 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 ssytrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
SSYTRD
subroutine sstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSTEIN
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 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 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...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine sstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
SSTEBZ
subroutine sstebz(RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, M, NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO)
SSTEBZ
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
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 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 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 ssterf(N, D, E, INFO)
SSTERF
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 ssteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEQR
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...
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 spteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SPTEQR
subroutine serrst(PATH, NUNIT)
SERRST
subroutine ssbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
SSBTRD