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 ), 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.d0 / dble( i+j )
119 af( i, j ) = 1.d0 / dble( i+j )
134 IF(
lsamen( 2, c2,
'GE' ) )
THEN
140 CALL dgesv( -1, 0, a, 1, ip, b, 1, info )
141 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
143 CALL dgesv( 0, -1, a, 1, ip, b, 1, info )
144 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
146 CALL dgesv( 2, 1, a, 1, ip, b, 2, info )
147 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
149 CALL dgesv( 2, 1, a, 2, ip, b, 1, info )
150 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
156 CALL dgesvx(
'/',
'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(
'DGESVX', infot, nout, lerr, ok )
160 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
164 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
168 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
172 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
176 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
181 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
186 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
191 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
195 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
199 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
203 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
209 CALL dgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
210 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
212 CALL dgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
213 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
215 CALL dgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
216 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
218 CALL dgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
219 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
221 CALL dgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
222 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
224 CALL dgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
225 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
231 CALL dgbsvx(
'/',
'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(
'DGBSVX', infot, nout, lerr, ok )
235 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
239 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
243 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
247 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
251 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
255 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
259 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
264 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
269 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
274 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
278 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
282 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
286 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
292 CALL dgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
294 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
296 CALL dgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
298 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
300 CALL dgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
301 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
307 CALL dgtsvx(
'/',
'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(
'DGTSVX', infot, nout, lerr, ok )
312 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
317 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
322 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
327 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
332 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
337 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
343 CALL dposv(
'/', 0, 0, a, 1, b, 1, info )
344 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
346 CALL dposv(
'U', -1, 0, a, 1, b, 1, info )
347 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
349 CALL dposv(
'U', 0, -1, a, 1, b, 1, info )
350 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
352 CALL dposv(
'U', 2, 0, a, 1, b, 2, info )
353 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
355 CALL dposv(
'U', 2, 0, a, 2, b, 1, info )
356 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
362 CALL dposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
363 $ rcond, r1, r2, w, iw, info )
364 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
366 CALL dposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
367 $ rcond, r1, r2, w, iw, info )
368 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
370 CALL dposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
371 $ rcond, r1, r2, w, iw, info )
372 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
374 CALL dposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
375 $ rcond, r1, r2, w, iw, info )
376 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
378 CALL dposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
379 $ rcond, r1, r2, w, iw, info )
380 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
382 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
383 $ rcond, r1, r2, w, iw, info )
384 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
387 CALL dposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
388 $ rcond, r1, r2, w, iw, info )
389 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
392 CALL dposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
393 $ rcond, r1, r2, w, iw, info )
394 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
396 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
397 $ rcond, r1, r2, w, iw, info )
398 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
400 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
401 $ rcond, r1, r2, w, iw, info )
402 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
404 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
410 CALL dppsv(
'/', 0, 0, a, b, 1, info )
411 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
413 CALL dppsv(
'U', -1, 0, a, b, 1, info )
414 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
416 CALL dppsv(
'U', 0, -1, a, b, 1, info )
417 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
419 CALL dppsv(
'U', 2, 0, a, b, 1, info )
420 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
426 CALL dppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
427 $ r1, r2, w, iw, info )
428 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
430 CALL dppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
431 $ r1, r2, w, iw, info )
432 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
434 CALL dppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
435 $ r1, r2, w, iw, info )
436 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
438 CALL dppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
439 $ r1, r2, w, iw, info )
440 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
443 CALL dppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
444 $ r1, r2, w, iw, info )
445 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
448 CALL dppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
449 $ r1, r2, w, iw, info )
450 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
452 CALL dppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
453 $ r1, r2, w, iw, info )
454 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
456 CALL dppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
457 $ r1, r2, w, iw, info )
458 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
460 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
466 CALL dpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
467 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
469 CALL dpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
470 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
472 CALL dpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
473 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
475 CALL dpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
476 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
478 CALL dpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
479 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
481 CALL dpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
482 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
488 CALL dpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
489 $ rcond, r1, r2, w, iw, info )
490 CALL chkxer(
'DPBSVX', infot, nout, lerr, ok )
492 CALL dpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
493 $ rcond, r1, r2, w, iw, info )
494 CALL chkxer(
'DPBSVX', infot, nout, lerr, ok )
496 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
500 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
504 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
508 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
512 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
517 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
522 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
526 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
530 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
534 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
540 CALL dptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
541 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
543 CALL dptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
544 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
546 CALL dptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
547 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
553 CALL dptsvx(
'/', 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(
'DPTSVX', infot, nout, lerr, ok )
557 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
561 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
565 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
569 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
573 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
579 CALL dsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
580 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
582 CALL dsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
585 CALL dsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
586 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
588 CALL dsysv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
589 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
591 CALL dsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
592 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
594 CALL dsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
595 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
597 CALL dsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
598 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
604 CALL dsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
605 $ rcond, r1, r2, w, 1, iw, info )
606 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
608 CALL dsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
609 $ rcond, r1, r2, w, 1, iw, info )
610 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
612 CALL dsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
613 $ rcond, r1, r2, w, 1, iw, info )
614 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
616 CALL dsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
617 $ rcond, r1, r2, w, 1, iw, info )
618 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
620 CALL dsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
621 $ rcond, r1, r2, w, 4, iw, info )
622 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
624 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
625 $ rcond, r1, r2, w, 4, iw, info )
626 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
628 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
629 $ rcond, r1, r2, w, 4, iw, info )
630 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
632 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
633 $ rcond, r1, r2, w, 4, iw, info )
634 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
636 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
637 $ rcond, r1, r2, w, 3, iw, info )
638 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
640 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
644 srnamt =
'DSYSV_ROOK'
646 CALL dsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
647 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
649 CALL dsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
650 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
652 CALL dsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
653 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
655 CALL dsysv_rook(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
656 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
658 CALL dsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
659 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
661 CALL dsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
662 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
664 CALL dsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
665 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
667 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
681 CALL dsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
682 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
684 CALL dsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
685 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
687 CALL dsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
688 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
690 CALL dsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
691 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
693 CALL dsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
694 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
696 CALL dsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
697 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
699 CALL dsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
700 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
702 ELSE IF(
lsamen( 2, c2,
'SA' ) )
THEN
708 CALL dsysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
709 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
711 CALL dsysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
712 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
714 CALL dsysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
715 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
717 CALL dsysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
718 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
720 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
726 CALL dspsv(
'/', 0, 0, a, ip, b, 1, info )
727 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
729 CALL dspsv(
'U', -1, 0, a, ip, b, 1, info )
730 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
732 CALL dspsv(
'U', 0, -1, a, ip, b, 1, info )
733 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
735 CALL dspsv(
'U', 2, 0, a, ip, b, 1, info )
736 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
742 CALL dspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
744 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
746 CALL dspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
748 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
750 CALL dspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
752 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
754 CALL dspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
756 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
758 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
760 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
762 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
764 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
770 WRITE( nout, fmt = 9999 )path
772 WRITE( nout, fmt = 9998 )path
775 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
776 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 dsysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
DSYSV_AA computes the solution to system of linear equations A * X = B for SY 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 ...
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 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 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 ...
logical function lsamen(N, CA, CB)
LSAMEN
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 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 dppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
DPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
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 dsysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
DSYSV_RK computes the solution to system of linear equations A * X = B for SY 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 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 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 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 ...