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( 1
x, 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 cerrst(PATH, NUNIT)
CERRST
subroutine cstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CSTEDC
subroutine chptrd(UPLO, N, AP, D, E, TAU, INFO)
CHPTRD
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 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 cpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CPTEQR
subroutine cunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
CUNMTR
subroutine cungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
CUNGTR
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 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 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 csteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CSTEQR
subroutine cstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
CSTEIN
subroutine cupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
CUPMTR
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
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...
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 cupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
CUPGTR
LOGICAL function lsamen(N, CA, CB)
LSAMEN
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 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 chetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
CHETRD