39 REAL r( nmax ), r1( nmax ), r2( nmax )
40 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
41 $ w( 2*nmax ), x( nmax )
49 $ cpbtrf, cpbtrs, cpocon, cpoequ, cporfs, cpotf2,
50 $ cpotrf, cpotri, cpotrs, cppcon, cppequ, cpprfs,
51 $ cpptrf, cpptri, cpptrs
59 common / infoc / infot, nout, ok, lerr
60 common / srnamc / srnamt
68 WRITE( nout, fmt = * )
75 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
76 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
90 IF( lsamen( 2, c2,
'PO' ) )
THEN
97 CALL
chkxer(
'CPOTRF', infot, nout, lerr, ok )
100 CALL
chkxer(
'CPOTRF', infot, nout, lerr, ok )
103 CALL
chkxer(
'CPOTRF', infot, nout, lerr, ok )
109 CALL cpotf2(
'/', 0, a, 1, info )
110 CALL
chkxer(
'CPOTF2', infot, nout, lerr, ok )
112 CALL cpotf2(
'U', -1, a, 1, info )
113 CALL
chkxer(
'CPOTF2', infot, nout, lerr, ok )
115 CALL cpotf2(
'U', 2, a, 1, info )
116 CALL
chkxer(
'CPOTF2', infot, nout, lerr, ok )
122 CALL cpotri(
'/', 0, a, 1, info )
123 CALL
chkxer(
'CPOTRI', infot, nout, lerr, ok )
125 CALL cpotri(
'U', -1, a, 1, info )
126 CALL
chkxer(
'CPOTRI', infot, nout, lerr, ok )
128 CALL cpotri(
'U', 2, a, 1, info )
129 CALL
chkxer(
'CPOTRI', infot, nout, lerr, ok )
135 CALL cpotrs(
'/', 0, 0, a, 1, b, 1, info )
136 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
138 CALL cpotrs(
'U', -1, 0, a, 1, b, 1, info )
139 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
141 CALL cpotrs(
'U', 0, -1, a, 1, b, 1, info )
142 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
144 CALL cpotrs(
'U', 2, 1, a, 1, b, 2, info )
145 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
147 CALL cpotrs(
'U', 2, 1, a, 2, b, 1, info )
148 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
154 CALL cporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
156 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
158 CALL cporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
160 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
162 CALL cporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
164 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
166 CALL cporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
168 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
170 CALL cporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
172 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
174 CALL cporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
176 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
178 CALL cporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
180 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
186 CALL cpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
187 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
189 CALL cpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
190 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
192 CALL cpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
193 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
195 CALL cpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
196 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
202 CALL cpoequ( -1, a, 1, r1, rcond, anrm, info )
203 CALL
chkxer(
'CPOEQU', infot, nout, lerr, ok )
205 CALL cpoequ( 2, a, 1, r1, rcond, anrm, info )
206 CALL
chkxer(
'CPOEQU', infot, nout, lerr, ok )
211 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
217 CALL cpptrf(
'/', 0, a, info )
218 CALL
chkxer(
'CPPTRF', infot, nout, lerr, ok )
220 CALL cpptrf(
'U', -1, a, info )
221 CALL
chkxer(
'CPPTRF', infot, nout, lerr, ok )
227 CALL cpptri(
'/', 0, a, info )
228 CALL
chkxer(
'CPPTRI', infot, nout, lerr, ok )
230 CALL cpptri(
'U', -1, a, info )
231 CALL
chkxer(
'CPPTRI', infot, nout, lerr, ok )
237 CALL cpptrs(
'/', 0, 0, a, b, 1, info )
238 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
240 CALL cpptrs(
'U', -1, 0, a, b, 1, info )
241 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
243 CALL cpptrs(
'U', 0, -1, a, b, 1, info )
244 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
246 CALL cpptrs(
'U', 2, 1, a, b, 1, info )
247 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
253 CALL cpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
254 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
256 CALL cpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
258 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
260 CALL cpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
262 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
264 CALL cpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
265 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
267 CALL cpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
268 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
274 CALL cppcon(
'/', 0, a, anrm, rcond, w, r, info )
275 CALL
chkxer(
'CPPCON', infot, nout, lerr, ok )
277 CALL cppcon(
'U', -1, a, anrm, rcond, w, r, info )
278 CALL
chkxer(
'CPPCON', infot, nout, lerr, ok )
280 CALL cppcon(
'U', 1, a, -anrm, rcond, w, r, info )
281 CALL
chkxer(
'CPPCON', infot, nout, lerr, ok )
287 CALL cppequ(
'/', 0, a, r1, rcond, anrm, info )
288 CALL
chkxer(
'CPPEQU', infot, nout, lerr, ok )
290 CALL cppequ(
'U', -1, a, r1, rcond, anrm, info )
291 CALL
chkxer(
'CPPEQU', infot, nout, lerr, ok )
296 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
302 CALL cpbtrf(
'/', 0, 0, a, 1, info )
303 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
305 CALL cpbtrf(
'U', -1, 0, a, 1, info )
306 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
308 CALL cpbtrf(
'U', 1, -1, a, 1, info )
309 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
311 CALL cpbtrf(
'U', 2, 1, a, 1, info )
312 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
318 CALL cpbtf2(
'/', 0, 0, a, 1, info )
319 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
321 CALL cpbtf2(
'U', -1, 0, a, 1, info )
322 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
324 CALL cpbtf2(
'U', 1, -1, a, 1, info )
325 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
327 CALL cpbtf2(
'U', 2, 1, a, 1, info )
328 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
334 CALL cpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
335 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
337 CALL cpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
338 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
340 CALL cpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
341 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
343 CALL cpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
344 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
346 CALL cpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
347 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
349 CALL cpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
350 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
356 CALL cpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
358 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
360 CALL cpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
362 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
364 CALL cpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
366 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
368 CALL cpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
370 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
372 CALL cpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
374 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
376 CALL cpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
378 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
380 CALL cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
382 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
384 CALL cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
386 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
392 CALL cpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
393 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
395 CALL cpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
396 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
398 CALL cpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
399 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
401 CALL cpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
402 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
404 CALL cpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
405 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
411 CALL cpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
412 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
414 CALL cpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
415 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
417 CALL cpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
418 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
420 CALL cpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
421 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
426 CALL
alaesm( path, ok, nout )