75 DOUBLE PRECISION RCOND
78 INTEGER ( 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 ), ( 2*NMAX ), X( )
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 )
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
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, 2, IP, B, 1, W, 1, INFO )
716 CALL CHKXER( 'dsysv_aa', INFOT, NOUT, LERR, OK )
718 ELSE IF( LSAMEN( 2, C2, 's2
' ) ) THEN
724 CALL DSYSV_AA_2STAGE( '/
', 0, 0, A, 1, A, 1, IP, IP, B, 1,
728 CALL DSYSV_AA_2STAGE( 'u
', -1, 0, A, 1, A, 1, IP, IP, B, 1,
732 CALL DSYSV_AA_2STAGE( 'u
', 0, -1, A, 1, A, 1, IP, IP, B, 1,
736 CALL DSYSV_AA_2STAGE( 'u
', 2, 1, A, 1, A, 1, IP, IP, B, 1,
740 CALL DSYSV_AA_2STAGE( 'u
', 2, 1, A, 2, A, 8, IP, IP, B, 1,
744 CALL DSYSV_AA_2STAGE( 'u
', 2, 1, A, 2, A, 1, IP, IP, B, 2,
748 ELSE IF( LSAMEN( 2, C2, 'sp
' ) ) THEN
754 CALL DSPSV( '/
', 0, 0, A, IP, B, 1, INFO )
755 CALL CHKXER( 'dspsv ', INFOT, NOUT, LERR, OK )
757 CALL DSPSV( 'u
', -1, 0, A, IP, B, 1, INFO )
758 CALL CHKXER( 'dspsv ', INFOT, NOUT, LERR, OK )
760 CALL DSPSV( 'u
', 0, -1, A, IP, B, 1, INFO )
761 CALL CHKXER( 'dspsv ', INFOT, NOUT, LERR, OK )
763 CALL DSPSV( 'u', 2, 0, a, ip, b, 1, info )
764 CALL chkxer(
'DSPSV ', infot, nout, lerr, ok )
770 CALL dspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
772 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
774 CALL dspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
776 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
778 CALL dspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
780 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
782 CALL dspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
784 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
786 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
788 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
790 CALL dspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
792 CALL chkxer(
'DSPSVX', infot, nout, lerr, ok )
798 WRITE( nout, fmt = 9999 )path
800 WRITE( nout, fmt = 9998 )path
803 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
804 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',