56 SUBROUTINE zerrpo( PATH, NUNIT )
77 DOUBLE PRECISION ANRM, RCOND
80 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX )
81 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
82 $ W( 2*NMAX ), X( NMAX )
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
104 INTRINSIC dble, dcmplx
109 WRITE( nout, fmt = * )
116 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
117 $ -1.d0 / dble( i+j ) )
118 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
119 $ -1.d0 / dble( i+j ) )
133 IF( lsamen( 2, c2,
'PO' ) )
THEN
139 CALL zpotrf(
'/', 0, a, 1, info )
140 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
142 CALL zpotrf(
'U', -1, a, 1, info )
143 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
145 CALL zpotrf(
'U', 2, a, 1, info )
146 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
152 CALL zpotf2(
'/', 0, a, 1, info )
153 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
155 CALL zpotf2(
'U', -1, a, 1, info )
156 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
158 CALL zpotf2(
'U', 2, a, 1, info )
159 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
165 CALL zpotri(
'/', 0, a, 1, info )
166 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
168 CALL zpotri(
'U', -1, a, 1, info )
169 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
171 CALL zpotri(
'U', 2, a, 1, info )
172 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
178 CALL zpotrs(
'/', 0, 0, a, 1, b, 1, info )
179 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
181 CALL zpotrs(
'U', -1, 0, a, 1, b, 1, info )
182 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
184 CALL zpotrs(
'U', 0, -1, a, 1, b, 1, info )
185 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
187 CALL zpotrs(
'U', 2, 1, a, 1, b, 2, info )
188 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
190 CALL zpotrs(
'U', 2, 1, a, 2, b, 1, info )
191 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
197 CALL zporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
199 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
201 CALL zporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
203 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
205 CALL zporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
207 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
209 CALL zporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
211 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
213 CALL zporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
215 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
217 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
219 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
221 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
223 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
229 CALL zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
230 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
232 CALL zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
233 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
235 CALL zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
236 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
238 CALL zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
239 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
245 CALL zpoequ( -1, a, 1, r1, rcond, anrm, info )
246 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
248 CALL zpoequ( 2, a, 1, r1, rcond, anrm, info )
249 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
254 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
260 CALL zpptrf(
'/', 0, a, info )
261 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
263 CALL zpptrf(
'U', -1, a, info )
264 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
270 CALL zpptri(
'/', 0, a, info )
271 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
273 CALL zpptri(
'U', -1, a, info )
274 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
280 CALL zpptrs(
'/', 0, 0, a, b, 1, info )
281 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
283 CALL zpptrs(
'U', -1, 0, a, b, 1, info )
284 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
286 CALL zpptrs(
'U', 0, -1, a, b, 1, info )
287 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
289 CALL zpptrs(
'U', 2, 1, a, b, 1, info )
290 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
296 CALL zpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
297 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
299 CALL zpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
301 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
303 CALL zpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
305 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
307 CALL zpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
308 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
310 CALL zpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
311 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
317 CALL zppcon(
'/', 0, a, anrm, rcond, w, r, info )
318 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
320 CALL zppcon(
'U', -1, a, anrm, rcond, w, r, info )
321 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
323 CALL zppcon(
'U', 1, a, -anrm, rcond, w, r, info )
324 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
330 CALL zppequ(
'/', 0, a, r1, rcond, anrm, info )
331 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
333 CALL zppequ(
'U', -1, a, r1, rcond, anrm, info )
334 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
339 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
345 CALL zpbtrf(
'/', 0, 0, a, 1, info )
346 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
348 CALL zpbtrf(
'U', -1, 0, a, 1, info )
349 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
351 CALL zpbtrf(
'U', 1, -1, a, 1, info )
352 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
354 CALL zpbtrf(
'U', 2, 1, a, 1, info )
355 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
361 CALL zpbtf2(
'/', 0, 0, a, 1, info )
362 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
364 CALL zpbtf2(
'U', -1, 0, a, 1, info )
365 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
367 CALL zpbtf2(
'U', 1, -1, a, 1, info )
368 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
370 CALL zpbtf2(
'U', 2, 1, a, 1, info )
371 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
377 CALL zpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
378 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
380 CALL zpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
381 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
383 CALL zpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
384 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
386 CALL zpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
387 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
389 CALL zpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
390 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
392 CALL zpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
393 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
399 CALL zpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
401 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
403 CALL zpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
405 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
407 CALL zpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
409 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
411 CALL zpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
413 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
415 CALL zpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
417 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
419 CALL zpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
421 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
423 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
425 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
427 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
429 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
435 CALL zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
436 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
438 CALL zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
439 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
441 CALL zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
442 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
444 CALL zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
445 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
447 CALL zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
448 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
454 CALL zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
455 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
457 CALL zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
458 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
460 CALL zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
461 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
463 CALL zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
464 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
469 CALL alaesm( path, ok, nout )