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 DOUBLE PRECISION d( nmax ), e( nmax ), r( lw ), rw( lw ),
84 COMPLEX*16 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.d0 / dble( i+
j )
135 IF(
lsamen( 2, c2,
'ST' ) )
THEN
141 CALL
zhetrd(
'/', 0, a, 1, d, e, tau, w, 1, info )
142 CALL
chkxer(
'ZHETRD', infot, nout, lerr, ok )
144 CALL
zhetrd(
'U', -1, a, 1, d, e, tau, w, 1, info )
145 CALL
chkxer(
'ZHETRD', infot, nout, lerr, ok )
147 CALL
zhetrd(
'U', 2, a, 1, d, e, tau, w, 1, info )
148 CALL
chkxer(
'ZHETRD', infot, nout, lerr, ok )
150 CALL
zhetrd(
'U', 0, a, 1, d, e, tau, w, 0, info )
151 CALL
chkxer(
'ZHETRD', infot, nout, lerr, ok )
158 CALL
zungtr(
'/', 0, a, 1, tau, w, 1, info )
159 CALL
chkxer(
'ZUNGTR', infot, nout, lerr, ok )
161 CALL
zungtr(
'U', -1, a, 1, tau, w, 1, info )
162 CALL
chkxer(
'ZUNGTR', infot, nout, lerr, ok )
164 CALL
zungtr(
'U', 2, a, 1, tau, w, 1, info )
165 CALL
chkxer(
'ZUNGTR', infot, nout, lerr, ok )
167 CALL
zungtr(
'U', 3, a, 3, tau, w, 1, info )
168 CALL
chkxer(
'ZUNGTR', infot, nout, lerr, ok )
175 CALL
zunmtr(
'/',
'U',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
176 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
178 CALL
zunmtr(
'L',
'/',
'N', 0, 0, a, 1, tau, c, 1, w, 1, info )
179 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
181 CALL
zunmtr(
'L',
'U',
'/', 0, 0, a, 1, tau, c, 1, w, 1, info )
182 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
184 CALL
zunmtr(
'L',
'U',
'N', -1, 0, a, 1, tau, c, 1, w, 1,
186 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
188 CALL
zunmtr(
'L',
'U',
'N', 0, -1, a, 1, tau, c, 1, w, 1,
190 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
192 CALL
zunmtr(
'L',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
193 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
195 CALL
zunmtr(
'R',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
196 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
198 CALL
zunmtr(
'L',
'U',
'N', 2, 0, a, 2, tau, c, 1, w, 1, info )
199 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
201 CALL
zunmtr(
'L',
'U',
'N', 0, 2, a, 1, tau, c, 1, w, 1, info )
202 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
204 CALL
zunmtr(
'R',
'U',
'N', 2, 0, a, 1, tau, c, 2, w, 1, info )
205 CALL
chkxer(
'ZUNMTR', infot, nout, lerr, ok )
212 CALL
zhptrd(
'/', 0, a, d, e, tau, info )
213 CALL
chkxer(
'ZHPTRD', infot, nout, lerr, ok )
215 CALL
zhptrd(
'U', -1, a, d, e, tau, info )
216 CALL
chkxer(
'ZHPTRD', infot, nout, lerr, ok )
223 CALL
zupgtr(
'/', 0, a, tau, z, 1, w, info )
224 CALL
chkxer(
'ZUPGTR', infot, nout, lerr, ok )
226 CALL
zupgtr(
'U', -1, a, tau, z, 1, w, info )
227 CALL
chkxer(
'ZUPGTR', infot, nout, lerr, ok )
229 CALL
zupgtr(
'U', 2, a, tau, z, 1, w, info )
230 CALL
chkxer(
'ZUPGTR', infot, nout, lerr, ok )
237 CALL
zupmtr(
'/',
'U',
'N', 0, 0, a, tau, c, 1, w, info )
238 CALL
chkxer(
'ZUPMTR', infot, nout, lerr, ok )
240 CALL
zupmtr(
'L',
'/',
'N', 0, 0, a, tau, c, 1, w, info )
241 CALL
chkxer(
'ZUPMTR', infot, nout, lerr, ok )
243 CALL
zupmtr(
'L',
'U',
'/', 0, 0, a, tau, c, 1, w, info )
244 CALL
chkxer(
'ZUPMTR', infot, nout, lerr, ok )
246 CALL
zupmtr(
'L',
'U',
'N', -1, 0, a, tau, c, 1, w, info )
247 CALL
chkxer(
'ZUPMTR', infot, nout, lerr, ok )
249 CALL
zupmtr(
'L',
'U',
'N', 0, -1, a, tau, c, 1, w, info )
250 CALL
chkxer(
'ZUPMTR', infot, nout, lerr, ok )
252 CALL
zupmtr(
'L',
'U',
'N', 2, 0, a, tau, c, 1, w, info )
253 CALL
chkxer(
'ZUPMTR', infot, nout, lerr, ok )
260 CALL
zpteqr(
'/', 0, d, e, z, 1, rw, info )
261 CALL
chkxer(
'ZPTEQR', infot, nout, lerr, ok )
263 CALL
zpteqr(
'N', -1, d, e, z, 1, rw, info )
264 CALL
chkxer(
'ZPTEQR', infot, nout, lerr, ok )
266 CALL
zpteqr(
'V', 2, d, e, z, 1, rw, info )
267 CALL
chkxer(
'ZPTEQR', infot, nout, lerr, ok )
274 CALL
zstein( -1, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
275 CALL
chkxer(
'ZSTEIN', infot, nout, lerr, ok )
277 CALL
zstein( 0, d, e, -1, x, i1, i2, z, 1, rw, iw, i3, info )
278 CALL
chkxer(
'ZSTEIN', infot, nout, lerr, ok )
280 CALL
zstein( 0, d, e, 1, x, i1, i2, z, 1, rw, iw, i3, info )
281 CALL
chkxer(
'ZSTEIN', infot, nout, lerr, ok )
283 CALL
zstein( 2, d, e, 0, x, i1, i2, z, 1, rw, iw, i3, info )
284 CALL
chkxer(
'ZSTEIN', infot, nout, lerr, ok )
291 CALL
zsteqr(
'/', 0, d, e, z, 1, rw, info )
292 CALL
chkxer(
'ZSTEQR', infot, nout, lerr, ok )
294 CALL
zsteqr(
'N', -1, d, e, z, 1, rw, info )
295 CALL
chkxer(
'ZSTEQR', infot, nout, lerr, ok )
297 CALL
zsteqr(
'V', 2, d, e, z, 1, rw, info )
298 CALL
chkxer(
'ZSTEQR', infot, nout, lerr, ok )
305 CALL
zstedc(
'/', 0, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
306 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
308 CALL
zstedc(
'N', -1, d, e, z, 1, w, 1, rw, 1, iw, 1, info )
309 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
311 CALL
zstedc(
'V', 2, d, e, z, 1, w, 4, rw, 23, iw, 28, info )
312 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
314 CALL
zstedc(
'N', 2, d, e, z, 1, w, 0, rw, 1, iw, 1, info )
315 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
317 CALL
zstedc(
'V', 2, d, e, z, 2, w, 0, rw, 23, iw, 28, info )
318 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
320 CALL
zstedc(
'N', 2, d, e, z, 1, w, 1, rw, 0, iw, 1, info )
321 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
323 CALL
zstedc(
'I', 2, d, e, z, 2, w, 1, rw, 1, iw, 12, info )
324 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
326 CALL
zstedc(
'V', 2, d, e, z, 2, w, 4, rw, 1, iw, 28, info )
327 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
329 CALL
zstedc(
'N', 2, d, e, z, 1, w, 1, rw, 1, iw, 0, info )
330 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
332 CALL
zstedc(
'I', 2, d, e, z, 2, w, 1, rw, 23, iw, 0, info )
333 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
335 CALL
zstedc(
'V', 2, d, e, z, 2, w, 4, rw, 23, iw, 0, info )
336 CALL
chkxer(
'ZSTEDC', infot, nout, lerr, ok )
343 CALL
zheevd(
'/',
'U', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
344 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
346 CALL
zheevd(
'N',
'/', 0, a, 1, x, w, 1, rw, 1, iw, 1, info )
347 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
349 CALL
zheevd(
'N',
'U', -1, a, 1, x, w, 1, rw, 1, iw, 1, info )
350 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
352 CALL
zheevd(
'N',
'U', 2, a, 1, x, w, 3, rw, 2, iw, 1, info )
353 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
355 CALL
zheevd(
'N',
'U', 1, a, 1, x, w, 0, rw, 1, iw, 1, info )
356 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
358 CALL
zheevd(
'N',
'U', 2, a, 2, x, w, 2, rw, 2, iw, 1, info )
359 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
361 CALL
zheevd(
'V',
'U', 2, a, 2, x, w, 3, rw, 25, iw, 12, info )
362 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
364 CALL
zheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 0, iw, 1, info )
365 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
367 CALL
zheevd(
'N',
'U', 2, a, 2, x, w, 3, rw, 1, iw, 1, info )
368 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
370 CALL
zheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 18, iw, 12, info )
371 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
373 CALL
zheevd(
'N',
'U', 1, a, 1, x, w, 1, rw, 1, iw, 0, info )
374 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
376 CALL
zheevd(
'V',
'U', 2, a, 2, x, w, 8, rw, 25, iw, 11, info )
377 CALL
chkxer(
'ZHEEVD', infot, nout, lerr, ok )
384 CALL
zheev(
'/',
'U', 0, a, 1, x, w, 1, rw, info )
385 CALL
chkxer(
'ZHEEV ', infot, nout, lerr, ok )
387 CALL
zheev(
'N',
'/', 0, a, 1, x, w, 1, rw, info )
388 CALL
chkxer(
'ZHEEV ', infot, nout, lerr, ok )
390 CALL
zheev(
'N',
'U', -1, a, 1, x, w, 1, rw, info )
391 CALL
chkxer(
'ZHEEV ', infot, nout, lerr, ok )
393 CALL
zheev(
'N',
'U', 2, a, 1, x, w, 3, rw, info )
394 CALL
chkxer(
'ZHEEV ', infot, nout, lerr, ok )
396 CALL
zheev(
'N',
'U', 2, a, 2, x, w, 2, rw, info )
397 CALL
chkxer(
'ZHEEV ', infot, nout, lerr, ok )
404 CALL
zheevx(
'/',
'A',
'U', 0, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
405 $ m, x, z, 1, w, 1, rw, iw, i3, info )
406 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
408 CALL
zheevx(
'V',
'/',
'U', 0, a, 1, 0.0d0, 1.0d0, 1, 0, 0.0d0,
409 $ m, x, z, 1, w, 1, rw, iw, i3, info )
410 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
412 CALL
zheevx(
'V',
'A',
'/', 0, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
413 $ m, x, z, 1, w, 1, rw, iw, i3, info )
415 CALL
zheevx(
'V',
'A',
'U', -1, a, 1, 0.0d0, 0.0d0, 0, 0,
416 $ 0.0d0, m, x, z, 1, w, 1, rw, iw, i3, info )
417 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
419 CALL
zheevx(
'V',
'A',
'U', 2, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
420 $ m, x, z, 2, w, 3, rw, iw, i3, info )
421 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
423 CALL
zheevx(
'V',
'V',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
424 $ m, x, z, 1, w, 1, rw, iw, i3, info )
425 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
427 CALL
zheevx(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 0, 0.0d0,
428 $ m, x, z, 1, w, 1, rw, iw, i3, info )
429 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
431 CALL
zheevx(
'V',
'I',
'U', 2, a, 2, 0.0d0, 0.0d0, 2, 1, 0.0d0,
432 $ m, x, z, 2, w, 3, rw, iw, i3, info )
433 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
435 CALL
zheevx(
'V',
'A',
'U', 2, a, 2, 0.0d0, 0.0d0, 0, 0, 0.0d0,
436 $ m, x, z, 1, w, 3, rw, iw, i3, info )
437 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
439 CALL
zheevx(
'V',
'A',
'U', 2, a, 2, 0.0d0, 0.0d0, 0, 0, 0.0d0,
440 $ m, x, z, 2, w, 2, rw, iw, i1, info )
441 CALL
chkxer(
'ZHEEVX', infot, nout, lerr, ok )
449 CALL
zheevr(
'/',
'A',
'U', 0, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
450 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
452 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
454 CALL
zheevr(
'V',
'/',
'U', 0, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
455 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
457 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
459 CALL
zheevr(
'V',
'A',
'/', -1, a, 1, 0.0d0, 0.0d0, 1, 1,
460 $ 0.0d0, m, r, z, 1, iw, q, 2*n, rw, 24*n,
461 $ iw( 2*n+1 ), 10*n, info )
462 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
464 CALL
zheevr(
'V',
'A',
'U', -1, a, 1, 0.0d0, 0.0d0, 1, 1,
465 $ 0.0d0, m, r, z, 1, iw, q, 2*n, rw, 24*n,
466 $ iw( 2*n+1 ), 10*n, info )
467 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
469 CALL
zheevr(
'V',
'A',
'U', 2, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
470 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
472 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
474 CALL
zheevr(
'V',
'V',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
475 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
477 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
479 CALL
zheevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 0, 1, 0.0d0,
480 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
482 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
485 CALL
zheevr(
'V',
'I',
'U', 2, a, 2, 0.0d0, 0.0d0, 2, 1, 0.0d0,
486 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
488 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
490 CALL
zheevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
491 $ m, r, z, 0, iw, q, 2*n, rw, 24*n, iw( 2*n+1 ),
493 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
495 CALL
zheevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
496 $ m, r, z, 1, iw, q, 2*n-1, rw, 24*n, iw( 2*n+1 ),
498 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
500 CALL
zheevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
501 $ m, r, z, 1, iw, q, 2*n, rw, 24*n-1, iw( 2*n-1 ),
503 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
505 CALL
zheevr(
'V',
'I',
'U', 1, a, 1, 0.0d0, 0.0d0, 1, 1, 0.0d0,
506 $ m, r, z, 1, iw, q, 2*n, rw, 24*n, iw, 10*n-1,
508 CALL
chkxer(
'ZHEEVR', infot, nout, lerr, ok )
515 CALL
zhpevd(
'/',
'U', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
517 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
519 CALL
zhpevd(
'N',
'/', 0, a, x, z, 1, w, 1, rw, 1, iw, 1,
521 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
523 CALL
zhpevd(
'N',
'U', -1, a, x, z, 1, w, 1, rw, 1, iw, 1,
525 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
527 CALL
zhpevd(
'V',
'U', 2, a, x, z, 1, w, 4, rw, 25, iw, 12,
529 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
531 CALL
zhpevd(
'N',
'U', 1, a, x, z, 1, w, 0, rw, 1, iw, 1,
533 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
535 CALL
zhpevd(
'N',
'U', 2, a, x, z, 2, w, 1, rw, 2, iw, 1,
537 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
539 CALL
zhpevd(
'V',
'U', 2, a, x, z, 2, w, 2, rw, 25, iw, 12,
541 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
543 CALL
zhpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 0, iw, 1,
545 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
547 CALL
zhpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 1, iw, 1,
549 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
551 CALL
zhpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 18, iw, 12,
553 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
555 CALL
zhpevd(
'N',
'U', 1, a, x, z, 1, w, 1, rw, 1, iw, 0,
557 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
559 CALL
zhpevd(
'N',
'U', 2, a, x, z, 2, w, 2, rw, 2, iw, 0,
561 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
563 CALL
zhpevd(
'V',
'U', 2, a, x, z, 2, w, 4, rw, 25, iw, 2,
565 CALL
chkxer(
'ZHPEVD', infot, nout, lerr, ok )
572 CALL
zhpev(
'/',
'U', 0, a, x, z, 1, w, rw, info )
573 CALL
chkxer(
'ZHPEV ', infot, nout, lerr, ok )
575 CALL
zhpev(
'N',
'/', 0, a, x, z, 1, w, rw, info )
576 CALL
chkxer(
'ZHPEV ', infot, nout, lerr, ok )
578 CALL
zhpev(
'N',
'U', -1, a, x, z, 1, w, rw, info )
579 CALL
chkxer(
'ZHPEV ', infot, nout, lerr, ok )
581 CALL
zhpev(
'V',
'U', 2, a, x, z, 1, w, rw, info )
582 CALL
chkxer(
'ZHPEV ', infot, nout, lerr, ok )
589 CALL
zhpevx(
'/',
'A',
'U', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
590 $ x, z, 1, w, rw, iw, i3, info )
591 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
593 CALL
zhpevx(
'V',
'/',
'U', 0, a, 0.0d0, 1.0d0, 1, 0, 0.0d0, m,
594 $ x, z, 1, w, rw, iw, i3, info )
595 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
597 CALL
zhpevx(
'V',
'A',
'/', 0, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
598 $ x, z, 1, w, rw, iw, i3, info )
599 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
601 CALL
zhpevx(
'V',
'A',
'U', -1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0,
602 $ m, x, z, 1, w, rw, iw, i3, info )
603 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
605 CALL
zhpevx(
'V',
'V',
'U', 1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
606 $ x, z, 1, w, rw, iw, i3, info )
607 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
609 CALL
zhpevx(
'V',
'I',
'U', 1, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
610 $ x, z, 1, w, rw, iw, i3, info )
611 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
613 CALL
zhpevx(
'V',
'I',
'U', 2, a, 0.0d0, 0.0d0, 2, 1, 0.0d0, m,
614 $ x, z, 2, w, rw, iw, i3, info )
615 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
617 CALL
zhpevx(
'V',
'A',
'U', 2, a, 0.0d0, 0.0d0, 0, 0, 0.0d0, m,
618 $ x, z, 1, w, rw, iw, i3, info )
619 CALL
chkxer(
'ZHPEVX', infot, nout, lerr, ok )
624 ELSE IF(
lsamen( 2, c2,
'HB' ) )
THEN
630 CALL
zhbtrd(
'/',
'U', 0, 0, a, 1, d, e, z, 1, w, info )
631 CALL
chkxer(
'ZHBTRD', infot, nout, lerr, ok )
633 CALL
zhbtrd(
'N',
'/', 0, 0, a, 1, d, e, z, 1, w, info )
634 CALL
chkxer(
'ZHBTRD', infot, nout, lerr, ok )
636 CALL
zhbtrd(
'N',
'U', -1, 0, a, 1, d, e, z, 1, w, info )
637 CALL
chkxer(
'ZHBTRD', infot, nout, lerr, ok )
639 CALL
zhbtrd(
'N',
'U', 0, -1, a, 1, d, e, z, 1, w, info )
640 CALL
chkxer(
'ZHBTRD', infot, nout, lerr, ok )
642 CALL
zhbtrd(
'N',
'U', 1, 1, a, 1, d, e, z, 1, w, info )
643 CALL
chkxer(
'ZHBTRD', infot, nout, lerr, ok )
645 CALL
zhbtrd(
'V',
'U', 2, 0, a, 1, d, e, z, 1, w, info )
646 CALL
chkxer(
'ZHBTRD', infot, nout, lerr, ok )
653 CALL
zhbevd(
'/',
'U', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
655 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
657 CALL
zhbevd(
'N',
'/', 0, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 1,
659 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
661 CALL
zhbevd(
'N',
'U', -1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw,
663 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
665 CALL
zhbevd(
'N',
'U', 0, -1, a, 1, x, z, 1, w, 1, rw, 1, iw,
667 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
669 CALL
zhbevd(
'N',
'U', 2, 1, a, 1, x, z, 1, w, 2, rw, 2, iw, 1,
671 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
673 CALL
zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 1, w, 8, rw, 25, iw,
675 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
677 CALL
zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 0, rw, 1, iw, 1,
679 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
681 CALL
zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 1, rw, 2, iw, 1,
683 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
685 CALL
zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 25, iw,
687 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
689 CALL
zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 0, iw, 1,
691 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
693 CALL
zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 1, iw, 1,
695 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
697 CALL
zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 2, iw,
699 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
701 CALL
zhbevd(
'N',
'U', 1, 0, a, 1, x, z, 1, w, 1, rw, 1, iw, 0,
703 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
705 CALL
zhbevd(
'N',
'U', 2, 1, a, 2, x, z, 2, w, 2, rw, 2, iw, 0,
707 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
709 CALL
zhbevd(
'V',
'U', 2, 1, a, 2, x, z, 2, w, 8, rw, 25, iw,
711 CALL
chkxer(
'ZHBEVD', infot, nout, lerr, ok )
718 CALL
zhbev(
'/',
'U', 0, 0, a, 1, x, z, 1, w, rw, info )
719 CALL
chkxer(
'ZHBEV ', infot, nout, lerr, ok )
721 CALL
zhbev(
'N',
'/', 0, 0, a, 1, x, z, 1, w, rw, info )
722 CALL
chkxer(
'ZHBEV ', infot, nout, lerr, ok )
724 CALL
zhbev(
'N',
'U', -1, 0, a, 1, x, z, 1, w, rw, info )
725 CALL
chkxer(
'ZHBEV ', infot, nout, lerr, ok )
727 CALL
zhbev(
'N',
'U', 0, -1, a, 1, x, z, 1, w, rw, info )
728 CALL
chkxer(
'ZHBEV ', infot, nout, lerr, ok )
730 CALL
zhbev(
'N',
'U', 2, 1, a, 1, x, z, 1, w, rw, info )
731 CALL
chkxer(
'ZHBEV ', infot, nout, lerr, ok )
733 CALL
zhbev(
'V',
'U', 2, 0, a, 1, x, z, 1, w, rw, info )
734 CALL
chkxer(
'ZHBEV ', infot, nout, lerr, ok )
741 CALL
zhbevx(
'/',
'A',
'U', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
742 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
743 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
745 CALL
zhbevx(
'V',
'/',
'U', 0, 0, a, 1, q, 1, 0.0d0, 1.0d0, 1,
746 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
747 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
749 CALL
zhbevx(
'V',
'A',
'/', 0, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
750 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
752 CALL
zhbevx(
'V',
'A',
'U', -1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
753 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
754 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
756 CALL
zhbevx(
'V',
'A',
'U', 0, -1, a, 1, q, 1, 0.0d0, 0.0d0, 0,
757 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
758 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
760 CALL
zhbevx(
'V',
'A',
'U', 2, 1, a, 1, q, 2, 0.0d0, 0.0d0, 0,
761 $ 0, 0.0d0, m, x, z, 2, w, rw, iw, i3, info )
762 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
764 CALL
zhbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
765 $ 0, 0.0d0, m, x, z, 2, w, rw, iw, i3, info )
766 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
768 CALL
zhbevx(
'V',
'V',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
769 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
770 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
772 CALL
zhbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 0,
773 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
774 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
776 CALL
zhbevx(
'V',
'I',
'U', 1, 0, a, 1, q, 1, 0.0d0, 0.0d0, 1,
777 $ 2, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
778 CALL
chkxer(
'ZHBEVX', infot, nout, lerr, ok )
780 CALL
zhbevx(
'V',
'A',
'U', 2, 0, a, 1, q, 2, 0.0d0, 0.0d0, 0,
781 $ 0, 0.0d0, m, x, z, 1, w, rw, iw, i3, info )
782 CALL
chkxer(
'ZHBEVX', 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 zheevd(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHEEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine zhptrd(UPLO, N, AP, D, E, TAU, INFO)
ZHPTRD
subroutine zstein(N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO)
ZSTEIN
subroutine zpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZPTEQR
subroutine zupmtr(SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO)
ZUPMTR
subroutine zstedc(COMPZ, N, D, E, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZSTEDC
subroutine zerrst(PATH, NUNIT)
ZERRST
subroutine zhetrd(UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO)
ZHETRD
subroutine zhbevd(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zhbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
ZHBTRD
subroutine zupgtr(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)
ZUPGTR
subroutine zsteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
ZSTEQR
logical function lsamen(N, CA, CB)
LSAMEN
subroutine zhpevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine zheev(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
ZHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine zhbevx(JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
ZHBEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zhpev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, RWORK, INFO)
ZHPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine zunmtr(SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMTR
subroutine zhpevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO)
ZHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine zungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
ZUNGTR
subroutine zheevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
ZHEEVR computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine zheevx(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO)
ZHEEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices ...
subroutine zhbev(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, RWORK, INFO)
ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...