79 REAL C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
80 $ RF( NMAX ), RW( NMAX )
81 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
82 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
102 COMMON / infoc / infot, nout, ok, lerr
103 COMMON / srnamc / srnamt
106 INTRINSIC cmplx, real
111 WRITE( nout, fmt = * )
118 a( i, j ) =
cmplx( 1. / real( i+j ), -1. / real( i+j ) )
119 af( i, j ) =
cmplx( 1. / real( i+j ), -1. / real( i+j ) )
134 IF( lsamen( 2, c2,
'GE' ) )
THEN
140 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
141 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
143 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
144 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
146 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
149 CALL CGESV( 2, 1, A, 2, IP, B, 1, INFO )
150 CALL CHKXER( 'cgesv ', INFOT, NOUT, LERR, OK )
156 CALL CGESVX( '/
', 'n
', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
157 $ X, 1, RCOND, R1, R2, W, RW, INFO )
158 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
160 CALL CGESVX( 'n
', '/
', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
161 $ X, 1, RCOND, R1, R2, W, RW, INFO )
162 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
164 CALL CGESVX( 'n
', 'n
', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
165 $ X, 1, RCOND, R1, R2, W, RW, INFO )
166 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
168 CALL CGESVX( 'n
', 'n
', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
169 $ X, 1, RCOND, R1, R2, W, RW, INFO )
170 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
172 CALL CGESVX( 'n
', 'n
', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
173 $ X, 2, RCOND, R1, R2, W, RW, INFO )
174 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
176 CALL CGESVX( 'n
', 'n
', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
177 $ X, 2, RCOND, R1, R2, W, RW, INFO )
178 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
181 CALL CGESVX( 'f
', 'n
', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
182 $ X, 1, RCOND, R1, R2, W, RW, INFO )
183 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
186 CALL CGESVX( 'f
', 'n
', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
187 $ X, 1, RCOND, R1, R2, W, RW, INFO )
188 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
191 CALL CGESVX( 'f
', 'n
', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
192 $ X, 1, RCOND, R1, R2, W, RW, INFO )
193 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
195 CALL CGESVX( 'n
', 'n
', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
196 $ X, 2, RCOND, R1, R2, W, RW, INFO )
197 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
199 CALL CGESVX( 'n
', 'n
', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
200 $ X, 1, RCOND, R1, R2, W, RW, INFO )
201 CALL CHKXER( 'cgesvx', INFOT, NOUT, LERR, OK )
203 ELSE IF( LSAMEN( 2, C2, 'gb
' ) ) THEN
209 CALL CGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
210 CALL CHKXER( 'cgbsv ', INFOT, NOUT, LERR, OK )
212 CALL CGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
213 CALL CHKXER( 'cgbsv ', INFOT, NOUT, LERR, OK )
215 CALL CGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
216 CALL CHKXER( 'cgbsv ', INFOT, NOUT, LERR, OK )
218 CALL CGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
219 CALL CHKXER( 'cgbsv ', INFOT, NOUT, LERR, OK )
221 CALL CGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
222 CALL CHKXER( 'cgbsv ', INFOT, NOUT, LERR, OK )
224 CALL CGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
225 CALL CHKXER( 'cgbsv ', INFOT, NOUT, LERR, OK )
231 CALL CGBSVX( '/
', 'n
', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
232 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
233 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
235 CALL CGBSVX( 'n
', '/
', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
236 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
237 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
239 CALL CGBSVX( 'n
', 'n
', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
240 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
241 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
243 CALL CGBSVX( 'n
', 'n
', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
244 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
245 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
247 CALL CGBSVX( 'n
', 'n
', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
248 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
249 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
251 CALL CGBSVX( 'n
', 'n
', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
252 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
253 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
255 CALL CGBSVX( 'n
', 'n
', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
256 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
257 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
259 CALL CGBSVX( 'n
', 'n
', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
260 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
261 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
264 CALL CGBSVX( 'f
', 'n
', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
265 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
266 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
269 CALL CGBSVX( 'f
', 'n
', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
270 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
271 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
274 CALL CGBSVX( 'f
', 'n
', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
275 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
276 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
278 CALL CGBSVX( 'n
', 'n
', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
279 $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
280 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
282 CALL CGBSVX( 'n
', 'n
', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
283 $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
284 CALL CHKXER( 'cgbsvx', INFOT, NOUT, LERR, OK )
286 ELSE IF( LSAMEN( 2, C2, 'gt
' ) ) THEN
292 CALL CGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
294 CALL CHKXER( 'cgtsv ', INFOT, NOUT, LERR, OK )
296 CALL CGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
298 CALL CHKXER( 'cgtsv ', INFOT, NOUT, LERR, OK )
300 CALL CGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
301 CALL CHKXER( 'cgtsv ', INFOT, NOUT, LERR, OK )
307 CALL CGTSVX( '/
', '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, RW, INFO )
310 CALL CHKXER( 'cgtsvx', INFOT, NOUT, LERR, OK )
312 CALL CGTSVX( '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, RW, INFO )
315 CALL CHKXER( 'cgtsvx', INFOT, NOUT, LERR, OK )
317 CALL CGTSVX( '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, RW, INFO )
320 CALL CHKXER( 'cgtsvx', INFOT, NOUT, LERR, OK )
322 CALL CGTSVX( '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, RW, INFO )
325 CALL CHKXER( 'cgtsvx', INFOT, NOUT, LERR, OK )
327 CALL CGTSVX( '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, RW, INFO )
330 CALL CHKXER( 'cgtsvx', INFOT, NOUT, LERR, OK )
332 CALL CGTSVX( '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, RW, INFO )
335 CALL CHKXER( 'cgtsvx', INFOT, NOUT, LERR, OK )
337 ELSE IF( LSAMEN( 2, C2, 'po
' ) ) THEN
343 CALL CPOSV( '/
', 0, 0, A, 1, B, 1, INFO )
344 CALL CHKXER( 'cposv ', INFOT, NOUT, LERR, OK )
346 CALL CPOSV( 'u
', -1, 0, A, 1, B, 1, INFO )
347 CALL CHKXER( 'cposv ', INFOT, NOUT, LERR, OK )
349 CALL CPOSV( 'u
', 0, -1, A, 1, B, 1, INFO )
350 CALL CHKXER( 'cposv ', INFOT, NOUT, LERR, OK )
352 CALL CPOSV( 'u
', 2, 0, A, 1, B, 2, INFO )
353 CALL CHKXER( 'cposv ', INFOT, NOUT, LERR, OK )
355 CALL CPOSV( 'u
', 2, 0, A, 2, B, 1, INFO )
356 CALL CHKXER( 'cposv ', INFOT, NOUT, LERR, OK )
362 CALL CPOSVX( '/
', 'u
', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
363 $ RCOND, R1, R2, W, RW, INFO )
364 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
366 CALL CPOSVX( 'n
', '/
', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
367 $ RCOND, R1, R2, W, RW, INFO )
368 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
370 CALL CPOSVX( 'n
', 'u
', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
371 $ RCOND, R1, R2, W, RW, INFO )
372 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
374 CALL CPOSVX( 'n
', 'u
', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
375 $ RCOND, R1, R2, W, RW, INFO )
376 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
378 CALL CPOSVX( 'n
', 'u
', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
379 $ RCOND, R1, R2, W, RW, INFO )
380 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
382 CALL CPOSVX( 'n
', 'u
', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
383 $ RCOND, R1, R2, W, RW, INFO )
384 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
387 CALL CPOSVX( 'f
', 'u
', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
388 $ RCOND, R1, R2, W, RW, INFO )
389 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
392 CALL CPOSVX( 'f
', 'u
', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
393 $ RCOND, R1, R2, W, RW, INFO )
394 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
396 CALL CPOSVX( 'n
', 'u
', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
397 $ RCOND, R1, R2, W, RW, INFO )
398 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
400 CALL CPOSVX( 'n
', 'u
', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
401 $ RCOND, R1, R2, W, RW, INFO )
402 CALL CHKXER( 'cposvx', INFOT, NOUT, LERR, OK )
404 ELSE IF( LSAMEN( 2, C2, 'pp
' ) ) THEN
410 CALL CPPSV( '/
', 0, 0, A, B, 1, INFO )
411 CALL CHKXER( 'cppsv ', INFOT, NOUT, LERR, OK )
413 CALL CPPSV( 'u', -1, 0, a, b, 1, info )
414 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
416 CALL cppsv(
'U', 0, -1, a, b, 1, info )
417 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
419 CALL cppsv(
'U', 2, 0, a, b, 1, info )
420 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
426 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
427 $ r1, r2, w, rw, info )
428 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
430 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
431 $ r1, r2, w, rw, info )
432 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
434 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
435 $ r1, r2, w, rw, info )
436 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
438 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
439 $ r1, r2, w, rw, info )
440 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
443 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
444 $ r1, r2, w, rw, info )
445 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
448 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
449 $ r1, r2, w, rw, info )
450 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
452 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
453 $ r1, r2, w, rw, info )
454 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
456 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
457 $ r1, r2, w, rw, info )
458 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
460 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
466 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
467 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
469 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
470 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
472 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
473 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
475 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
476 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
478 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
479 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
481 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
482 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
488 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
489 $ rcond, r1, r2, w, rw, info )
490 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
492 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
493 $ rcond, r1, r2, w, rw, info )
494 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
496 CALL cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
497 $ 1, rcond, r1, r2, w, rw, info )
498 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
500 CALL cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
501 $ 1, rcond, r1, r2, w, rw, info )
502 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
504 CALL cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
505 $ 1, rcond, r1, r2, w, rw, info )
506 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
508 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
509 $ rcond, r1, r2, w, rw, info )
510 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
512 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
513 $ rcond, r1, r2, w, rw, info )
514 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
517 CALL cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
518 $ rcond, r1, r2, w, rw, info )
519 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
522 CALL cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523 $ rcond, r1, r2, w, rw, info )
524 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
526 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
527 $ rcond, r1, r2, w, rw, info )
528 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
530 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
531 $ rcond, r1, r2, w, rw, info )
532 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
534 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
540 CALL CPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
541 CALL CHKXER( 'cptsv ', INFOT, NOUT, LERR, OK )
543 CALL CPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
544 CALL CHKXER( 'cptsv ', INFOT, NOUT, LERR, OK )
546 CALL CPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
547 CALL CHKXER( 'cptsv ', INFOT, NOUT, LERR, OK )
553 CALL CPTSVX( '/
', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
554 $ 1, RCOND, R1, R2, W, RW, INFO )
555 CALL CHKXER( 'cptsvx', INFOT, NOUT, LERR, OK )
557 CALL CPTSVX( 'n
', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
558 $ 1, RCOND, R1, R2, W, RW, INFO )
559 CALL CHKXER( 'cptsvx', INFOT, NOUT, LERR, OK )
561 CALL CPTSVX( 'n
', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
562 $ 1, RCOND, R1, R2, W, RW, INFO )
563 CALL CHKXER( 'cptsvx', INFOT, NOUT, LERR, OK )
565 CALL CPTSVX( 'n
', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
566 $ 2, RCOND, R1, R2, W, RW, INFO )
567 CALL CHKXER( 'cptsvx', INFOT, NOUT, LERR, OK )
569 CALL CPTSVX( 'n
', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
570 $ 1, RCOND, R1, R2, W, RW, INFO )
571 CALL CHKXER( 'cptsvx', INFOT, NOUT, LERR, OK )
573 ELSE IF( LSAMEN( 2, C2, 'he
' ) ) THEN
579 CALL CHESV( '/
', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
580 CALL CHKXER( 'chesv ', INFOT, NOUT, LERR, OK )
582 CALL CHESV( 'u
', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
583 CALL CHKXER( 'chesv ', INFOT, NOUT, LERR, OK )
585 CALL CHESV( 'u
', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
586 CALL CHKXER( 'chesv ', INFOT, NOUT, LERR, OK )
588 CALL CHESV( 'u
', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
589 CALL CHKXER( 'chesv ', INFOT, NOUT, LERR, OK )
591 CALL CHESV( 'u
', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
592 CALL CHKXER( 'chesv ', infot, nout, lerr, ok )
594 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
595 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
597 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
598 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
604 CALL chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
605 $ rcond, r1, r2, w, 1, rw, info )
606 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
608 CALL chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
609 $ rcond, r1, r2, w, 1, rw, info )
610 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
612 CALL chesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
613 $ rcond, r1, r2, w, 1, rw, info )
614 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
616 CALL chesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
617 $ rcond, r1, r2, w, 1, rw, info )
618 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
620 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
621 $ rcond, r1, r2, w, 4, rw, info )
622 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
624 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
625 $ rcond, r1, r2, w, 4, rw, info )
626 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
628 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
629 $ rcond, r1, r2, w, 4, rw, info )
630 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
632 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
633 $ rcond, r1, r2, w, 4, rw, info )
634 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
636 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
637 $ rcond, r1, r2, w, 3, rw, info )
638 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
640 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
644 srnamt =
'CHESV_ROOK'
646 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
647 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
649 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
650 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
652 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
653 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
655 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
656 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
658 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
659 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
661 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
662 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
664 ELSE IF( lsamen( 2, c2,
'HK' ) )
THEN
678 CALL chesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
679 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
681 CALL chesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
682 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
684 CALL chesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
685 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
687 CALL chesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
688 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
690 CALL chesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
691 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
693 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
694 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
696 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
697 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
699 ELSE IF( lsamen( 2, c2,
'HA' ) )
THEN
705 CALL chesv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
706 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
708 CALL chesv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
709 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
711 CALL chesv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
712 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
714 CALL chesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
715 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
717 ELSE IF( lsamen( 2, c2,
'H2' ) )
THEN
723 CALL CHESV_AA_2STAGE( '/
', 0, 0, A, 1, A, 1, IP, IP, B, 1,
727 CALL CHESV_AA_2STAGE( 'u
', -1, 0, A, 1, A, 1, IP, IP, B, 1,
731 CALL CHESV_AA_2STAGE( 'u
', 0, -1, A, 1, A, 1, IP, IP, B, 1,
735 CALL CHESV_AA_2STAGE( 'u
', 2, 1, A, 1, A, 1, IP, IP, B, 1,
739 CALL CHESV_AA_2STAGE( 'u
', 2, 1, A, 2, A, 8, IP, IP, B, 1,
743 CALL CHESV_AA_2STAGE( 'u
', 2, 1, A, 2, A, 1, IP, IP, B, 2,
747 ELSE IF( LSAMEN( 2, C2, 's2
' ) ) THEN
753 CALL CSYSV_AA_2STAGE( '/
', 0, 0, A, 1, A, 1, IP, IP, B, 1,
757 CALL CSYSV_AA_2STAGE( 'u
', -1, 0, A, 1, A, 1, IP, IP, B, 1,
761 CALL CSYSV_AA_2STAGE( 'u
', 0, -1, A, 1, A, 1, IP, IP, B, 1,
765 CALL CSYSV_AA_2STAGE( 'u
', 2, 1, A, 1, A, 1, IP, IP, B, 1,
769 CALL CSYSV_AA_2STAGE( 'u
', 2, 1, A, 2, A, 8, IP, IP, B, 1,
773 CALL CSYSV_AA_2STAGE( 'u
', 2, 1, A, 2, A, 1, IP, IP, B, 2,
777 ELSE IF( LSAMEN( 2, C2, 'hp
' ) ) THEN
783 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
784 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
786 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
787 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
789 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
790 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
792 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
793 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
799 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
801 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
803 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
805 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
807 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
809 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
811 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
813 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
815 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
817 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
819 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
821 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
823 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
829 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
830 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
832 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
833 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
835 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
836 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
838 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
839 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
841 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
842 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
844 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
845 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
851 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
852 $ rcond, r1, r2, w, 1, rw, info )
853 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
855 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
856 $ rcond, r1, r2, w, 1, rw, info )
857 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
859 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
860 $ rcond, r1, r2, w, 1, rw, info )
861 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
863 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
864 $ rcond, r1, r2, w, 1, rw, info )
865 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
867 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
868 $ rcond, r1, r2, w, 4, rw, info )
869 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
871 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
872 $ rcond, r1, r2, w, 4, rw, info )
873 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
875 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
876 $ rcond, r1, r2, w, 4, rw, info )
877 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
879 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
880 $ rcond, r1, r2, w, 4, rw, info )
881 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
883 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
884 $ rcond, r1, r2, w, 3, rw, info )
885 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
887 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
891 srnamt =
'CSYSV_ROOK'
893 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
894 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
896 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
897 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
899 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
900 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
902 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
903 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
905 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
906 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
908 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
909 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
911 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
925 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
926 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
928 CALL csysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
929 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
931 CALL csysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
932 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
934 CALL csysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
935 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
937 CALL csysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
938 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
940 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
941 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
943 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
944 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
946 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
952 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
953 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
955 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
956 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
958 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
959 CALL chkxer(
'CSPSV ', infot, nout
961 CALL cspsv( 'u
', 2, 0, A, IP, B, 1, INFO )
962 CALL CHKXER( 'cspsv ', INFOT, NOUT, LERR, OK )
968 CALL CSPSVX( '/
', 'u
', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
970 CALL CHKXER( 'cspsvx', INFOT, NOUT, LERR, OK )
972 CALL CSPSVX( 'n
', '/
', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
974 CALL CHKXER( 'cspsvx', INFOT, NOUT, LERR, OK )
976 CALL CSPSVX( 'n
', 'u
', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
978 CALL CHKXER( 'cspsvx', INFOT, NOUT, LERR, OK )
980 CALL CSPSVX( 'n
', 'u
', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
982 CALL CHKXER( 'cspsvx', INFOT, NOUT, LERR, OK )
984 CALL CSPSVX( 'n
', 'u
', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
986 CALL CHKXER( 'cspsvx', INFOT, NOUT, LERR, OK )
988 CALL CSPSVX( 'n
', 'u
', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
990 CALL CHKXER( 'cspsvx', INFOT, NOUT, LERR, OK )
996 WRITE( NOUT, FMT = 9999 )PATH
998 WRITE( NOUT, FMT = 9998 )PATH
1001 9999 FORMAT( 1X, A3, ' drivers passed
the tests
' )
1002 9998 FORMAT( ' ***
', A3, ' drivers failed
the tests of
the error
',