74 parameter ( nmax = 3, liw = 12*nmax, lw = 20*nmax )
78 INTEGER i, info, j, m, n, nt
81 INTEGER i1( nmax ), i2( nmax ), i3( nmax ), iw( liw )
82 REAL d( nmax ), e( nmax ), r( lw ), rw( lw ),
84 COMPLEX a( nmax, nmax ), c( nmax, nmax ),
85 $ q( nmax, nmax ), tau( nmax ), w( lw ),
104 COMMON / infoc / infot, nout, ok, lerr
105 COMMON / srnamc / srnamt
113 WRITE( nout, fmt = * )
120 a( i, j ) = 1. /
REAL( i+j )
135 IF(
lsamen( 2, c2,
'ST' ) )
THEN
141 CALL chetrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
142 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
144 CALL chetrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
145 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
147 CALL chetrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
148 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
150 CALL chetrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
151 CALL chkxer(
'CHETRD', infot, nout, lerr, ok )
158 CALL cungtr(
'/', 0, a, 1, tau, w, 1, info )
159 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
161 CALL cungtr(
'U', -1, a, 1, tau, w, 1, info )
162 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
164 CALL cungtr(
'U', 2, a, 1, tau, w, 1, info )
165 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
167 CALL cungtr(
'U', 3, a, 3, tau, w, 1, info )
168 CALL chkxer(
'CUNGTR', infot, nout, lerr, ok )
175 CALL cunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
176 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
178 CALL cunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
179 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
181 CALL cunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
182 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
184 CALL cunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
186 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
188 CALL cunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
190 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
192 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
193 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
195 CALL cunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
196 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
198 CALL cunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
199 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
201 CALL cunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
202 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
204 CALL cunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
205 CALL chkxer(
'CUNMTR', infot, nout, lerr, ok )
212 CALL chptrd(
'/', 0, a, d, e, tau, info )
213 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
215 CALL chptrd(
'U', -1, a, d, e, tau, info )
216 CALL chkxer(
'CHPTRD', infot, nout, lerr, ok )
223 CALL cupgtr(
'/', 0, a, tau, z, 1, w, info )
224 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
226 CALL cupgtr(
'U', -1, a, tau, z, 1, w, info )
227 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
229 CALL cupgtr(
'U', 2, a, tau, z, 1, w, info )
230 CALL chkxer(
'CUPGTR', infot, nout, lerr, ok )
237 CALL cupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
238 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
240 CALL cupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
241 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
243 CALL cupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
244 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
246 CALL cupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
247 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
249 CALL cupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
250 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
252 CALL cupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
253 CALL chkxer(
'CUPMTR', infot, nout, lerr, ok )
260 CALL cpteqr(
'/', 0, d, e, z, 1, rw, info )
261 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
263 CALL cpteqr(
'N', -1, d, e, z, 1, rw, info )
264 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
266 CALL cpteqr(
'V', 2, d, e, z, 1, rw, info )
267 CALL chkxer(
'CPTEQR', infot, nout, lerr, ok )
274 CALL cstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
275 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
277 CALL cstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
278 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
280 CALL cstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
281 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
283 CALL cstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
284 CALL chkxer(
'CSTEIN', infot, nout, lerr, ok )
291 CALL csteqr(
'/', 0, d, e, z, 1, rw, info )
292 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
294 CALL csteqr(
'N', -1, d, e, z, 1, rw, info )
295 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
297 CALL csteqr(
'V', 2, d, e, z, 1, rw, info )
298 CALL chkxer(
'CSTEQR', infot, nout, lerr, ok )
305 CALL cstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
306 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
308 CALL cstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
309 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
311 CALL cstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
312 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
314 CALL cstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
315 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
317 CALL cstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
318 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
320 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
321 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
323 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
324 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
326 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
327 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
329 CALL cstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
330 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
332 CALL cstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
333 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
335 CALL cstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
336 CALL chkxer(
'CSTEDC', infot, nout, lerr, ok )
343 CALL cheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
344 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
346 CALL cheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
347 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
349 CALL cheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
350 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
352 CALL cheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
353 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
355 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
356 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
358 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
359 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
361 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
362 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
364 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
365 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
367 CALL cheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
368 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
370 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
371 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
373 CALL cheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
374 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
376 CALL cheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
377 CALL chkxer(
'CHEEVD', infot, nout, lerr, ok )
384 CALL cheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
385 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
387 CALL cheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
388 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
390 CALL cheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
391 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
393 CALL cheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
394 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
396 CALL cheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
397 CALL chkxer(
'CHEEV ', infot, nout, lerr, ok )
404 CALL cheevx(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
405 $ z, 1, w, 1, rw, iw, i3, info )
406 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
408 CALL cheevx(
'V',
'/',
'U', 0, a, 1, 0.0, 1.0, 1, 0, 0.0, m, x,
409 $ z, 1, w, 1, rw, iw, i3, info )
410 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
412 CALL cheevx(
'V',
'A',
'/', 0, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
413 $ z, 1, w, 1, rw, iw, i3, info )
415 CALL cheevx(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 0, 0, 0.0, m,
416 $ x, z, 1, w, 1, rw, iw, i3, info )
417 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
419 CALL cheevx(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
420 $ z, 2, w, 3, rw, iw, i3, info )
421 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
423 CALL cheevx(
'V',
'V',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
424 $ z, 1, w, 1, rw, iw, i3, info )
425 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
427 CALL cheevx(
'V',
'I',
'U', 1, a, 1, 0.0, 0.0, 0, 0, 0.0, m, x,
428 $ z, 1, w, 1, rw, iw, i3, info )
429 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
431 CALL cheevx(
'V',
'I',
'U', 2, a, 2, 0.0, 0.0, 2, 1, 0.0, m, x,
432 $ z, 2, w, 3, rw, iw, i3, info )
433 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
435 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
436 $ z, 1, w, 3, rw, iw, i3, info )
437 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
439 CALL cheevx(
'V',
'A',
'U', 2, a, 2, 0.0, 0.0, 0, 0, 0.0, m, x,
440 $ z, 2, w, 2, rw, iw, i1, info )
441 CALL chkxer(
'CHEEVX', infot, nout, lerr, ok )
449 CALL cheevr(
'/',
'A',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
450 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
452 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
454 CALL cheevr(
'V',
'/',
'U', 0, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
455 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
457 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
459 CALL cheevr(
'V',
'A',
'/', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
460 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
462 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
464 CALL cheevr(
'V',
'A',
'U', -1, a, 1, 0.0, 0.0, 1, 1, 0.0, m,
465 $ r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
467 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
469 CALL cheevr(
'V',
'A',
'U', 2, a, 1, 0.0, 0.0, 1, 1, 0.0, m, r,
470 $ z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ), 10*n,
472 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
474 CALL cheevr(
'V',
'V',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
475 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
477 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
479 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 0, 1, 0.0,
480 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
482 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
485 CALL cheevr(
'V',
'I',
'U', 2, a, 2, 0.0e0, 0.0e0, 2, 1, 0.0,
486 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
488 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
490 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
491 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
493 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
495 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
496 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
498 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
500 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
501 $ m, r, z, 1, iw, q, 2*n, rw, 24*n-1, iw( 2*n-1 ),
503 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
505 CALL cheevr(
'V',
'I',
'U', 1, a, 1, 0.0e0, 0.0e0, 1, 1, 0.0,
506 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw, 10*n-1,
508 CALL chkxer(
'CHEEVR', infot, nout, lerr, ok )
515 CALL chpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
517 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
519 CALL chpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
521 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
523 CALL chpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
525 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
527 CALL chpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
529 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
531 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
533 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
535 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
537 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
539 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
541 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
543 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
545 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
547 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
549 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
551 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
553 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
555 CALL chpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
557 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
559 CALL chpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
561 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
563 CALL chpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
565 CALL chkxer(
'CHPEVD', infot, nout, lerr, ok )
572 CALL chpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
573 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
575 CALL chpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
576 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
578 CALL chpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
579 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
581 CALL chpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
582 CALL chkxer(
'CHPEV ', infot, nout, lerr, ok )
589 CALL chpevx(
'/',
'A',
'U', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
590 $ 1, w, rw, iw, i3, info )
591 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
593 CALL chpevx(
'V',
'/',
'U', 0, a, 0.0, 1.0, 1, 0, 0.0, m, x, z,
594 $ 1, w, rw, iw, i3, info )
595 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
597 CALL chpevx(
'V',
'A',
'/', 0, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
598 $ 1, w, rw, iw, i3, info )
599 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
601 CALL chpevx(
'V',
'A',
'U', -1, a, 0.0, 0.0, 0, 0, 0.0, m, x,
602 $ z, 1, w, rw, iw, i3, info )
603 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
605 CALL chpevx(
'V',
'V',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
606 $ 1, w, rw, iw, i3, info )
607 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
609 CALL chpevx(
'V',
'I',
'U', 1, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
610 $ 1, w, rw, iw, i3, info )
611 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
613 CALL chpevx(
'V',
'I',
'U', 2, a, 0.0, 0.0, 2, 1, 0.0, m, x, z,
614 $ 2, w, rw, iw, i3, info )
615 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
617 CALL chpevx(
'V',
'A',
'U', 2, a, 0.0, 0.0, 0, 0, 0.0, m, x, z,
618 $ 1, w, rw, iw, i3, info )
619 CALL chkxer(
'CHPEVX', infot, nout, lerr, ok )
624 ELSE IF(
lsamen( 2, c2,
'HB' ) )
THEN
630 CALL chbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
631 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
633 CALL chbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
634 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
636 CALL chbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
637 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
639 CALL chbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
640 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
642 CALL chbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
643 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
645 CALL chbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
646 CALL chkxer(
'CHBTRD', infot, nout, lerr, ok )
653 CALL chbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
655 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
657 CALL chbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
659 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
661 CALL chbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
663 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
665 CALL chbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
667 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
669 CALL chbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
671 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
673 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
675 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
677 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
679 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
681 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
683 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
685 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
687 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
689 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
691 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
693 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
695 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
697 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
699 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
701 CALL chbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
703 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
705 CALL chbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
707 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
709 CALL chbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
711 CALL chkxer(
'CHBEVD', infot, nout, lerr, ok )
718 CALL chbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
719 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
721 CALL chbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
722 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
724 CALL chbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
725 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
727 CALL chbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
728 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
730 CALL chbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
731 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
733 CALL chbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
734 CALL chkxer(
'CHBEV ', infot, nout, lerr, ok )
741 CALL chbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
742 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
743 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
745 CALL chbevx(
'V',
'/',
'U', 0, 0, a, 1, q, 1, 0.0, 1.0, 1, 0,
746 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
747 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
749 CALL chbevx(
'V',
'A',
'/', 0, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
750 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
752 CALL chbevx(
'V',
'A',
'U', -1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
753 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
754 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
756 CALL chbevx(
'V',
'A',
'U', 0, -1, a, 1, q, 1, 0.0, 0.0, 0, 0,
757 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
758 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
760 CALL chbevx(
'V',
'A',
'U', 2, 1, a, 1, q, 2, 0.0, 0.0, 0, 0,
761 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
762 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
764 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
765 $ 0.0, m, x, z, 2, w, rw, iw, i3, info )
766 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
768 CALL chbevx(
'V',
'V',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
769 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
770 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
772 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 0, 0,
773 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
774 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
776 CALL chbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0, 0.0, 1, 2,
777 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
778 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
780 CALL chbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0, 0.0, 0, 0,
781 $ 0.0, m, x, z, 1, w, rw, iw, i3, info )
782 CALL chkxer(
'CHBEVX', infot, nout, lerr, ok )
789 WRITE( nout, fmt = 9999 )path, nt
791 WRITE( nout, fmt = 9998 )path
794 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits',
795 $
' (', i3,
' tests done)' )
796 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine cpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CPTEQR
logical function lsamen(N, CA, CB)
LSAMEN
subroutine cunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
CUNMTR
subroutine chbevx(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
CHBEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine cheev(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
CHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine cheevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHEEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine cupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
CUPGTR
subroutine chbevd(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine chbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
CHBTRD
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine csteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CSTEQR
subroutine chpev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, RWORK, INFO)
CHPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine cstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
CSTEIN
subroutine chbev(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, RWORK, INFO)
CHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine chetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
CHETRD
subroutine cheevx(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
CHEEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine cstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CSTEDC
subroutine cheevd(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHEEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine chptrd(UPLO, N, AP, D, E, TAU, INFO)
CHPTRD
subroutine cungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
CUNGTR
subroutine chpevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
CHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine cupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
CUPMTR
subroutine chpevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...