75 DOUBLE PRECISION RCOND
78 INTEGER IP( NMAX ), IW( NMAX )
79 DOUBLE PRECISION 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.d0 / dble( i+j )
117 af( i, j ) = 1.d0 / dble( i+j )
132 IF( lsamen( 2, c2,
'GE' ) )
THEN
138 CALL dgesv( -1, 0, a, 1, ip, b, 1, info )
139 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
141 CALL dgesv( 0, -1, a, 1, ip, b, 1, info )
142 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
144 CALL dgesv( 2, 1, a, 1, ip, b, 2, info )
145 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
147 CALL dgesv( 2, 1, a, 2, ip, b, 1, info )
148 CALL chkxer(
'DGESV ', infot, nout, lerr, ok )
154 CALL dgesvx(
'/',
'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(
'DGESVX', infot, nout, lerr, ok )
158 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
162 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
166 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
170 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
174 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
179 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
184 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
189 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
193 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
197 CALL dgesvx(
'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(
'DGESVX', infot, nout, lerr, ok )
201 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
207 CALL dgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
208 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
210 CALL dgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
211 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
213 CALL dgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
214 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
216 CALL dgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
217 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
219 CALL dgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
220 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
222 CALL dgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
223 CALL chkxer(
'DGBSV ', infot, nout, lerr, ok )
229 CALL dgbsvx(
'/',
'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(
'DGBSVX', infot, nout, lerr, ok )
233 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
237 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
241 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
245 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
249 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
253 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
257 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
262 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
267 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
272 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
276 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
280 CALL dgbsvx(
'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(
'DGBSVX', infot, nout, lerr, ok )
284 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
290 CALL dgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
292 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
294 CALL dgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
296 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
298 CALL dgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
299 CALL chkxer(
'DGTSV ', infot, nout, lerr, ok )
305 CALL dgtsvx(
'/',
'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(
'DGTSVX', infot, nout, lerr, ok )
310 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
315 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
320 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
325 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
330 CALL dgtsvx(
'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(
'DGTSVX', infot, nout, lerr, ok )
335 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
341 CALL dposv(
'/', 0, 0, a, 1, b, 1, info )
342 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
344 CALL dposv(
'U', -1, 0, a, 1, b, 1, info )
345 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
347 CALL dposv(
'U', 0, -1, a, 1, b, 1, info )
348 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
350 CALL dposv(
'U', 2, 0, a, 1, b, 2, info )
351 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
353 CALL dposv(
'U', 2, 0, a, 2, b, 1, info )
354 CALL chkxer(
'DPOSV ', infot, nout, lerr, ok )
360 CALL dposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
361 $ rcond, r1, r2, w, iw, info )
362 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
364 CALL dposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
365 $ rcond, r1, r2, w, iw, info )
366 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
368 CALL dposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
369 $ rcond, r1, r2, w, iw, info )
370 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
372 CALL dposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
373 $ rcond, r1, r2, w, iw, info )
374 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
376 CALL dposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
377 $ rcond, r1, r2, w, iw, info )
378 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
380 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
381 $ rcond, r1, r2, w, iw, info )
382 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
385 CALL dposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
386 $ rcond, r1, r2, w, iw, info )
387 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
390 CALL dposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
391 $ rcond, r1, r2, w, iw, info )
392 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
394 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
395 $ rcond, r1, r2, w, iw, info )
396 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
398 CALL dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
399 $ rcond, r1, r2, w, iw, info )
400 CALL chkxer(
'DPOSVX', infot, nout, lerr, ok )
402 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
408 CALL dppsv(
'/', 0, 0, a, b, 1, info )
409 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
411 CALL dppsv(
'U', -1, 0, a, b, 1, info )
412 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
414 CALL dppsv(
'U', 0, -1, a, b, 1, info )
415 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
417 CALL dppsv(
'U', 2, 0, a, b, 1, info )
418 CALL chkxer(
'DPPSV ', infot, nout, lerr, ok )
424 CALL dppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
425 $ r1, r2, w, iw, info )
426 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
428 CALL dppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
429 $ r1, r2, w, iw, info )
430 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
432 CALL dppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
433 $ r1, r2, w, iw, info )
434 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
436 CALL dppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
437 $ r1, r2, w, iw, info )
438 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
441 CALL dppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
442 $ r1, r2, w, iw, info )
443 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
446 CALL dppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
447 $ r1, r2, w, iw, info )
448 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
450 CALL dppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
451 $ r1, r2, w, iw, info )
452 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
454 CALL dppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
455 $ r1, r2, w, iw, info )
456 CALL chkxer(
'DPPSVX', infot, nout, lerr, ok )
458 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
464 CALL dpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
465 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
467 CALL dpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
468 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
470 CALL dpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
471 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
473 CALL dpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
474 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
476 CALL dpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
477 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
479 CALL dpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
480 CALL chkxer(
'DPBSV ', infot, nout, lerr, ok )
486 CALL dpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
487 $ rcond, r1, r2, w, iw, info )
488 CALL chkxer(
'DPBSVX', infot, nout, lerr, ok )
490 CALL dpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
491 $ rcond, r1, r2, w, iw, info )
492 CALL chkxer(
'DPBSVX', infot, nout, lerr, ok )
494 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
498 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
502 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
506 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
510 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
515 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
520 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
524 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
528 CALL dpbsvx(
'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(
'DPBSVX', infot, nout, lerr, ok )
532 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
538 CALL dptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
539 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
541 CALL dptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
542 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
544 CALL dptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
545 CALL chkxer(
'DPTSV ', infot, nout, lerr, ok )
551 CALL dptsvx(
'/', 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(
'DPTSVX', infot, nout, lerr, ok )
555 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
559 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
563 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
567 CALL dptsvx(
'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(
'DPTSVX', infot, nout, lerr, ok )
571 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
577 CALL dsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
578 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
580 CALL dsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
581 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
583 CALL dsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
584 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
586 CALL dsysv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
587 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
589 CALL dsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
590 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
592 CALL dsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
593 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
595 CALL dsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
596 CALL chkxer(
'DSYSV ', infot, nout, lerr, ok )
602 CALL dsysvx(
'/',
'U', 0, 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',
'/', 0, 0, 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', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
611 $ rcond, r1, r2, w, 1, iw, info )
612 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
614 CALL dsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
615 $ rcond, r1, r2, w, 1, iw, info )
616 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
618 CALL dsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, 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, 1, ip, b, 2, x, 2,
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, 1, x, 2,
627 $ rcond, r1, r2, w, 4, iw, info )
628 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
630 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
631 $ rcond, r1, r2, w, 4, iw, info )
632 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
634 CALL dsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
635 $ rcond, r1, r2, w, 3, iw, info )
636 CALL chkxer(
'DSYSVX', infot, nout, lerr, ok )
638 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
642 srnamt =
'DSYSV_ROOK'
644 CALL dsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
645 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
647 CALL dsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
648 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
650 CALL dsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
651 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
653 CALL dsysv_rook(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
654 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
656 CALL dsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
657 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
659 CALL dsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
660 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
662 CALL dsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
663 CALL chkxer(
'DSYSV_ROOK', infot, nout, lerr, ok )
665 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
679 CALL dsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
680 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
682 CALL dsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
683 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
685 CALL dsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
686 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
688 CALL dsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
689 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
691 CALL dsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
692 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
694 CALL dsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
695 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
697 CALL dsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
698 CALL chkxer(
'DSYSV_RK', infot, nout, lerr, ok )
700 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN
706 CALL dsysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
707 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
709 CALL dsysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
710 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
712 CALL dsysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
713 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
715 CALL dsysv_aa(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
716 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
718 CALL dsysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
719 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
721 CALL dsysv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
722 CALL chkxer(
'DSYSV_AA', infot, nout, lerr, ok )
724 ELSE IF( lsamen( 2, c2,
'S2' ) )
THEN
728 srnamt =
'DSYSV_AA_2STAGE'
730 CALL dsysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
732 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
734 CALL dsysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
736 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
738 CALL dsysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
740 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
742 CALL dsysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
744 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
746 CALL dsysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
748 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
750 CALL dsysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
752 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
754 CALL dsysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
756 CALL chkxer(
'DSYSV_AA_2STAGE', infot, nout, lerr, ok )
758 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
764 CALL dspsv(
'/', 0, 0, a, ip, b, 1, info )
765 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
767 CALL dspsv(
'U', -1, 0, a, ip, b, 1, info )
768 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
770 CALL dspsv(
'U', 0, -1, a, ip, b, 1, info )
771 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
773 CALL dspsv(
'U', 2, 0, a, ip, b, 1, info )
774 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
780 CALL dspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
782 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
784 CALL dspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
786 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
788 CALL dspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
790 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
792 CALL dspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
794 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
796 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
798 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
800 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
802 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
808 WRITE( nout, fmt = 9999 )path
810 WRITE( nout, fmt = 9998 )path
813 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
814 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine derrvx(path, nunit)
DERRVX
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 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 dgesv(n, nrhs, a, lda, ipiv, b, ldb, info)
Download DGESV + dependencies <a href="http://www.netlib.org/cgi-bin/netlibfiles....
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 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 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 dsysv_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
DSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY 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 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 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 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
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 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
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 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 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 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 dppsv(uplo, n, nrhs, ap, b, ldb, info)
DPPSV computes the solution to system of linear equations A * X = B for OTHER 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 dptsv(n, nrhs, d, e, b, ldb, info)
DPTSV computes the solution to system of linear equations A * X = B for PT 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