78 INTEGER IP( NMAX ), IW( NMAX )
79 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
80 $ C( NMAX ), E( NMAX ), R( NMAX ), R1( NMAX ),
81 $ R2( NMAX ), W( 2*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 )
132 IF( lsamen( 2, c2,
'GE' ) )
THEN
138 CALL sgesv( -1, 0, a, 1, ip, b, 1, info )
139 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
141 CALL sgesv( 0, -1, a, 1, ip, b, 1, info )
142 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
144 CALL sgesv( 2, 1, a, 1, ip, b, 2, info )
145 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
147 CALL sgesv( 2, 1, a, 2, ip, b, 1, info )
148 CALL chkxer(
'SGESV ', infot, nout, lerr, ok )
154 CALL sgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
155 $ x, 1, rcond, r1, r2, w, iw, info )
156 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
158 CALL sgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
159 $ x, 1, rcond, r1, r2, w, iw, info )
160 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
162 CALL sgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
163 $ x, 1, rcond, r1, r2, w, iw, info )
164 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
166 CALL sgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
167 $ x, 1, rcond, r1, r2, w, iw, info )
168 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
170 CALL sgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
171 $ x, 2, rcond, r1, r2, w, iw, info )
172 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
174 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
175 $ x, 2, rcond, r1, r2, w, iw, info )
176 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
179 CALL sgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
180 $ x, 1, rcond, r1, r2, w, iw, info )
181 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
184 CALL sgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
185 $ x, 1, rcond, r1, r2, w, iw, info )
186 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
189 CALL sgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
190 $ x, 1, rcond, r1, r2, w, iw, info )
191 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
193 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
194 $ x, 2, rcond, r1, r2, w, iw, info )
195 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
197 CALL sgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
198 $ x, 1, rcond, r1, r2, w, iw, info )
199 CALL chkxer(
'SGESVX', infot, nout, lerr, ok )
201 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
207 CALL sgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
208 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
210 CALL sgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
211 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
213 CALL sgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
214 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
216 CALL sgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
217 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
219 CALL sgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
220 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
222 CALL sgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
223 CALL chkxer(
'SGBSV ', infot, nout, lerr, ok )
229 CALL sgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
230 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
231 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
233 CALL sgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
234 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
235 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
237 CALL sgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
238 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
239 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
241 CALL sgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
242 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
243 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
245 CALL sgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
246 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
247 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
249 CALL sgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
250 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
251 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
253 CALL sgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
254 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
255 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
257 CALL sgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
258 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
259 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
262 CALL sgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
263 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
264 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
267 CALL sgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
268 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
269 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
272 CALL sgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
273 $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
274 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
276 CALL sgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
277 $ b, 1, x, 2, rcond, r1, r2, w, iw, info )
278 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
280 CALL sgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
281 $ b, 2, x, 1, rcond, r1, r2, w, iw, info )
282 CALL chkxer(
'SGBSVX', infot, nout, lerr, ok )
284 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
290 CALL sgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
292 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
294 CALL sgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
296 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
298 CALL sgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
299 CALL chkxer(
'SGTSV ', infot, nout, lerr, ok )
305 CALL sgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
306 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
307 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
308 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
310 CALL sgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
311 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
312 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
313 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
315 CALL sgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
316 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
317 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
318 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
320 CALL sgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
321 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
322 $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
323 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
325 CALL sgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
326 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
327 $ ip, b, 1, x, 2, rcond, r1, r2, w, iw, info )
328 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
330 CALL sgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
331 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
332 $ ip, b, 2, x, 1, rcond, r1, r2, w, iw, info )
333 CALL chkxer(
'SGTSVX', infot, nout, lerr, ok )
335 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
341 CALL sposv(
'/', 0, 0, a, 1, b, 1, info )
342 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
344 CALL sposv(
'U', -1, 0, a, 1, b, 1, info )
345 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
347 CALL sposv(
'U', 0, -1, a, 1, b, 1, info )
348 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
350 CALL sposv(
'U', 2, 0, a, 1, b, 2, info )
351 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
353 CALL sposv(
'U', 2, 0, a, 2, b, 1, info )
354 CALL chkxer(
'SPOSV ', infot, nout, lerr, ok )
360 CALL sposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
361 $ rcond, r1, r2, w, iw, info )
362 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
364 CALL sposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
365 $ rcond, r1, r2, w, iw, info )
366 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
368 CALL sposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
369 $ rcond, r1, r2, w, iw, info )
370 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
372 CALL sposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
373 $ rcond, r1, r2, w, iw, info )
374 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
376 CALL sposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
377 $ rcond, r1, r2, w, iw, info )
378 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
380 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
381 $ rcond, r1, r2, w, iw, info )
382 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
385 CALL sposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
386 $ rcond, r1, r2, w, iw, info )
387 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
390 CALL sposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
391 $ rcond, r1, r2, w, iw, info )
392 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
394 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
395 $ rcond, r1, r2, w, iw, info )
396 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
398 CALL sposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
399 $ rcond, r1, r2, w, iw, info )
400 CALL chkxer(
'SPOSVX', infot, nout, lerr, ok )
402 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
408 CALL sppsv(
'/', 0, 0, a, b, 1, info )
409 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
411 CALL sppsv(
'U', -1, 0, a, b, 1, info )
412 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
414 CALL sppsv(
'U', 0, -1, a, b, 1, info )
415 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
417 CALL sppsv(
'U', 2, 0, a, b, 1, info )
418 CALL chkxer(
'SPPSV ', infot, nout, lerr, ok )
424 CALL sppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
425 $ r1, r2, w, iw, info )
426 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
428 CALL sppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
429 $ r1, r2, w, iw, info )
430 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
432 CALL sppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
433 $ r1, r2, w, iw, info )
434 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
436 CALL sppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
437 $ r1, r2, w, iw, info )
438 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
441 CALL sppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
442 $ r1, r2, w, iw, info )
443 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
446 CALL sppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
447 $ r1, r2, w, iw, info )
448 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
450 CALL sppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
451 $ r1, r2, w, iw, info )
452 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
454 CALL sppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
455 $ r1, r2, w, iw, info )
456 CALL chkxer(
'SPPSVX', infot, nout, lerr, ok )
458 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
464 CALL spbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
465 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
467 CALL spbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
468 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
470 CALL spbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
471 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
473 CALL spbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
474 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
476 CALL spbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
477 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
479 CALL spbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
480 CALL chkxer(
'SPBSV ', infot, nout, lerr, ok )
486 CALL spbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
487 $ rcond, r1, r2, w, iw, info )
488 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
490 CALL spbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
491 $ rcond, r1, r2, w, iw, info )
492 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
494 CALL spbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
495 $ 1, rcond, r1, r2, w, iw, info )
496 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
498 CALL spbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
499 $ 1, rcond, r1, r2, w, iw, info )
500 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
502 CALL spbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
503 $ 1, rcond, r1, r2, w, iw, info )
504 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
506 CALL spbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
507 $ rcond, r1, r2, w, iw, info )
508 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
510 CALL spbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
511 $ rcond, r1, r2, w, iw, info )
512 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
515 CALL spbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
516 $ rcond, r1, r2, w, iw, info )
517 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
520 CALL spbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
521 $ rcond, r1, r2, w, iw, info )
522 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
524 CALL spbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
525 $ rcond, r1, r2, w, iw, info )
526 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
528 CALL spbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
529 $ rcond, r1, r2, w, iw, info )
530 CALL chkxer(
'SPBSVX', infot, nout, lerr, ok )
532 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
538 CALL sptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
539 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
541 CALL sptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
542 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
544 CALL sptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
545 CALL chkxer(
'SPTSV ', infot, nout, lerr, ok )
551 CALL sptsvx(
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
552 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
553 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
555 CALL sptsvx(
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
556 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
557 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
559 CALL sptsvx(
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
560 $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
561 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
563 CALL sptsvx(
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
564 $ af( 1, 2 ), b, 1, x, 2, rcond, r1, r2, w, info )
565 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
567 CALL sptsvx(
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
568 $ af( 1, 2 ), b, 2, x, 1, rcond, r1, r2, w, info )
569 CALL chkxer(
'SPTSVX', infot, nout, lerr, ok )
571 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
577 CALL ssysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
578 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
580 CALL ssysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
581 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
583 CALL ssysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
584 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
586 CALL ssysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
587 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
589 CALL ssysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
590 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
592 CALL ssysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
593 CALL chkxer(
'SSYSV ', infot, nout, lerr, ok )
599 CALL ssysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
600 $ rcond, r1, r2, w, 1, iw, info )
601 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
603 CALL ssysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
604 $ rcond, r1, r2, w, 1, iw, info )
605 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
607 CALL ssysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
608 $ rcond, r1, r2, w, 1, iw, info )
609 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
611 CALL ssysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
612 $ rcond, r1, r2, w, 1, iw, info )
613 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
615 CALL ssysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
616 $ rcond, r1, r2, w, 4, iw, info )
617 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
619 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
620 $ rcond, r1, r2, w, 4, iw, info )
621 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
623 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
624 $ rcond, r1, r2, w, 4, iw, info )
625 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
627 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
628 $ rcond, r1, r2, w, 4, iw, info )
629 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
631 CALL ssysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
632 $ rcond, r1, r2, w, 3, iw, info )
633 CALL chkxer(
'SSYSVX', infot, nout, lerr, ok )
636 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
640 srnamt =
'SSYSV_ROOK'
642 CALL ssysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
643 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
645 CALL ssysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
646 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
648 CALL ssysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
649 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
651 CALL ssysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
652 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
654 CALL ssysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
655 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
657 CALL ssysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
658 CALL chkxer(
'SSYSV_ROOK', infot, nout, lerr, ok )
660 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
674 CALL ssysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
675 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
677 CALL ssysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
678 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
680 CALL ssysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
681 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
683 CALL ssysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
684 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
686 CALL ssysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
687 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
689 CALL ssysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
690 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
692 CALL ssysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
693 CALL chkxer(
'SSYSV_RK', infot, nout, lerr, ok )
695 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN
701 CALL ssysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
702 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
704 CALL ssysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
705 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
707 CALL ssysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
708 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
710 CALL ssysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
711 CALL chkxer(
'SSYSV_AA', infot, nout, lerr, ok )
713 ELSE IF( lsamen( 2, c2,
'S2' ) )
THEN
717 srnamt =
'SSYSV_AA_2STAGE'
719 CALL ssysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
721 CALL chkxer(
'SSYSV_AA_2STAGE', infot, nout, lerr, ok )
723 CALL ssysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
725 CALL chkxer(
'SSYSV_AA_2STAGE', infot, nout, lerr, ok )
727 CALL ssysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
729 CALL chkxer(
'SSYSV_AA_2STAGE', infot, nout, lerr, ok )
731 CALL ssysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
733 CALL chkxer(
'SSYSV_AA_2STAGE', infot, nout, lerr, ok )
735 CALL ssysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
737 CALL chkxer(
'SSYSV_AA_2STAGE', infot, nout, lerr, ok )
739 CALL ssysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
741 CALL chkxer(
'SSYSV_AA_2STAGE', infot, nout, lerr, ok )
743 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
749 CALL sspsv(
'/', 0, 0, a, ip, b, 1, info )
750 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
752 CALL sspsv(
'U', -1, 0, a, ip, b, 1, info )
753 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
755 CALL sspsv(
'U', 0, -1, a, ip, b, 1, info )
756 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
758 CALL sspsv(
'U', 2, 0, a, ip, b, 1, info )
759 CALL chkxer(
'SSPSV ', infot, nout, lerr, ok )
765 CALL sspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
767 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
769 CALL sspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
771 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
773 CALL sspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
775 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
777 CALL sspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
779 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
781 CALL sspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
783 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
785 CALL sspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
787 CALL chkxer(
'SSPSVX', infot, nout, lerr, ok )
793 WRITE( nout, fmt = 9999 )path
795 WRITE( nout, fmt = 9998 )path
798 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
799 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
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 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 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 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 sgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
SGTSV computes the solution to system of linear equations A * X = B for GT 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 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 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 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 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 sppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPSV computes the solution to system of linear equations A * X = B for OTHER 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 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 sptsv(N, NRHS, D, E, B, LDB, INFO)
SPTSV computes the solution to system of linear equations A * X = B for PT 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 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_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
SSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY 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 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 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 serrvx(PATH, NUNIT)
SERRVX
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