79 parameter ( nmax = 3, liw = 12*nmax, lw = 20*nmax )
83 INTEGER i, info, j, m, n, nsplit, nt
86 INTEGER i1( nmax ), i2( nmax ), i3( nmax ), iw( liw )
87 DOUBLE PRECISION a( nmax, nmax ), c( nmax, nmax ), d( nmax ),
88 $ e( nmax ), q( nmax, nmax ), r( nmax ),
89 $ tau( nmax ), w( lw ), x( nmax ),
113 COMMON / infoc / infot, nout, ok, lerr
114 COMMON / srnamc / srnamt
122 WRITE( nout, fmt = * )
129 a( i, j ) = 1.d0 / dble( i+j )
144 IF(
lsamen( 2, c2,
'ST' ) )
THEN
150 CALL dsytrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
151 CALL chkxer(
'DSYTRD', infot, nout, lerr, ok )
153 CALL dsytrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
154 CALL chkxer(
'DSYTRD', infot, nout, lerr, ok )
156 CALL dsytrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
157 CALL chkxer(
'DSYTRD', infot, nout, lerr, ok )
159 CALL dsytrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
160 CALL chkxer(
'DSYTRD', infot, nout, lerr, ok )
165 srnamt =
'DSYTRD_2STAGE'
169 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
173 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
177 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
181 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
185 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
189 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
193 CALL chkxer(
'DSYTRD_2STAGE', infot, nout, lerr, ok )
198 srnamt =
'DSYTRD_SY2SB'
200 CALL dsytrd_sy2sb(
'/', 0, 0, a, 1, c, 1, tau, w, 1, info )
201 CALL chkxer(
'DSYTRD_SY2SB', infot, nout, lerr, ok )
203 CALL dsytrd_sy2sb(
'U', -1, 0, a, 1, c, 1, tau, w, 1, info )
204 CALL chkxer(
'DSYTRD_SY2SB', infot, nout, lerr, ok )
206 CALL dsytrd_sy2sb(
'U', 0, -1, a, 1, c, 1, tau, w, 1, info )
207 CALL chkxer(
'DSYTRD_SY2SB', infot, nout, lerr, ok )
209 CALL dsytrd_sy2sb(
'U', 2, 0, a, 1, c, 1, tau, w, 1, info )
210 CALL chkxer(
'DSYTRD_SY2SB', infot, nout, lerr, ok )
212 CALL dsytrd_sy2sb(
'U', 0, 2, a, 1, c, 1, tau, w, 1, info )
213 CALL chkxer(
'DSYTRD_SY2SB', infot, nout, lerr, ok )
215 CALL dsytrd_sy2sb(
'U', 0, 0, a, 1, c, 1, tau, w, 0, info )
216 CALL chkxer(
'DSYTRD_SY2SB', infot, nout, lerr, ok )
221 srnamt =
'DSYTRD_SB2ST'
223 CALL dsytrd_sb2st(
'/',
'N',
'U', 0, 0, a, 1, d, e,
225 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
227 CALL dsytrd_sb2st(
'Y',
'/',
'U', 0, 0, a, 1, d, e,
229 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
231 CALL dsytrd_sb2st(
'Y',
'H',
'U', 0, 0, a, 1, d, e,
233 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
235 CALL dsytrd_sb2st(
'Y',
'N',
'/', 0, 0, a, 1, d, e,
237 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
239 CALL dsytrd_sb2st(
'Y',
'N',
'U', -1, 0, a, 1, d, e,
241 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
243 CALL dsytrd_sb2st(
'Y',
'N',
'U', 0, -1, a, 1, d, e,
245 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
247 CALL dsytrd_sb2st(
'Y',
'N',
'U', 0, 1, a, 1, d, e,
249 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
251 CALL dsytrd_sb2st(
'Y',
'N',
'U', 0, 0, a, 1, d, e,
253 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
255 CALL dsytrd_sb2st(
'Y',
'N',
'U', 0, 0, a, 1, d, e,
257 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
264 CALL dorgtr(
'/', 0, a, 1, tau, w, 1, info )
265 CALL chkxer(
'DORGTR', infot, nout, lerr, ok )
267 CALL dorgtr(
'U', -1, a, 1, tau, w, 1, info )
268 CALL chkxer(
'DORGTR', infot, nout, lerr, ok )
270 CALL dorgtr(
'U', 2, a, 1, tau, w, 1, info )
271 CALL chkxer(
'DORGTR', infot, nout, lerr, ok )
273 CALL dorgtr(
'U', 3, a, 3, tau, w, 1, info )
274 CALL chkxer(
'DORGTR', infot, nout, lerr, ok )
281 CALL dormtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
282 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
284 CALL dormtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
285 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
287 CALL dormtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
288 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
290 CALL dormtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
292 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
294 CALL dormtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
296 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
298 CALL dormtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
299 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
301 CALL dormtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
302 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
304 CALL dormtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
305 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
307 CALL dormtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
308 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
310 CALL dormtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
311 CALL chkxer(
'DORMTR', infot, nout, lerr, ok )
318 CALL dsptrd(
'/', 0, a, d, e, tau, info )
319 CALL chkxer(
'DSPTRD', infot, nout, lerr, ok )
321 CALL dsptrd(
'U', -1, a, d, e, tau, info )
322 CALL chkxer(
'DSPTRD', infot, nout, lerr, ok )
329 CALL dopgtr(
'/', 0, a, tau, z, 1, w, info )
330 CALL chkxer(
'DOPGTR', infot, nout, lerr, ok )
332 CALL dopgtr(
'U', -1, a, tau, z, 1, w, info )
333 CALL chkxer(
'DOPGTR', infot, nout, lerr, ok )
335 CALL dopgtr(
'U', 2, a, tau, z, 1, w, info )
336 CALL chkxer(
'DOPGTR', infot, nout, lerr, ok )
343 CALL dopmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
344 CALL chkxer(
'DOPMTR', infot, nout, lerr, ok )
346 CALL dopmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
347 CALL chkxer(
'DOPMTR', infot, nout, lerr, ok )
349 CALL dopmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
350 CALL chkxer(
'DOPMTR', infot, nout, lerr, ok )
352 CALL dopmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
353 CALL chkxer(
'DOPMTR', infot, nout, lerr, ok )
355 CALL dopmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
356 CALL chkxer(
'DOPMTR', infot, nout, lerr, ok )
358 CALL dopmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
359 CALL chkxer(
'DOPMTR', infot, nout, lerr, ok )
366 CALL dpteqr(
'/', 0, d, e, z, 1, w, info )
367 CALL chkxer(
'DPTEQR', infot, nout, lerr, ok )
369 CALL dpteqr(
'N', -1, d, e, z, 1, w, info )
370 CALL chkxer(
'DPTEQR', infot, nout, lerr, ok )
372 CALL dpteqr(
'V', 2, d, e, z, 1, w, info )
373 CALL chkxer(
'DPTEQR', infot, nout, lerr, ok )
380 CALL dstebz(
'/',
'E', 0, 0.0d0, 1.0d0, 1, 0, 0.0d0, d, e, m,
381 $ nsplit, x, i1, i2, w, iw, info )
382 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
384 CALL dstebz(
'A',
'/', 0, 0.0d0, 0.0d0, 0, 0, 0.0d0, d, e, m,
385 $ nsplit, x, i1, i2, w, iw, info )
386 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
388 CALL dstebz(
'A',
'E', -1, 0.0d0, 0.0d0, 0, 0, 0.0d0, d, e, m,
389 $ nsplit, x, i1, i2, w, iw, info )
390 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
392 CALL dstebz(
'V',
'E', 0, 0.0d0, 0.0d0, 0, 0, 0.0d0, d, e, m,
393 $ nsplit, x, i1, i2, w, iw, info )
394 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
396 CALL dstebz(
'I',
'E', 0, 0.0d0, 0.0d0, 0, 0, 0.0d0, d, e, m,
397 $ nsplit, x, i1, i2, w, iw, info )
398 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
400 CALL dstebz(
'I',
'E', 1, 0.0d0, 0.0d0, 2, 1, 0.0d0, d, e, m,
401 $ nsplit, x, i1, i2, w, iw, info )
402 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
404 CALL dstebz(
'I',
'E', 1, 0.0d0, 0.0d0, 1, 0, 0.0d0, d, e, m,
405 $ nsplit, x, i1, i2, w, iw, info )
406 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
408 CALL dstebz(
'I',
'E', 1, 0.0d0, 0.0d0, 1, 2, 0.0d0, d, e, m,
409 $ nsplit, x, i1, i2, w, iw, info )
410 CALL chkxer(
'DSTEBZ', infot, nout, lerr, ok )
417 CALL dstein( -1, d, e, 0, x, i1, i2, z, 1, w, iw, i3, info )
418 CALL chkxer(
'DSTEIN', infot, nout, lerr, ok )
420 CALL dstein( 0, d, e, -1, x, i1, i2, z, 1, w, iw, i3, info )
421 CALL chkxer(
'DSTEIN', infot, nout, lerr, ok )
423 CALL dstein( 0, d, e, 1, x, i1, i2, z, 1, w, iw, i3, info )
424 CALL chkxer(
'DSTEIN', infot, nout, lerr, ok )
426 CALL dstein( 2, d, e, 0, x, i1, i2, z, 1, w, iw, i3, info )
427 CALL chkxer(
'DSTEIN', infot, nout, lerr, ok )
434 CALL dsteqr(
'/', 0, d, e, z, 1, w, info )
435 CALL chkxer(
'DSTEQR', infot, nout, lerr, ok )
437 CALL dsteqr(
'N', -1, d, e, z, 1, w, info )
438 CALL chkxer(
'DSTEQR', infot, nout, lerr, ok )
440 CALL dsteqr(
'V', 2, d, e, z, 1, w, info )
441 CALL chkxer(
'DSTEQR', infot, nout, lerr, ok )
448 CALL dsterf( -1, d, e, info )
449 CALL chkxer(
'DSTERF', infot, nout, lerr, ok )
456 CALL dstedc(
'/', 0, d, e, z, 1, w, 1, iw, 1, info )
457 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
459 CALL dstedc(
'N', -1, d, e, z, 1, w, 1, iw, 1, info )
460 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
462 CALL dstedc(
'V', 2, d, e, z, 1, w, 23, iw, 28, info )
463 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
465 CALL dstedc(
'N', 1, d, e, z, 1, w, 0, iw, 1, info )
466 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
468 CALL dstedc(
'I', 2, d, e, z, 2, w, 0, iw, 12, info )
469 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
471 CALL dstedc(
'V', 2, d, e, z, 2, w, 0, iw, 28, info )
472 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
474 CALL dstedc(
'N', 1, d, e, z, 1, w, 1, iw, 0, info )
475 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
477 CALL dstedc(
'I', 2, d, e, z, 2, w, 19, iw, 0, info )
478 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
480 CALL dstedc(
'V', 2, d, e, z, 2, w, 23, iw, 0, info )
481 CALL chkxer(
'DSTEDC', infot, nout, lerr, ok )
488 CALL dstevd(
'/', 0, d, e, z, 1, w, 1, iw, 1, info )
489 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
491 CALL dstevd(
'N', -1, d, e, z, 1, w, 1, iw, 1, info )
492 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
494 CALL dstevd(
'V', 2, d, e, z, 1, w, 19, iw, 12, info )
495 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
497 CALL dstevd(
'N', 1, d, e, z, 1, w, 0, iw, 1, info )
498 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
500 CALL dstevd(
'V', 2, d, e, z, 2, w, 12, iw, 12, info )
501 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
503 CALL dstevd(
'N', 0, d, e, z, 1, w, 1, iw, 0, info )
504 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
506 CALL dstevd(
'V', 2, d, e, z, 2, w, 19, iw, 11, info )
507 CALL chkxer(
'DSTEVD', infot, nout, lerr, ok )
514 CALL dstev(
'/', 0, d, e, z, 1, w, info )
515 CALL chkxer(
'DSTEV ', infot, nout, lerr, ok )
517 CALL dstev(
'N', -1, d, e, z, 1, w, info )
518 CALL chkxer(
'DSTEV ', infot, nout, lerr, ok )
520 CALL dstev(
'V', 2, d, e, z, 1, w, info )
521 CALL chkxer(
'DSTEV ', infot, nout, lerr, ok )
528 CALL dstevx(
'/',
'A', 0, d, e, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
529 $ x, z, 1, w, iw, i3, info )
530 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
532 CALL dstevx(
'N',
'/', 0, d, e, 0.0d0, 1.0d0, 1, 0, 0.0d0, m,
533 $ x, z, 1, w, iw, i3, info )
534 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
536 CALL dstevx(
'N',
'A', -1, d, e, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
537 $ x, z, 1, w, iw, i3, info )
538 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
540 CALL dstevx(
'N',
'V', 1, d, e, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
541 $ x, z, 1, w, iw, i3, info )
542 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
544 CALL dstevx(
'N',
'I', 1, d, e, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
545 $ x, z, 1, w, iw, i3, info )
546 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
548 CALL dstevx(
'N',
'I', 1, d, e, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
549 $ x, z, 1, w, iw, i3, info )
550 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
552 CALL dstevx(
'N',
'I', 2, d, e, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
553 $ x, z, 1, w, iw, i3, info )
554 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
556 CALL dstevx(
'N',
'I', 1, d, e, 0.0d0, 0.0d0, 1, 2, 0.0d0, m,
557 $ x, z, 1, w, iw, i3, info )
558 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
560 CALL dstevx(
'V',
'A', 2, d, e, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
561 $ x, z, 1, w, iw, i3, info )
562 CALL chkxer(
'DSTEVX', infot, nout, lerr, ok )
570 CALL dstevr(
'/',
'A', 0, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
571 $ r, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
572 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
574 CALL dstevr(
'V',
'/', 0, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
575 $ r, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
576 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
578 CALL dstevr(
'V',
'A', -1, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
579 $ r, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
580 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
582 CALL dstevr(
'V',
'V', 1, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
583 $ r, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
584 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
586 CALL dstevr(
'V',
'I', 1, d, e, 0.0d0, 0.0d0, 0, 1, 0.0d0, m,
587 $ w, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
588 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
591 CALL dstevr(
'V',
'I', 2, d, e, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
592 $ w, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
593 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
596 CALL dstevr(
'V',
'I', 1, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
597 $ w, z, 0, iw, x, 20*n, iw( 2*n+1 ), 10*n, info )
598 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
600 CALL dstevr(
'V',
'I', 1, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
601 $ w, z, 1, iw, x, 20*n-1, iw( 2*n+1 ), 10*n, info )
602 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
604 CALL dstevr(
'V',
'I', 1, d, e, 0.0d0, 0.0d0, 1, 1, 0.0d0, m,
605 $ w, z, 1, iw, x, 20*n, iw( 2*n+1 ), 10*n-1, info )
606 CALL chkxer(
'DSTEVR', infot, nout, lerr, ok )
613 CALL dsyevd(
'/',
'U', 0, a, 1, x, w, 1, iw, 1, info )
614 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
616 CALL dsyevd(
'N',
'/', 0, a, 1, x, w, 1, iw, 1, info )
617 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
619 CALL dsyevd(
'N',
'U', -1, a, 1, x, w, 1, iw, 1, info )
620 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
622 CALL dsyevd(
'N',
'U', 2, a, 1, x, w, 3, iw, 1, info )
623 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
625 CALL dsyevd(
'N',
'U', 1, a, 1, x, w, 0, iw, 1, info )
626 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
628 CALL dsyevd(
'N',
'U', 2, a, 2, x, w, 4, iw, 1, info )
629 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
631 CALL dsyevd(
'V',
'U', 2, a, 2, x, w, 20, iw, 12, info )
632 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
634 CALL dsyevd(
'N',
'U', 1, a, 1, x, w, 1, iw, 0, info )
635 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
637 CALL dsyevd(
'N',
'U', 2, a, 2, x, w, 5, iw, 0, info )
638 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
640 CALL dsyevd(
'V',
'U', 2, a, 2, x, w, 27, iw, 11, info )
641 CALL chkxer(
'DSYEVD', infot, nout, lerr, ok )
646 srnamt =
'DSYEVD_2STAGE'
648 CALL dsyevd_2stage(
'/',
'U', 0, a, 1, x, w, 1, iw, 1, info )
649 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
651 CALL dsyevd_2stage(
'V',
'U', 0, a, 1, x, w, 1, iw, 1, info )
652 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
654 CALL dsyevd_2stage(
'N',
'/', 0, a, 1, x, w, 1, iw, 1, info )
655 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
657 CALL dsyevd_2stage(
'N',
'U', -1, a, 1, x, w, 1, iw, 1, info )
658 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
660 CALL dsyevd_2stage(
'N',
'U', 2, a, 1, x, w, 3, iw, 1, info )
661 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
663 CALL dsyevd_2stage(
'N',
'U', 1, a, 1, x, w, 0, iw, 1, info )
664 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
666 CALL dsyevd_2stage(
'N',
'U', 2, a, 2, x, w, 4, iw, 1, info )
667 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
672 CALL dsyevd_2stage(
'N',
'U', 1, a, 1, x, w, 1, iw, 0, info )
673 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
675 CALL dsyevd_2stage(
'N',
'U', 2, a, 2, x, w, 25, iw, 0, info )
676 CALL chkxer(
'DSYEVD_2STAGE', infot, nout, lerr, ok )
687 CALL dsyevr(
'/',
'A',
'U', 0, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
688 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
689 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
691 CALL dsyevr(
'V',
'/',
'U', 0, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
692 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
693 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
695 CALL dsyevr(
'V',
'A',
'/', -1, a, 1, 0.0d0, 0.0d0, 1, 1,
696 $ 0.0d0, m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n,
698 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
700 CALL dsyevr(
'V',
'A',
'U', -1, a, 1, 0.0d0, 0.0d0, 1, 1,
701 $ 0.0d0, m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n,
703 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
705 CALL dsyevr(
'V',
'A',
'U', 2, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
706 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
707 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
709 CALL dsyevr(
'V',
'V',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
710 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
711 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
713 CALL dsyevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 1, 0.0d0,
714 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
715 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
718 CALL dsyevr(
'V',
'I',
'U', 2, a, 2, 0.0d0, 0.0d0, 2, 1, 0.0d0,
719 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
720 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
722 CALL dsyevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
723 $ m, r, z, 0, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
724 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
726 CALL dsyevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
727 $ m, r, z, 1, iw, q, 26*n-1, iw( 2*n+1 ), 10*n,
729 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
731 CALL dsyevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
732 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n-1,
734 CALL chkxer(
'DSYEVR', infot, nout, lerr, ok )
739 srnamt =
'DSYEVR_2STAGE'
743 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
744 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
745 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
748 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
749 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
750 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
753 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
754 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
755 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
758 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
759 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
760 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
763 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
764 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
765 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
768 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
769 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
770 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
773 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
774 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
775 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
778 $ 0.0d0, 0.0d0, 0, 1, 0.0d0,
779 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
780 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
783 $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
784 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
785 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
788 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
789 $ m, r, z, 0, iw, q, 26*n, iw( 2*n+1 ), 10*n, info )
790 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
793 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
794 $ m, r, z, 1, iw, q, 0, iw( 2*n+1 ), 10*n,
796 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
799 $ 0.0d0, 0.0d0, 1, 1, 0.0d0,
800 $ m, r, z, 1, iw, q, 26*n, iw( 2*n+1 ), 0,
802 CALL chkxer(
'DSYEVR_2STAGE', infot, nout, lerr, ok )
809 CALL dsyev(
'/',
'U', 0, a, 1, x, w, 1, info )
810 CALL chkxer(
'DSYEV ', infot, nout, lerr, ok )
812 CALL dsyev(
'N',
'/', 0, a, 1, x, w, 1, info )
813 CALL chkxer(
'DSYEV ', infot, nout, lerr, ok )
815 CALL dsyev(
'N',
'U', -1, a, 1, x, w, 1, info )
816 CALL chkxer(
'DSYEV ', infot, nout, lerr, ok )
818 CALL dsyev(
'N',
'U', 2, a, 1, x, w, 3, info )
819 CALL chkxer(
'DSYEV ', infot, nout, lerr, ok )
821 CALL dsyev(
'N',
'U', 1, a, 1, x, w, 1, info )
822 CALL chkxer(
'DSYEV ', infot, nout, lerr, ok )
827 srnamt =
'DSYEV_2STAGE '
830 CALL chkxer(
'DSYEV_2STAGE ', infot, nout, lerr, ok )
833 CALL chkxer(
'DSYEV_2STAGE ', infot, nout, lerr, ok )
836 CALL chkxer(
'DSYEV_2STAGE ', infot, nout, lerr, ok )
839 CALL chkxer(
'DSYEV_2STAGE ', infot, nout, lerr, ok )
842 CALL chkxer(
'DSYEV_2STAGE ', infot, nout, lerr, ok )
845 CALL chkxer(
'DSYEV_2STAGE ', infot, nout, lerr, ok )
852 CALL dsyevx(
'/',
'A',
'U', 0, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
853 $ m, x, z, 1, w, 1, iw, i3, info )
854 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
856 CALL dsyevx(
'N',
'/',
'U', 0, a, 1, 0.0d0, 1.0d0, 1, 0, 0.0d0,
857 $ m, x, z, 1, w, 1, iw, i3, info )
858 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
860 CALL dsyevx(
'N',
'A',
'/', 0, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
861 $ m, x, z, 1, w, 1, iw, i3, info )
863 CALL dsyevx(
'N',
'A',
'U', -1, a, 1, 0.0d0, 0.0d0, 0, 0,
864 $ 0.0d0, m, x, z, 1, w, 1, iw, i3, info )
865 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
867 CALL dsyevx(
'N',
'A',
'U', 2, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
868 $ m, x, z, 1, w, 16, iw, i3, info )
869 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
871 CALL dsyevx(
'N',
'V',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
872 $ m, x, z, 1, w, 8, iw, i3, info )
873 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
875 CALL dsyevx(
'N',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
876 $ m, x, z, 1, w, 8, iw, i3, info )
877 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
879 CALL dsyevx(
'N',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 2, 1, 0.0d0,
880 $ m, x, z, 1, w, 8, iw, i3, info )
881 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
883 CALL dsyevx(
'N',
'I',
'U', 2, a, 2, 0.0d0, 0.0d0, 2, 1, 0.0d0,
884 $ m, x, z, 1, w, 16, iw, i3, info )
885 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
887 CALL dsyevx(
'N',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 2, 0.0d0,
888 $ m, x, z, 1, w, 8, iw, i3, info )
889 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
891 CALL dsyevx(
'V',
'A',
'U', 2, a, 2, 0.0d0, 0.0d0, 0, 0, 0.0d0,
892 $ m, x, z, 1, w, 16, iw, i3, info )
893 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
895 CALL dsyevx(
'V',
'A',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
896 $ m, x, z, 1, w, 0, iw, i3, info )
897 CALL chkxer(
'DSYEVX', infot, nout, lerr, ok )
902 srnamt =
'DSYEVX_2STAGE'
905 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
906 $ m, x, z, 1, w, 1, iw, i3, info )
907 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
910 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
911 $ m, x, z, 1, w, 1, iw, i3, info )
912 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
915 $ 0.0d0, 1.0d0, 1, 0, 0.0d0,
916 $ m, x, z, 1, w, 1, iw, i3, info )
917 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
920 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
921 $ m, x, z, 1, w, 1, iw, i3, info )
924 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
925 $ m, x, z, 1, w, 1, iw, i3, info )
926 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
929 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
930 $ m, x, z, 1, w, 16, iw, i3, info )
931 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
934 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
935 $ m, x, z, 1, w, 8, iw, i3, info )
936 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
939 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
940 $ m, x, z, 1, w, 8, iw, i3, info )
941 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
944 $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
945 $ m, x, z, 1, w, 8, iw, i3, info )
946 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
949 $ 0.0d0, 0.0d0, 2, 1, 0.0d0,
950 $ m, x, z, 1, w, 16, iw, i3, info )
951 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
954 $ 0.0d0, 0.0d0, 1, 2, 0.0d0,
955 $ m, x, z, 1, w, 8, iw, i3, info )
956 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
959 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
960 $ m, x, z, 0, w, 16, iw, i3, info )
961 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
964 $ 0.0d0, 0.0d0, 0, 0, 0.0d0,
965 $ m, x, z, 1, w, 0, iw, i3, info )
966 CALL chkxer(
'DSYEVX_2STAGE', infot, nout, lerr, ok )
973 CALL dspevd(
'/',
'U', 0, a, x, z, 1, w, 1, iw, 1, info )
974 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
976 CALL dspevd(
'N',
'/', 0, a, x, z, 1, w, 1, iw, 1, info )
977 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
979 CALL dspevd(
'N',
'U', -1, a, x, z, 1, w, 1, iw, 1, info )
980 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
982 CALL dspevd(
'V',
'U', 2, a, x, z, 1, w, 23, iw, 12, info )
983 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
985 CALL dspevd(
'N',
'U', 1, a, x, z, 1, w, 0, iw, 1, info )
986 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
988 CALL dspevd(
'N',
'U', 2, a, x, z, 1, w, 3, iw, 1, info )
989 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
991 CALL dspevd(
'V',
'U', 2, a, x, z, 2, w, 16, iw, 12, info )
992 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
994 CALL dspevd(
'N',
'U', 1, a, x, z, 1, w, 1, iw, 0, info )
995 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
997 CALL dspevd(
'N',
'U', 2, a, x, z, 1, w, 4, iw, 0, info )
998 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
1000 CALL dspevd(
'V',
'U', 2, a, x, z, 2, w, 23, iw, 11, info )
1001 CALL chkxer(
'DSPEVD', infot, nout, lerr, ok )
1008 CALL dspev(
'/',
'U', 0, a, w, z, 1, x, info )
1009 CALL chkxer(
'DSPEV ', infot, nout, lerr, ok )
1011 CALL dspev(
'N',
'/', 0, a, w, z, 1, x, info )
1012 CALL chkxer(
'DSPEV ', infot, nout, lerr, ok )
1014 CALL dspev(
'N',
'U', -1, a, w, z, 1, x, info )
1015 CALL chkxer(
'DSPEV ', infot, nout, lerr, ok )
1017 CALL dspev(
'V',
'U', 2, a, w, z, 1, x, info )
1018 CALL chkxer(
'DSPEV ', infot, nout, lerr, ok )
1025 CALL dspevx(
'/',
'A',
'U', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
1026 $ x, z, 1, w, iw, i3, info )
1027 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1029 CALL dspevx(
'N',
'/',
'U', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
1030 $ x, z, 1, w, iw, i3, info )
1031 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1033 CALL dspevx(
'N',
'A',
'/', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
1034 $ x, z, 1, w, iw, i3, info )
1036 CALL dspevx(
'N',
'A',
'U', -1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0,
1037 $ m, x, z, 1, w, iw, i3, info )
1038 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1040 CALL dspevx(
'N',
'V',
'U', 1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
1041 $ x, z, 1, w, iw, i3, info )
1042 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1044 CALL dspevx(
'N',
'I',
'U', 1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
1045 $ x, z, 1, w, iw, i3, info )
1046 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1048 CALL dspevx(
'N',
'I',
'U', 1, a, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
1049 $ x, z, 1, w, iw, i3, info )
1050 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1052 CALL dspevx(
'N',
'I',
'U', 2, a, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
1053 $ x, z, 1, w, iw, i3, info )
1054 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1056 CALL dspevx(
'N',
'I',
'U', 1, a, 0.0d0, 0.0d0, 1, 2, 0.0d0, m,
1057 $ x, z, 1, w, iw, i3, info )
1058 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1060 CALL dspevx(
'V',
'A',
'U', 2, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
1061 $ x, z, 1, w, iw, i3, info )
1062 CALL chkxer(
'DSPEVX', infot, nout, lerr, ok )
1067 ELSE IF(
lsamen( 2, c2,
'SB' ) )
THEN
1073 CALL dsbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
1074 CALL chkxer(
'DSBTRD', infot, nout, lerr, ok )
1076 CALL dsbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
1077 CALL chkxer(
'DSBTRD', infot, nout, lerr, ok )
1079 CALL dsbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
1080 CALL chkxer(
'DSBTRD', infot, nout, lerr, ok )
1082 CALL dsbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
1083 CALL chkxer(
'DSBTRD', infot, nout, lerr, ok )
1085 CALL dsbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
1086 CALL chkxer(
'DSBTRD', infot, nout, lerr, ok )
1088 CALL dsbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
1089 CALL chkxer(
'DSBTRD', infot, nout, lerr, ok )
1094 srnamt =
'DSYTRD_SB2ST'
1096 CALL dsytrd_sb2st(
'/',
'N',
'U', 0, 0, a, 1, d, e,
1097 $ c, 1, w, 1, info )
1098 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1100 CALL dsytrd_sb2st(
'N',
'/',
'U', 0, 0, a, 1, d, e,
1101 $ c, 1, w, 1, info )
1102 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1104 CALL dsytrd_sb2st(
'N',
'H',
'U', 0, 0, a, 1, d, e,
1105 $ c, 1, w, 1, info )
1106 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1108 CALL dsytrd_sb2st(
'N',
'N',
'/', 0, 0, a, 1, d, e,
1109 $ c, 1, w, 1, info )
1110 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1112 CALL dsytrd_sb2st(
'N',
'N',
'U', -1, 0, a, 1, d, e,
1113 $ c, 1, w, 1, info )
1114 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1116 CALL dsytrd_sb2st(
'N',
'N',
'U', 0, -1, a, 1, d, e,
1117 $ c, 1, w, 1, info )
1118 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1120 CALL dsytrd_sb2st(
'N',
'N',
'U', 0, 1, a, 1, d, e,
1121 $ c, 1, w, 1, info )
1122 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1124 CALL dsytrd_sb2st(
'N',
'N',
'U', 0, 0, a, 1, d, e,
1125 $ c, 0, w, 1, info )
1126 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1128 CALL dsytrd_sb2st(
'N',
'N',
'U', 0, 0, a, 1, d, e,
1129 $ c, 1, w, 0, info )
1130 CALL chkxer(
'DSYTRD_SB2ST', infot, nout, lerr, ok )
1137 CALL dsbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, iw, 1, info )
1138 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1140 CALL dsbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, iw, 1, info )
1141 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1143 CALL dsbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, iw, 1,
1145 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1147 CALL dsbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, iw, 1,
1149 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1151 CALL dsbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 4, iw, 1, info )
1152 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1154 CALL dsbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 25, iw, 12,
1156 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1158 CALL dsbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, iw, 1, info )
1159 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1161 CALL dsbevd(
'N',
'U', 2, 0, a, 1, x, z, 1, w, 3, iw, 1, info )
1162 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1164 CALL dsbevd(
'V',
'U', 2, 0, a, 1, x, z, 2, w, 18, iw, 12,
1166 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1168 CALL dsbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, iw, 0, info )
1169 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1171 CALL dsbevd(
'V',
'U', 2, 0, a, 1, x, z, 2, w, 25, iw, 11,
1173 CALL chkxer(
'DSBEVD', infot, nout, lerr, ok )
1178 srnamt =
'DSBEVD_2STAGE'
1180 CALL dsbevd_2stage(
'/',
'U', 0, 0, a, 1, x, z, 1, w,
1182 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1184 CALL dsbevd_2stage(
'V',
'U', 0, 0, a, 1, x, z, 1, w,
1186 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1188 CALL dsbevd_2stage(
'N',
'/', 0, 0, a, 1, x, z, 1, w,
1190 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1192 CALL dsbevd_2stage(
'N',
'U', -1, 0, a, 1, x, z, 1, w,
1194 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1196 CALL dsbevd_2stage(
'N',
'U', 0, -1, a, 1, x, z, 1, w,
1198 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1200 CALL dsbevd_2stage(
'N',
'U', 2, 1, a, 1, x, z, 1, w,
1202 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1208 CALL dsbevd_2stage(
'N',
'U', 1, 0, a, 1, x, z, 1, w,
1210 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1212 CALL dsbevd_2stage(
'N',
'U', 2, 0, a, 1, x, z, 1, w,
1214 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1220 CALL dsbevd_2stage(
'N',
'U', 1, 0, a, 1, x, z, 1, w,
1222 CALL chkxer(
'DSBEVD_2STAGE', infot, nout, lerr, ok )
1234 CALL dsbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, info )
1235 CALL chkxer(
'DSBEV ', infot, nout, lerr, ok )
1237 CALL dsbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, info )
1238 CALL chkxer(
'DSBEV ', infot, nout, lerr, ok )
1240 CALL dsbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, info )
1241 CALL chkxer(
'DSBEV ', infot, nout, lerr, ok )
1243 CALL dsbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, info )
1244 CALL chkxer(
'DSBEV ', infot, nout, lerr, ok )
1246 CALL dsbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, info )
1247 CALL chkxer(
'DSBEV ', infot, nout, lerr, ok )
1249 CALL dsbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, info )
1250 CALL chkxer(
'DSBEV ', infot, nout, lerr, ok )
1255 srnamt =
'DSBEV_2STAGE '
1257 CALL dsbev_2stage(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 0, info )
1258 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1260 CALL dsbev_2stage(
'V',
'U', 0, 0, a, 1, x, z, 1, w, 0, info )
1261 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1263 CALL dsbev_2stage(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 0, info )
1264 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1266 CALL dsbev_2stage(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 0, info )
1267 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1269 CALL dsbev_2stage(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 0, info )
1270 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1272 CALL dsbev_2stage(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 0, info )
1273 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1275 CALL dsbev_2stage(
'N',
'U', 2, 0, a, 1, x, z, 0, w, 0, info )
1276 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1278 CALL dsbev_2stage(
'N',
'U', 0, 0, a, 1, x, z, 1, w, 0, info )
1279 CALL chkxer(
'DSBEV_2STAGE ', infot, nout, lerr, ok )
1286 CALL dsbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1287 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1288 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1290 CALL dsbevx(
'N',
'/',
'U', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1291 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1292 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1294 CALL dsbevx(
'N',
'A',
'/', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1295 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1296 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1298 CALL dsbevx(
'N',
'A',
'U', -1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1299 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1300 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1302 CALL dsbevx(
'N',
'A',
'U', 0, -1, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1303 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1304 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1306 CALL dsbevx(
'N',
'A',
'U', 2, 1, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1307 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1308 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1310 CALL dsbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1311 $ 0, 0.0d0, m, x, z, 2, w, iw, i3, info )
1312 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1314 CALL dsbevx(
'N',
'V',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1315 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1316 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1318 CALL dsbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
1319 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1320 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1322 CALL dsbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 2,
1323 $ 1, 0.0d0, m, x, z, 1, w, iw, i3, info )
1324 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1326 CALL dsbevx(
'N',
'I',
'U', 2, 0, a, 1, q, 1, 0.0d0, 0.0d0, 2,
1327 $ 1, 0.0d0, m, x, z, 1, w, iw, i3, info )
1328 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1330 CALL dsbevx(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 1,
1331 $ 2, 0.0d0, m, x, z, 1, w, iw, i3, info )
1332 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1334 CALL dsbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0d0, 0.0d0, 0,
1335 $ 0, 0.0d0, m, x, z, 1, w, iw, i3, info )
1336 CALL chkxer(
'DSBEVX', infot, nout, lerr, ok )
1341 srnamt =
'DSBEVX_2STAGE'
1343 CALL dsbevx_2stage(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0d0,
1344 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1345 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1347 CALL dsbevx_2stage(
'V',
'A',
'U', 0, 0, a, 1, q, 1, 0.0d0,
1348 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1349 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1351 CALL dsbevx_2stage(
'N',
'/',
'U', 0, 0, a, 1, q, 1, 0.0d0,
1352 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1353 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1355 CALL dsbevx_2stage(
'N',
'A',
'/', 0, 0, a, 1, q, 1, 0.0d0,
1356 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1357 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1359 CALL dsbevx_2stage(
'N',
'A',
'U', -1, 0, a, 1, q, 1, 0.0d0,
1360 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1361 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1363 CALL dsbevx_2stage(
'N',
'A',
'U', 0, -1, a, 1, q, 1, 0.0d0,
1364 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1365 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1367 CALL dsbevx_2stage(
'N',
'A',
'U', 2, 1, a, 1, q, 1, 0.0d0,
1368 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1369 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1375 CALL dsbevx_2stage(
'N',
'V',
'U', 1, 0, a, 1, q, 1, 0.0d0,
1376 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1377 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1379 CALL dsbevx_2stage(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0,
1380 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1381 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1383 CALL dsbevx_2stage(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0,
1384 $ 0.0d0, 2, 1, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1385 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1387 CALL dsbevx_2stage(
'N',
'I',
'U', 2, 0, a, 1, q, 1, 0.0d0,
1388 $ 0.0d0, 2, 1, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1389 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1391 CALL dsbevx_2stage(
'N',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0,
1392 $ 0.0d0, 1, 2, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1393 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1399 CALL dsbevx_2stage(
'N',
'A',
'U', 0, 0, a, 1, q, 1, 0.0d0,
1400 $ 0.0d0, 0, 0, 0.0d0, m, x, z, 1, w, 0, iw, i3, info )
1401 CALL chkxer(
'DSBEVX_2STAGE', infot, nout, lerr, ok )
1409 WRITE( nout, fmt = 9999 )path, nt
1411 WRITE( nout, fmt = 9998 )path
1414 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits',
1415 $
' (', i3,
' tests done)' )
1416 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine dsbevd(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dsteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
DSTEQR
subroutine dstevr(JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSTEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dspevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
DSPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dsyev(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO)
DSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices ...
subroutine dsytrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
DSYTRD
subroutine dstevd(JOBZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSTEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dstev(JOBZ, N, D, E, Z, LDZ, WORK, INFO)
DSTEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine dstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
DSTEIN
subroutine dsyevx_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO)
DSYEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY ma...
subroutine dsterf(N, D, E, INFO)
DSTERF
subroutine dpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
DPTEQR
subroutine dsyevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSYEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices ...
subroutine dstebz(RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, M, NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO)
DSTEBZ
subroutine dsyevx(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO)
DSYEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices ...
subroutine dsyevd(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, INFO)
DSYEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices ...
subroutine dsbev(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, INFO)
DSBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine dsbevd_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSBEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine dsyev_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO)
DSYEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY mat...
subroutine dsyevr_2stage(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSYEVR_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY ma...
subroutine dsbev_2stage(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, INFO)
DSBEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER ...
subroutine dsbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
DSBTRD
subroutine dstevx(JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
DSTEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dsptrd(UPLO, N, AP, D, E, TAU, INFO)
DSPTRD
subroutine dsbevx(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
DSBEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSTEDC
subroutine dopmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
DOPMTR
subroutine dsytrd_sy2sb(UPLO, N, KD, A, LDA, AB, LDAB, TAU, WORK, LWORK, INFO)
DSYTRD_SY2SB
subroutine dspev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, INFO)
DSPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine dorgtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
DORGTR
subroutine dsbevx_2stage(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO)
DSBEVX_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER...
subroutine dspevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO)
DSPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine dopgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
DOPGTR
subroutine dsytrd_2stage(VECT, UPLO, N, A, LDA, D, E, TAU, HOUS2, LHOUS2, WORK, LWORK, INFO)
DSYTRD_2STAGE
subroutine dsyevd_2stage(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, INFO)
DSYEVD_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY ma...
subroutine dormtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
DORMTR