72 parameter ( nmax = 4 )
81 INTEGER ip( nmax ), iw( nmax )
82 REAL a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
83 $ c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
84 $ 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 )
133 IF(
lsamen( 2, c2,
'GE' ) )
THEN
139 CALL sgesv( -1, 0, a, 1, ip, b, 1, info )
140 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
142 CALL sgesv( 0, -1, a, 1, ip, b, 1, info )
143 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
145 CALL sgesv( 2, 1, a, 1, ip, b, 2, info )
146 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
148 CALL sgesv( 2, 1, a, 2, ip, b, 1, info )
149 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
155 CALL sgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
156 $ x, 1, rcond, r1, r2, w, iw, info )
157 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
159 CALL sgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
160 $ x, 1, rcond, r1, r2, w, iw, info )
161 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
163 CALL sgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
164 $ x, 1, rcond, r1, r2, w, iw, info )
165 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
167 CALL sgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
168 $ x, 1, rcond, r1, r2, w, iw, info )
169 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
171 CALL sgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
172 $ x, 2, rcond, r1, r2, w, iw, info )
173 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
175 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
176 $ x, 2, rcond, r1, r2, w, iw, info )
177 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
180 CALL sgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
181 $ x, 1, rcond, r1, r2, w, iw, info )
182 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
185 CALL sgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
186 $ x, 1, rcond, r1, r2, w, iw, info )
187 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
190 CALL sgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
191 $ x, 1, rcond, r1, r2, w, iw, info )
192 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
194 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
195 $ x, 2, rcond, r1, r2, w, iw, info )
196 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
198 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
199 $ x, 1, rcond, r1, r2, w, iw, info )
200 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
202 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
208 CALL sgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
209 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
211 CALL sgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
212 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
214 CALL sgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
215 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
217 CALL sgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
218 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
220 CALL sgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
221 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
223 CALL sgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
224 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
230 CALL sgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
231 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
232 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
234 CALL sgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
235 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
236 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
238 CALL sgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
239 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
240 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
242 CALL sgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
243 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
244 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
246 CALL sgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
247 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
248 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
250 CALL sgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
251 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
252 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
254 CALL sgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
255 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
256 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
258 CALL sgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
259 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
260 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
263 CALL sgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
264 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
265 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
268 CALL sgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
269 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
270 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
273 CALL sgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
274 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
275 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
277 CALL sgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
278 $ b, 1, x, 2, rcond, r1, r2, w, iw, info )
279 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
281 CALL sgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
282 $ b, 2, x, 1, rcond, r1, r2, w, iw, info )
283 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
285 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
291 CALL sgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
293 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
295 CALL sgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
297 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
299 CALL sgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
300 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
306 CALL sgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
307 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
308 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
309 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
311 CALL sgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
312 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
313 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
314 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
316 CALL sgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
317 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
318 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
319 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
321 CALL sgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
322 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
323 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
324 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
326 CALL sgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
327 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
328 $ ip, b, 1, x, 2, rcond, r1, r2, w, iw, info )
329 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
331 CALL sgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
332 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
333 $ ip, b, 2, x, 1, rcond, r1, r2, w, iw, info )
334 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
336 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
342 CALL sposv(
'/', 0, 0, a, 1, b, 1, info )
343 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
345 CALL sposv(
'U', -1, 0, a, 1, b, 1, info )
346 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
348 CALL sposv(
'U', 0, -1, a, 1, b, 1, info )
349 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
351 CALL sposv(
'U', 2, 0, a, 1, b, 2, info )
352 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
354 CALL sposv(
'U', 2, 0, a, 2, b, 1, info )
355 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
361 CALL sposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
362 $ rcond, r1, r2, w, iw, info )
363 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
365 CALL sposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
366 $ rcond, r1, r2, w, iw, info )
367 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
369 CALL sposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
370 $ rcond, r1, r2, w, iw, info )
371 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
373 CALL sposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
374 $ rcond, r1, r2, w, iw, info )
375 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
377 CALL sposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
378 $ rcond, r1, r2, w, iw, info )
379 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
381 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
382 $ rcond, r1, r2, w, iw, info )
383 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
386 CALL sposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
387 $ rcond, r1, r2, w, iw, info )
388 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
391 CALL sposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
392 $ rcond, r1, r2, w, iw, info )
393 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
395 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
396 $ rcond, r1, r2, w, iw, info )
397 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
399 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
400 $ rcond, r1, r2, w, iw, info )
401 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
403 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
409 CALL sppsv(
'/', 0, 0, a, b, 1, info )
410 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
412 CALL sppsv(
'U', -1, 0, a, b, 1, info )
413 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
415 CALL sppsv(
'U', 0, -1, a, b, 1, info )
416 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
418 CALL sppsv(
'U', 2, 0, a, b, 1, info )
419 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
425 CALL sppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
426 $ r1, r2, w, iw, info )
427 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
429 CALL sppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
430 $ r1, r2, w, iw, info )
431 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
433 CALL sppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
434 $ r1, r2, w, iw, info )
435 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
437 CALL sppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
438 $ r1, r2, w, iw, info )
439 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
442 CALL sppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
443 $ r1, r2, w, iw, info )
444 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
447 CALL sppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
448 $ r1, r2, w, iw, info )
449 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
451 CALL sppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
452 $ r1, r2, w, iw, info )
453 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
455 CALL sppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
456 $ r1, r2, w, iw, info )
457 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
459 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
465 CALL spbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
466 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
468 CALL spbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
469 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
471 CALL spbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
472 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
474 CALL spbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
475 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
477 CALL spbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
478 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
480 CALL spbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
481 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
487 CALL spbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
488 $ rcond, r1, r2, w, iw, info )
489 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
491 CALL spbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
492 $ rcond, r1, r2, w, iw, info )
493 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
495 CALL spbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
496 $ 1, rcond, r1, r2, w, iw, info )
497 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
499 CALL spbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
500 $ 1, rcond, r1, r2, w, iw, info )
501 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
503 CALL spbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
504 $ 1, rcond, r1, r2, w, iw, info )
505 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
507 CALL spbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
508 $ rcond, r1, r2, w, iw, info )
509 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
511 CALL spbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
512 $ rcond, r1, r2, w, iw, info )
513 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
516 CALL spbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
517 $ rcond, r1, r2, w, iw, info )
518 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
521 CALL spbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
522 $ rcond, r1, r2, w, iw, info )
523 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
525 CALL spbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
526 $ rcond, r1, r2, w, iw, info )
527 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
529 CALL spbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
530 $ rcond, r1, r2, w, iw, info )
531 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
533 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
539 CALL sptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
540 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
542 CALL sptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
543 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
545 CALL sptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
546 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
552 CALL sptsvx(
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
553 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
554 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
556 CALL sptsvx(
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
557 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
558 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
560 CALL sptsvx(
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
561 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
562 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
564 CALL sptsvx(
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
565 $ af( 1, 2 ), b, 1, x, 2, rcond, r1, r2, w, info )
566 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
568 CALL sptsvx(
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
569 $ af( 1, 2 ), b, 2, x, 1, rcond, r1, r2, w, info )
570 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
572 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
578 CALL ssysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
579 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
581 CALL ssysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
582 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
584 CALL ssysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
585 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
587 CALL ssysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
588 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
594 CALL ssysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
595 $ rcond, r1, r2, w, 1, iw, info )
596 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
598 CALL ssysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
599 $ rcond, r1, r2, w, 1, iw, info )
600 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
602 CALL ssysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
603 $ rcond, r1, r2, w, 1, iw, info )
604 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
606 CALL ssysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
607 $ rcond, r1, r2, w, 1, iw, info )
608 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
610 CALL ssysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
611 $ rcond, r1, r2, w, 4, iw, info )
612 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
614 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
615 $ rcond, r1, r2, w, 4, iw, info )
616 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
618 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
619 $ rcond, r1, r2, w, 4, iw, info )
620 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
622 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
623 $ rcond, r1, r2, w, 4, iw, info )
624 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
626 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
627 $ rcond, r1, r2, w, 3, iw, info )
628 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
630 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
634 srnamt =
'SSYSV_ROOK'
636 CALL ssysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
637 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
639 CALL ssysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
640 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
642 CALL ssysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
643 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
645 CALL ssysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
646 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
648 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
654 CALL sspsv(
'/', 0, 0, a, ip, b, 1, info )
655 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
657 CALL sspsv(
'U', -1, 0, a, ip, b, 1, info )
658 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
660 CALL sspsv(
'U', 0, -1, a, ip, b, 1, info )
661 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
663 CALL sspsv(
'U', 2, 0, a, ip, b, 1, info )
664 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
670 CALL sspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
672 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
674 CALL sspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
676 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
678 CALL sspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
680 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
682 CALL sspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
684 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
686 CALL sspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
688 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
690 CALL sspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
692 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
698 WRITE( nout, fmt = 9999 )path
700 WRITE( nout, fmt = 9998 )path
703 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
704 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
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 ...
logical function lsamen(N, CA, CB)
LSAMEN
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 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 sptsv(N, NRHS, D, E, B, LDB, INFO)
SPTSV computes the solution to system of linear equations A * X = B for PT 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 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 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 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 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 sppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPSV computes the solution to system of linear equations A * X = B for OTHER 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 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 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 ...