56 SUBROUTINE cerrvx( PATH, NUNIT )
72 parameter ( nmax = 4 )
74 parameter ( one = 1.0e+0 )
79 INTEGER i, info, j, n_err_bnds, nparams
80 REAL rcond, rpvgrw, berr
84 REAL c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
85 $ rf( nmax ), rw( nmax ), err_bnds_n( nmax, 3 ),
86 $ err_bnds_c( nmax, 3 ), params( 1 )
87 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
88 $ e( nmax ), w( 2*nmax ), x( nmax )
108 COMMON / infoc / infot, nout, ok, lerr
109 COMMON / srnamc / srnamt
112 INTRINSIC cmplx, real
117 WRITE( nout, fmt = * )
124 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
125 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
140 IF(
lsamen( 2, c2,
'GE' ) )
THEN
146 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
147 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
149 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
150 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
152 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
153 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
155 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
156 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
162 CALL cgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
163 $ x, 1, rcond, r1, r2, w, rw, info )
164 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
166 CALL cgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
167 $ x, 1, rcond, r1, r2, w, rw, info )
168 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
170 CALL cgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
171 $ x, 1, rcond, r1, r2, w, rw, info )
172 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
174 CALL cgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
175 $ x, 1, rcond, r1, r2, w, rw, info )
176 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
178 CALL cgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
179 $ x, 2, rcond, r1, r2, w, rw, info )
180 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
182 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
183 $ x, 2, rcond, r1, r2, w, rw, info )
184 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
187 CALL cgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
188 $ x, 1, rcond, r1, r2, w, rw, info )
189 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
192 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
193 $ x, 1, rcond, r1, r2, w, rw, info )
194 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
197 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
198 $ x, 1, rcond, r1, r2, w, rw, info )
199 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
201 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
202 $ x, 2, rcond, r1, r2, w, rw, info )
203 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
205 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
206 $ x, 1, rcond, r1, r2, w, rw, info )
207 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
215 CALL cgesvxx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
216 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
217 $ err_bnds_c, nparams, params, w, rw, info )
218 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
220 CALL cgesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
221 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
222 $ err_bnds_c, nparams, params, w, rw, info )
223 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
225 CALL cgesvxx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
226 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
227 $ err_bnds_c, nparams, params, w, rw, info )
228 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
230 CALL cgesvxx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
231 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
232 $ err_bnds_c, nparams, params, w, rw, info )
233 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
235 CALL cgesvxx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
236 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
237 $ err_bnds_c, nparams, params, w, rw, info )
238 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
240 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
241 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
242 $ err_bnds_c, nparams, params, w, rw, info )
243 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
246 CALL cgesvxx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
247 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
248 $ err_bnds_c, nparams, params, w, rw, info )
249 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
252 CALL cgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
253 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
254 $ err_bnds_c, nparams, params, w, rw, info )
255 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
258 CALL cgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
259 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
260 $ err_bnds_c, nparams, params, w, rw, info )
261 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
263 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
264 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
265 $ err_bnds_c, nparams, params, w, rw, info )
266 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
268 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
269 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
270 $ err_bnds_c, nparams, params, w, rw, info )
271 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
273 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
279 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
280 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
282 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
283 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
285 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
286 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
288 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
289 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
291 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
292 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
294 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
295 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
301 CALL cgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
302 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
303 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
305 CALL cgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
306 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
307 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
309 CALL cgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
310 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
311 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
313 CALL cgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
314 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
315 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
317 CALL cgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
318 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
319 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
321 CALL cgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
322 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
323 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
325 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
326 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
327 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
329 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
330 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
331 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
334 CALL cgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
335 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
336 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
339 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
340 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
341 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
344 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
345 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
346 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
348 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
349 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
350 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
352 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
353 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
354 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
362 CALL cgbsvxx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
363 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
364 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
366 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
368 CALL cgbsvxx(
'N',
'/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
369 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
370 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
372 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
374 CALL cgbsvxx(
'N',
'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
375 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
376 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
378 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
380 CALL cgbsvxx(
'N',
'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
381 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
382 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
384 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
386 CALL cgbsvxx(
'N',
'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
387 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
388 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
390 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
392 CALL cgbsvxx(
'N',
'N', 0, 1, 1, -1, a, 1, af, 1, ip, eq, r, c,
393 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
394 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
396 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
398 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
399 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
400 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
402 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
404 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
405 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
406 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
408 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
411 CALL cgbsvxx(
'F',
'N', 0, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
412 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
413 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
415 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
418 CALL cgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
419 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
420 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
422 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
425 CALL cgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
426 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
427 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
429 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
431 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
432 $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
433 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
435 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
437 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
438 $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
439 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
441 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
443 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
449 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
451 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
453 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
455 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
457 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
458 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
464 CALL cgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
465 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
466 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
467 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
469 CALL cgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
470 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
471 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
472 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
474 CALL cgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
475 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
476 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
477 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
479 CALL cgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
480 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
481 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
482 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
484 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
485 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
486 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
487 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
489 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
490 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
491 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
492 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
494 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
500 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
501 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
503 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
504 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
506 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
507 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
509 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
510 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
512 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
513 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
519 CALL cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
520 $ rcond, r1, r2, w, rw, info )
521 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
523 CALL cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
524 $ rcond, r1, r2, w, rw, info )
525 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
527 CALL cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
528 $ rcond, r1, r2, w, rw, info )
529 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
531 CALL cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
532 $ rcond, r1, r2, w, rw, info )
533 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
535 CALL cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
536 $ rcond, r1, r2, w, rw, info )
537 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
539 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
540 $ rcond, r1, r2, w, rw, info )
541 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
544 CALL cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
545 $ rcond, r1, r2, w, rw, info )
546 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
549 CALL cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
550 $ rcond, r1, r2, w, rw, info )
551 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
553 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
554 $ rcond, r1, r2, w, rw, info )
555 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
557 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
558 $ rcond, r1, r2, w, rw, info )
559 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
567 CALL cposvxx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
568 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
569 $ err_bnds_c, nparams, params, w, rw, info )
570 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
572 CALL cposvxx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
573 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
574 $ err_bnds_c, nparams, params, w, rw, info )
575 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
577 CALL cposvxx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
578 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
579 $ err_bnds_c, nparams, params, w, rw, info )
580 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
582 CALL cposvxx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
583 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
584 $ err_bnds_c, nparams, params, w, rw, info )
585 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
587 CALL cposvxx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
588 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
589 $ err_bnds_c, nparams, params, w, rw, info )
590 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
592 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
593 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
594 $ err_bnds_c, nparams, params, w, rw, info )
595 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
598 CALL cposvxx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
599 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
600 $ err_bnds_c, nparams, params, w, rw, info )
601 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
604 CALL cposvxx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
605 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
606 $ err_bnds_c, nparams, params, w, rw, info )
607 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
609 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
610 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
611 $ err_bnds_c, nparams, params, w, rw, info )
612 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
614 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
615 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
616 $ err_bnds_c, nparams, params, w, rw, info )
617 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
619 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
625 CALL cppsv(
'/', 0, 0, a, b, 1, info )
626 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
628 CALL cppsv(
'U', -1, 0, a, b, 1, info )
629 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
631 CALL cppsv(
'U', 0, -1, a, b, 1, info )
632 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
634 CALL cppsv(
'U', 2, 0, a, b, 1, info )
635 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
641 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
642 $ r1, r2, w, rw, info )
643 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
645 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
646 $ r1, r2, w, rw, info )
647 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
649 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
650 $ r1, r2, w, rw, info )
651 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
653 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
654 $ r1, r2, w, rw, info )
655 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
658 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
659 $ r1, r2, w, rw, info )
660 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
663 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
664 $ r1, r2, w, rw, info )
665 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
667 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
668 $ r1, r2, w, rw, info )
669 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
671 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
672 $ r1, r2, w, rw, info )
673 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
675 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
681 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
682 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
684 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
685 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
687 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
688 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
690 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
691 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
693 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
694 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
696 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
697 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
703 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
704 $ rcond, r1, r2, w, rw, info )
705 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
707 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
708 $ rcond, r1, r2, w, rw, info )
709 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
711 CALL cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
712 $ 1, rcond, r1, r2, w, rw, info )
713 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
715 CALL cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
716 $ 1, rcond, r1, r2, w, rw, info )
717 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
719 CALL cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
720 $ 1, rcond, r1, r2, w, rw, info )
721 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
723 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
724 $ rcond, r1, r2, w, rw, info )
725 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
727 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
728 $ rcond, r1, r2, w, rw, info )
729 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
732 CALL cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
733 $ rcond, r1, r2, w, rw, info )
734 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
737 CALL cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
738 $ rcond, r1, r2, w, rw, info )
739 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
741 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
742 $ rcond, r1, r2, w, rw, info )
743 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
745 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
746 $ rcond, r1, r2, w, rw, info )
747 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
749 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
755 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
756 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
758 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
759 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
761 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
762 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
768 CALL cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
769 $ 1, rcond, r1, r2, w, rw, info )
770 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
772 CALL cptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
773 $ 1, rcond, r1, r2, w, rw, info )
774 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
776 CALL cptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
777 $ 1, rcond, r1, r2, w, rw, info )
778 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
780 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
781 $ 2, rcond, r1, r2, w, rw, info )
782 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
784 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
785 $ 1, rcond, r1, r2, w, rw, info )
786 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
788 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
794 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
795 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
797 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
798 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
800 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
801 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
803 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
804 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
806 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
807 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
809 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
810 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
812 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
813 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
819 CALL chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
820 $ rcond, r1, r2, w, 1, rw, info )
821 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
823 CALL chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
824 $ rcond, r1, r2, w, 1, rw, info )
825 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
827 CALL chesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
828 $ rcond, r1, r2, w, 1, rw, info )
829 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
831 CALL chesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
832 $ rcond, r1, r2, w, 1, rw, info )
833 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
835 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
836 $ rcond, r1, r2, w, 4, rw, info )
837 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
839 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
840 $ rcond, r1, r2, w, 4, rw, info )
841 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
843 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
844 $ rcond, r1, r2, w, 4, rw, info )
845 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
847 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
848 $ rcond, r1, r2, w, 4, rw, info )
849 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
851 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
852 $ rcond, r1, r2, w, 3, rw, info )
853 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
861 CALL chesvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
862 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
863 $ err_bnds_c, nparams, params, w, rw, info )
864 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
866 CALL chesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
867 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
868 $ err_bnds_c, nparams, params, w, rw, info )
869 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
871 CALL chesvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
872 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
873 $ err_bnds_c, nparams, params, w, rw, info )
874 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
876 CALL chesvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, c, b, 1, x,
877 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
878 $ err_bnds_c, nparams, params, w, rw, info )
879 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
881 CALL chesvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, c, b, 2, x,
882 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
883 $ err_bnds_c, nparams, params, w, rw, info )
884 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
886 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, c, b, 2, x,
887 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
888 $ err_bnds_c, nparams, params, w, rw, info )
889 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
892 CALL chesvxx(
'F',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
893 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
894 $ err_bnds_c, nparams, params, w, rw, info )
895 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
898 CALL chesvxx(
'F',
'U', 1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
899 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
900 $ err_bnds_c, nparams, params, w, rw, info )
901 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
903 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 1, x,
904 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
905 $ err_bnds_c, nparams, params, w, rw, info )
906 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
908 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 2, x,
909 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
910 $ err_bnds_c, nparams, params, w, rw, info )
911 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
913 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
917 srnamt =
'CHESV_ROOK'
919 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
920 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
922 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
923 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
925 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
926 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
928 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
929 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
931 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
932 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
934 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
935 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
937 ELSE IF(
lsamen( 2, c2,
'HK' ) )
THEN
951 CALL chesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
952 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
954 CALL chesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
955 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
957 CALL chesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
958 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
960 CALL chesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
961 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
963 CALL chesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
964 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
966 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
967 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
969 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
970 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
972 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
978 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
979 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
981 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
982 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
984 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
985 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
987 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
988 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
994 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
996 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
998 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1000 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1002 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1004 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1006 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1008 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1010 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1012 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1014 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1016 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1018 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
1024 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1025 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1027 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1028 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1030 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1031 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1033 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1034 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1036 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1037 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1039 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1040 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1046 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1047 $ rcond, r1, r2, w, 1, rw, info )
1048 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1050 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1051 $ rcond, r1, r2, w, 1, rw, info )
1052 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1054 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
1055 $ rcond, r1, r2, w, 1, rw, info )
1056 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1058 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
1059 $ rcond, r1, r2, w, 1, rw, info )
1060 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1062 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
1063 $ rcond, r1, r2, w, 4, rw, info )
1064 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1066 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
1067 $ rcond, r1, r2, w, 4, rw, info )
1068 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1070 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
1071 $ rcond, r1, r2, w, 4, rw, info )
1072 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1074 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
1075 $ rcond, r1, r2, w, 4, rw, info )
1076 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1078 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
1079 $ rcond, r1, r2, w, 3, rw, info )
1080 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1089 CALL csysvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1090 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1091 $ err_bnds_c, nparams, params, w, rw, info )
1092 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1094 CALL csysvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1095 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1096 $ err_bnds_c, nparams, params, w, rw, info )
1097 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1099 CALL csysvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1100 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1101 $ err_bnds_c, nparams, params, w, rw, info )
1102 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1105 CALL csysvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
1106 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1107 $ err_bnds_c, nparams, params, w, rw, info )
1108 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1111 CALL csysvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
1112 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1113 $ err_bnds_c, nparams, params, w, rw, info )
1114 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1116 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
1117 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1118 $ err_bnds_c, nparams, params, w, rw, info )
1119 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1121 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip,
'A', r, b, 2, x,
1122 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1123 $ err_bnds_c, nparams, params, w, rw, info )
1124 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1127 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1128 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1129 $ err_bnds_c, nparams, params, w, rw, info )
1130 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1134 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1135 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1136 $ err_bnds_c, nparams, params, w, rw, info )
1137 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1140 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
1141 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1142 $ err_bnds_c, nparams, params, w, rw, info )
1143 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1145 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1146 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1147 $ err_bnds_c, nparams, params, w, rw, info )
1148 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1150 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
1154 srnamt =
'CSYSV_ROOK'
1156 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1157 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1159 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1160 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1162 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1163 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1165 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1166 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1168 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1169 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1171 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1172 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1174 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
1188 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
1189 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1191 CALL csysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
1192 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1194 CALL csysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
1195 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1197 CALL csysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
1198 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1200 CALL csysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
1201 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1203 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
1204 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1206 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
1207 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1209 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
1215 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
1216 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1218 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
1219 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1221 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
1222 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1224 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
1225 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1231 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1233 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1235 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1237 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1239 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1241 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1243 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1245 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1247 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1249 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1251 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1253 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1259 WRITE( nout, fmt = 9999 )path
1261 WRITE( nout, fmt = 9998 )path
1264 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1265 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine csysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
CGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine cgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
CGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
subroutine cposvxx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CPOSVXX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine chesvxx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CHESVXX computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine cppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
CPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine chesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
subroutine cerrvx(PATH, NUNIT)
CERRVX
subroutine cgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine chesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine cptsv(N, NRHS, D, E, B, LDB, INFO)
CPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine cpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine csysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine csysvxx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CSYSVXX computes the solution to system of linear equations A * X = B for SY matrices ...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine chesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CHESVX computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine cgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine cgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine chpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cgbsvxx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CGBSVXX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine csysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine csysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
CPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine chpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CHPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine chesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
subroutine cgesvxx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CGESVXX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine cspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...