56 SUBROUTINE serrpo( PATH, NUNIT )
81 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
82 $ R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX )
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
109 WRITE( nout, fmt = * )
116 a( i, j ) = 1. / real( i+j )
117 af( i, j ) = 1. / real( i+j )
128 IF( lsamen( 2, c2,
'PO' ) )
THEN
137 CALL spotrf(
'/', 0, a, 1, info )
138 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
140 CALL spotrf(
'U', -1, a, 1, info )
141 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
143 CALL spotrf(
'U', 2, a, 1, info )
144 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
150 CALL spotf2(
'/', 0, a, 1, info )
151 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
153 CALL spotf2(
'U', -1, a, 1, info )
154 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
156 CALL spotf2(
'U', 2, a, 1, info )
157 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
163 CALL spotri(
'/', 0, a, 1, info )
164 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
166 CALL spotri(
'U', -1, a, 1, info )
167 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
169 CALL spotri(
'U', 2, a, 1, info )
170 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
176 CALL spotrs(
'/', 0, 0, a, 1, b, 1, info )
177 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
179 CALL spotrs(
'U', -1, 0, a, 1, b, 1, info )
180 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
182 CALL spotrs(
'U', 0, -1, a, 1, b, 1, info )
183 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
185 CALL spotrs(
'U', 2, 1, a, 1, b, 2, info )
186 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
188 CALL spotrs(
'U', 2, 1, a, 2, b, 1, info )
189 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
195 CALL sporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
197 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
199 CALL sporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
201 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
203 CALL sporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
205 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
207 CALL sporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
209 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
211 CALL sporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
213 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
215 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
217 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
219 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
221 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
227 CALL spocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
228 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
230 CALL spocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
231 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
233 CALL spocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
234 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
240 CALL spoequ( -1, a, 1, r1, rcond, anrm, info )
241 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
243 CALL spoequ( 2, a, 1, r1, rcond, anrm, info )
244 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
246 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
255 CALL spptrf(
'/', 0, a, info )
256 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
258 CALL spptrf(
'U', -1, a, info )
259 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
265 CALL spptri(
'/', 0, a, info )
266 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
268 CALL spptri(
'U', -1, a, info )
269 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
275 CALL spptrs(
'/', 0, 0, a, b, 1, info )
276 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
278 CALL spptrs(
'U', -1, 0, a, b, 1, info )
279 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
281 CALL spptrs(
'U', 0, -1, a, b, 1, info )
282 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
284 CALL spptrs(
'U', 2, 1, a, b, 1, info )
285 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
291 CALL spprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
293 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
295 CALL spprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
297 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
299 CALL spprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
301 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
303 CALL spprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
305 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
307 CALL spprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
309 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
315 CALL sppcon(
'/', 0, a, anrm, rcond, w, iw, info )
316 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
318 CALL sppcon(
'U', -1, a, anrm, rcond, w, iw, info )
319 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
325 CALL sppequ(
'/', 0, a, r1, rcond, anrm, info )
326 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
328 CALL sppequ(
'U', -1, a, r1, rcond, anrm, info )
329 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
331 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
340 CALL spbtrf(
'/', 0, 0, a, 1, info )
341 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
343 CALL spbtrf(
'U', -1, 0, a, 1, info )
344 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
346 CALL spbtrf(
'U', 1, -1, a, 1, info )
347 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
349 CALL spbtrf(
'U', 2, 1, a, 1, info )
350 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
356 CALL spbtf2(
'/', 0, 0, a, 1, info )
357 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
359 CALL spbtf2(
'U', -1, 0, a, 1, info )
360 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
362 CALL spbtf2(
'U', 1, -1, a, 1, info )
363 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
365 CALL spbtf2(
'U', 2, 1, a, 1, info )
366 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
372 CALL spbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
373 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
375 CALL spbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
376 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
378 CALL spbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
379 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
381 CALL spbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
382 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
384 CALL spbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
385 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
387 CALL spbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
388 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
394 CALL spbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
396 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
398 CALL spbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
400 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
402 CALL spbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
404 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
406 CALL spbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
408 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
410 CALL spbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
412 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
414 CALL spbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
416 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
418 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
420 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
422 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
424 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
430 CALL spbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
431 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
433 CALL spbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
434 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
436 CALL spbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
437 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
439 CALL spbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
440 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
446 CALL spbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
447 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
449 CALL spbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
450 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
452 CALL spbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
453 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
455 CALL spbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
456 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
461 CALL alaesm( path, ok, nout )