72 parameter ( nmax = 4 )
78 DOUBLE PRECISION rcond
81 INTEGER ip( nmax ), iw( nmax )
82 DOUBLE PRECISION 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.d0 / dble( i+j )
119 af( i, j ) = 1.d0 / dble( i+j )
133 IF(
lsamen( 2, c2,
'GE' ) )
THEN
139 CALL dgesv( -1, 0, a, 1, ip, b, 1, info )
140 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
142 CALL dgesv( 0, -1, a, 1, ip, b, 1, info )
143 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
145 CALL dgesv( 2, 1, a, 1, ip, b, 2, info )
146 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
148 CALL dgesv( 2, 1, a, 2, ip, b, 1, info )
149 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
155 CALL dgesvx(
'/',
'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(
'DGESVX', infot, nout, lerr, ok )
159 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
163 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
167 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
171 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
175 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
180 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
185 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
190 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
194 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
198 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
202 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
208 CALL dgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
209 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
211 CALL dgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
212 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
214 CALL dgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
215 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
217 CALL dgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
218 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
220 CALL dgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
221 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
223 CALL dgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
224 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
230 CALL dgbsvx(
'/',
'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(
'DGBSVX', infot, nout, lerr, ok )
234 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
238 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
242 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
246 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
250 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
254 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
258 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
263 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
268 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
273 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
277 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
281 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
285 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
291 CALL dgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
293 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
295 CALL dgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
297 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
299 CALL dgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
300 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
306 CALL dgtsvx(
'/',
'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(
'DGTSVX', infot, nout, lerr, ok )
311 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
316 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
321 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
326 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
331 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
336 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
342 CALL dposv(
'/', 0, 0, a, 1, b, 1, info )
343 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
345 CALL dposv(
'U', -1, 0, a, 1, b, 1, info )
346 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
348 CALL dposv(
'U', 0, -1, a, 1, b, 1, info )
349 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
351 CALL dposv(
'U', 2, 0, a, 1, b, 2, info )
352 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
354 CALL dposv(
'U', 2, 0, a, 2, b, 1, info )
355 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
361 CALL dposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
362 $ rcond, r1, r2, w, iw, info )
363 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
365 CALL dposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
366 $ rcond, r1, r2, w, iw, info )
367 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
369 CALL dposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
370 $ rcond, r1, r2, w, iw, info )
371 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
373 CALL dposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
374 $ rcond, r1, r2, w, iw, info )
375 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
377 CALL dposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
378 $ rcond, r1, r2, w, iw, info )
379 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
381 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
382 $ rcond, r1, r2, w, iw, info )
383 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
386 CALL dposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
387 $ rcond, r1, r2, w, iw, info )
388 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
391 CALL dposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
392 $ rcond, r1, r2, w, iw, info )
393 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
395 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
396 $ rcond, r1, r2, w, iw, info )
397 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
399 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
400 $ rcond, r1, r2, w, iw, info )
401 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
403 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
409 CALL dppsv(
'/', 0, 0, a, b, 1, info )
410 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
412 CALL dppsv(
'U', -1, 0, a, b, 1, info )
413 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
415 CALL dppsv(
'U', 0, -1, a, b, 1, info )
416 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
418 CALL dppsv(
'U', 2, 0, a, b, 1, info )
419 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
425 CALL dppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
426 $ r1, r2, w, iw, info )
427 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
429 CALL dppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
430 $ r1, r2, w, iw, info )
431 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
433 CALL dppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
434 $ r1, r2, w, iw, info )
435 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
437 CALL dppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
438 $ r1, r2, w, iw, info )
439 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
442 CALL dppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
443 $ r1, r2, w, iw, info )
444 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
447 CALL dppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
448 $ r1, r2, w, iw, info )
449 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
451 CALL dppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
452 $ r1, r2, w, iw, info )
453 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
455 CALL dppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
456 $ r1, r2, w, iw, info )
457 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
459 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
465 CALL dpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
466 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
468 CALL dpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
469 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
471 CALL dpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
472 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
474 CALL dpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
475 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
477 CALL dpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
478 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
480 CALL dpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
481 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
487 CALL dpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
488 $ rcond, r1, r2, w, iw, info )
489 CALL chkxer(
'DPBSVX', infot, nout, lerr, ok )
491 CALL dpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
492 $ rcond, r1, r2, w, iw, info )
493 CALL chkxer(
'DPBSVX', infot, nout, lerr, ok )
495 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
499 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
503 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
507 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
511 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
516 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
521 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
525 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
529 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
533 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
539 CALL dptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
540 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
542 CALL dptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
543 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
545 CALL dptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
546 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
552 CALL dptsvx(
'/', 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(
'DPTSVX', infot, nout, lerr, ok )
556 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
560 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
564 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
568 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
572 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
578 CALL dsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
579 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
581 CALL dsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
582 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
584 CALL dsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
585 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
587 CALL dsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
588 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
594 CALL dsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
595 $ rcond, r1, r2, w, 1, iw, info )
596 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
598 CALL dsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
599 $ rcond, r1, r2, w, 1, iw, info )
600 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
602 CALL dsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
603 $ rcond, r1, r2, w, 1, iw, info )
604 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
606 CALL dsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
607 $ rcond, r1, r2, w, 1, iw, info )
608 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
610 CALL dsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
611 $ rcond, r1, r2, w, 4, iw, info )
612 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
614 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
615 $ rcond, r1, r2, w, 4, iw, info )
616 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
618 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
619 $ rcond, r1, r2, w, 4, iw, info )
620 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
622 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
623 $ rcond, r1, r2, w, 4, iw, info )
624 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
626 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
627 $ rcond, r1, r2, w, 3, iw, info )
628 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
630 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
634 srnamt =
'DSYSV_ROOK'
636 CALL dsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
637 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
639 CALL dsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
640 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
642 CALL dsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
643 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
645 CALL dsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
646 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
648 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
654 CALL dspsv(
'/', 0, 0, a, ip, b, 1, info )
655 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
657 CALL dspsv(
'U', -1, 0, a, ip, b, 1, info )
658 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
660 CALL dspsv(
'U', 0, -1, a, ip, b, 1, info )
661 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
663 CALL dspsv(
'U', 2, 0, a, ip, b, 1, info )
664 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
670 CALL dspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
672 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
674 CALL dspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
676 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
678 CALL dspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
680 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
682 CALL dspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
684 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
686 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
688 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
690 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
692 CALL chkxer(
'DSPSVX', 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 dgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
DGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine dspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
DSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine dspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine dposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
DPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine dgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine dpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
DPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine dppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
DPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine dgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
DGESV computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine dppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine dpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine dgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine dgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine dsysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, IWORK, INFO)
DSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine dsysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
DSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine dgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
DGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
subroutine dposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
DPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine dptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, INFO)
DPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine dptsv(N, NRHS, D, E, B, LDB, INFO)
DPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine dsysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
DSYSV computes the solution to system of linear equations A * X = B for SY matrices ...