56 SUBROUTINE serrvx( PATH, NUNIT )
72 parameter ( nmax = 4 )
81 INTEGER IP( nmax ), IW( nmax )
82 REAL A( nmax, nmax ), AF( nmax, nmax ), B( nmax ),
83 $ c( nmax ), e( nmax ), r( nmax ), r1( nmax ),
84 $ r2( nmax ), w( 2*nmax ), x( nmax )
102 COMMON / infoc / infot, nout, ok, lerr
103 COMMON / srnamc / srnamt
111 WRITE( nout, fmt = * )
118 a( i, j ) = 1. /
REAL( i+j )
119 af( i, j ) = 1. /
REAL( i+j )
134 IF( lsamen( 2, c2,
'GE' ) )
THEN
140 CALL sgesv( -1, 0, a, 1, ip, b, 1, info )
141 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
143 CALL sgesv( 0, -1, a, 1, ip, b, 1, info )
144 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
146 CALL sgesv( 2, 1, a, 1, ip, b, 2, info )
147 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
149 CALL sgesv( 2, 1, a, 2, ip, b, 1, info )
150 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
156 CALL sgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
157 $ x, 1, rcond, r1, r2, w, iw, info )
158 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
160 CALL sgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
161 $ x, 1, rcond, r1, r2, w, iw, info )
162 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
164 CALL sgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
165 $ x, 1, rcond, r1, r2, w, iw, info )
166 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
168 CALL sgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
169 $ x, 1, rcond, r1, r2, w, iw, info )
170 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
172 CALL sgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
173 $ x, 2, rcond, r1, r2, w, iw, info )
174 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
176 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
177 $ x, 2, rcond, r1, r2, w, iw, info )
178 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
181 CALL sgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
182 $ x, 1, rcond, r1, r2, w, iw, info )
183 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
186 CALL sgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
187 $ x, 1, rcond, r1, r2, w, iw, info )
188 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
191 CALL sgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
192 $ x, 1, rcond, r1, r2, w, iw, info )
193 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
195 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
196 $ x, 2, rcond, r1, r2, w, iw, info )
197 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
199 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
200 $ x, 1, rcond, r1, r2, w, iw, info )
201 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
203 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
209 CALL sgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
210 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
212 CALL sgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
213 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
215 CALL sgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
216 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
218 CALL sgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
219 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
221 CALL sgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
222 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
224 CALL sgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
225 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
231 CALL sgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
232 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
233 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
235 CALL sgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
236 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
237 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
239 CALL sgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
240 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
241 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
243 CALL sgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
244 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
245 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
247 CALL sgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
248 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
249 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
251 CALL sgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
252 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
253 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
255 CALL sgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
256 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
257 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
259 CALL sgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
260 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
261 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
264 CALL sgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
265 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
266 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
269 CALL sgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
270 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
271 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
274 CALL sgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
275 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
276 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
278 CALL sgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
279 $ b, 1, x, 2, rcond, r1, r2, w, iw, info )
280 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
282 CALL sgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
283 $ b, 2, x, 1, rcond, r1, r2, w, iw, info )
284 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
286 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
292 CALL sgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
294 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
296 CALL sgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
298 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
300 CALL sgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
301 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
307 CALL sgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
308 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
309 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
310 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
312 CALL sgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
313 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
314 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
315 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
317 CALL sgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
318 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
319 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
320 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
322 CALL sgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
323 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
324 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
325 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
327 CALL sgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
328 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
329 $ ip, b, 1, x, 2, rcond, r1, r2, w, iw, info )
330 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
332 CALL sgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
333 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
334 $ ip, b, 2, x, 1, rcond, r1, r2, w, iw, info )
335 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
337 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
343 CALL sposv(
'/', 0, 0, a, 1, b, 1, info )
344 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
346 CALL sposv(
'U', -1, 0, a, 1, b, 1, info )
347 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
349 CALL sposv(
'U', 0, -1, a, 1, b, 1, info )
350 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
352 CALL sposv(
'U', 2, 0, a, 1, b, 2, info )
353 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
355 CALL sposv(
'U', 2, 0, a, 2, b, 1, info )
356 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
362 CALL sposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
363 $ rcond, r1, r2, w, iw, info )
364 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
366 CALL sposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
367 $ rcond, r1, r2, w, iw, info )
368 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
370 CALL sposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
371 $ rcond, r1, r2, w, iw, info )
372 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
374 CALL sposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
375 $ rcond, r1, r2, w, iw, info )
376 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
378 CALL sposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
379 $ rcond, r1, r2, w, iw, info )
380 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
382 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
383 $ rcond, r1, r2, w, iw, info )
384 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
387 CALL sposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
388 $ rcond, r1, r2, w, iw, info )
389 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
392 CALL sposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
393 $ rcond, r1, r2, w, iw, info )
394 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
396 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
397 $ rcond, r1, r2, w, iw, info )
398 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
400 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
401 $ rcond, r1, r2, w, iw, info )
402 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
404 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
410 CALL sppsv(
'/', 0, 0, a, b, 1, info )
411 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
413 CALL sppsv(
'U', -1, 0, a, b, 1, info )
414 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
416 CALL sppsv(
'U', 0, -1, a, b, 1, info )
417 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
419 CALL sppsv(
'U', 2, 0, a, b, 1, info )
420 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
426 CALL sppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
427 $ r1, r2, w, iw, info )
428 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
430 CALL sppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
431 $ r1, r2, w, iw, info )
432 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
434 CALL sppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
435 $ r1, r2, w, iw, info )
436 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
438 CALL sppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
439 $ r1, r2, w, iw, info )
440 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
443 CALL sppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
444 $ r1, r2, w, iw, info )
445 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
448 CALL sppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
449 $ r1, r2, w, iw, info )
450 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
452 CALL sppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
453 $ r1, r2, w, iw, info )
454 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
456 CALL sppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
457 $ r1, r2, w, iw, info )
458 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
460 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
466 CALL spbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
467 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
469 CALL spbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
470 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
472 CALL spbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
473 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
475 CALL spbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
476 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
478 CALL spbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
479 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
481 CALL spbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
482 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
488 CALL spbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
489 $ rcond, r1, r2, w, iw, info )
490 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
492 CALL spbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
493 $ rcond, r1, r2, w, iw, info )
494 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
496 CALL spbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
497 $ 1, rcond, r1, r2, w, iw, info )
498 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
500 CALL spbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
501 $ 1, rcond, r1, r2, w, iw, info )
502 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
504 CALL spbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
505 $ 1, rcond, r1, r2, w, iw, info )
506 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
508 CALL spbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
509 $ rcond, r1, r2, w, iw, info )
510 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
512 CALL spbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
513 $ rcond, r1, r2, w, iw, info )
514 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
517 CALL spbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
518 $ rcond, r1, r2, w, iw, info )
519 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
522 CALL spbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523 $ rcond, r1, r2, w, iw, info )
524 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
526 CALL spbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
527 $ rcond, r1, r2, w, iw, info )
528 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
530 CALL spbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
531 $ rcond, r1, r2, w, iw, info )
532 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
534 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
540 CALL sptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
541 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
543 CALL sptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
544 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
546 CALL sptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
547 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
553 CALL sptsvx(
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
554 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
555 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
557 CALL sptsvx(
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
558 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
559 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
561 CALL sptsvx(
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
562 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
563 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
565 CALL sptsvx(
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
566 $ af( 1, 2 ), b, 1, x, 2, rcond, r1, r2, w, info )
567 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
569 CALL sptsvx(
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
570 $ af( 1, 2 ), b, 2, x, 1, rcond, r1, r2, w, info )
571 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
573 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
579 CALL ssysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
580 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
582 CALL ssysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
585 CALL ssysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
586 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
588 CALL ssysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
589 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
591 CALL ssysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
592 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
594 CALL ssysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
595 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
601 CALL ssysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
602 $ rcond, r1, r2, w, 1, iw, info )
603 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
605 CALL ssysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
606 $ rcond, r1, r2, w, 1, iw, info )
607 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
609 CALL ssysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
610 $ rcond, r1, r2, w, 1, iw, info )
611 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
613 CALL ssysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
614 $ rcond, r1, r2, w, 1, iw, info )
615 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
617 CALL ssysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
618 $ rcond, r1, r2, w, 4, iw, info )
619 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
621 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
622 $ rcond, r1, r2, w, 4, iw, info )
623 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
625 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
626 $ rcond, r1, r2, w, 4, iw, info )
627 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
629 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
630 $ rcond, r1, r2, w, 4, iw, info )
631 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
633 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
634 $ rcond, r1, r2, w, 3, iw, info )
635 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
638 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
642 srnamt =
'SSYSV_ROOK'
644 CALL ssysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
645 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
647 CALL ssysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
648 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
650 CALL ssysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
651 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
653 CALL ssysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
654 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
656 CALL ssysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
657 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
659 CALL ssysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
660 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
662 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
676 CALL ssysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
677 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
679 CALL ssysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
680 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
682 CALL ssysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
683 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
685 CALL ssysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
686 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
688 CALL ssysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
689 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
691 CALL ssysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
692 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
694 CALL ssysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
695 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
697 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN
703 CALL ssysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
704 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
706 CALL ssysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
707 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
709 CALL ssysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
710 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
712 CALL ssysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
713 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
715 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
721 CALL sspsv(
'/', 0, 0, a, ip, b, 1, info )
722 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
724 CALL sspsv(
'U', -1, 0, a, ip, b, 1, info )
725 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
727 CALL sspsv(
'U', 0, -1, a, ip, b, 1, info )
728 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
730 CALL sspsv(
'U', 2, 0, a, ip, b, 1, info )
731 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
737 CALL sspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
739 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
741 CALL sspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
743 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
745 CALL sspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
747 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
749 CALL sspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
751 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
753 CALL sspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
755 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
757 CALL sspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
759 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
765 WRITE( nout, fmt = 9999 )path
767 WRITE( nout, fmt = 9998 )path
770 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
771 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine sspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
SSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine sgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
subroutine sgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
SGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
subroutine sgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine ssysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, IWORK, INFO)
SSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine spbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
SPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine sptsv(N, NRHS, D, E, B, LDB, INFO)
SPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine sgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine sspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine sptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, INFO)
SPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine sppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine sposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
SPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine sppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine ssysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine ssysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine serrvx(PATH, NUNIT)
SERRVX
subroutine ssysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine ssysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine spbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine sgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine sposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine sgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
SGTSV computes the solution to system of linear equations A * X = B for GT matrices ...