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 $ 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 ) )
139 IF(
lsamen( 2, c2,
'GE' ) )
THEN
145 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
146 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
148 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
149 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
151 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
152 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
154 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
155 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
161 CALL cgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
162 $ x, 1, rcond, r1, r2, w, rw, info )
163 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
165 CALL cgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
166 $ x, 1, rcond, r1, r2, w, rw, info )
167 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
169 CALL cgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
170 $ x, 1, rcond, r1, r2, w, rw, info )
171 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
173 CALL cgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
174 $ x, 1, rcond, r1, r2, w, rw, info )
175 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
177 CALL cgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
178 $ x, 2, rcond, r1, r2, w, rw, info )
179 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
181 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
182 $ x, 2, rcond, r1, r2, w, rw, info )
183 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
186 CALL cgesvx(
'F',
'N', 0, 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 )
196 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
197 $ x, 1, rcond, r1, r2, w, rw, info )
198 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
200 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
201 $ x, 2, rcond, r1, r2, w, rw, info )
202 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
204 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
205 $ x, 1, rcond, r1, r2, w, rw, info )
206 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
214 CALL cgesvxx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
215 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
216 $ err_bnds_c, nparams, params, w, rw, info )
217 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
219 CALL cgesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
220 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
221 $ err_bnds_c, nparams, params, w, rw, info )
222 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
224 CALL cgesvxx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
225 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
226 $ err_bnds_c, nparams, params, w, rw, info )
227 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
229 CALL cgesvxx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
230 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
231 $ err_bnds_c, nparams, params, w, rw, info )
232 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
234 CALL cgesvxx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
235 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
236 $ err_bnds_c, nparams, params, w, rw, info )
237 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
239 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
240 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
241 $ err_bnds_c, nparams, params, w, rw, info )
242 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
245 CALL cgesvxx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
246 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
247 $ err_bnds_c, nparams, params, w, rw, info )
248 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
251 CALL cgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
252 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
253 $ err_bnds_c, nparams, params, w, rw, info )
254 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
257 CALL cgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
258 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
259 $ err_bnds_c, nparams, params, w, rw, info )
260 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
262 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
263 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
264 $ err_bnds_c, nparams, params, w, rw, info )
265 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
267 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
268 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
269 $ err_bnds_c, nparams, params, w, rw, info )
270 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
272 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
278 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
279 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
281 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
282 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
284 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
285 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
287 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
288 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
290 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
291 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
293 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
294 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
300 CALL cgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
301 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
302 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
304 CALL cgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
305 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
306 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
308 CALL cgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
309 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
310 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
312 CALL cgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
313 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
314 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
316 CALL cgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
317 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
318 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
320 CALL cgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
321 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
322 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
324 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
325 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
326 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
328 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
329 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
330 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
333 CALL cgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
334 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
335 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
338 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
339 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
340 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
343 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
344 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
345 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
347 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
348 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
349 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
351 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
352 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
353 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
361 CALL cgbsvxx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
362 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
363 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
365 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
367 CALL cgbsvxx(
'N',
'/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
368 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
369 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
371 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
373 CALL cgbsvxx(
'N',
'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
374 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
375 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
377 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
379 CALL cgbsvxx(
'N',
'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
380 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
381 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
383 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
385 CALL cgbsvxx(
'N',
'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
386 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
387 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
389 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
391 CALL cgbsvxx(
'N',
'N', 0, 1, 1, -1, a, 1, af, 1, ip, eq, r, c,
392 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
393 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
395 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
397 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
398 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
399 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
401 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
403 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
404 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
405 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
407 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
410 CALL cgbsvxx(
'F',
'N', 0, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
411 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
412 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
414 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
417 CALL cgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
418 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
419 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
421 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
424 CALL cgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
425 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
426 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
428 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
430 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
431 $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
432 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
434 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
436 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
437 $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
438 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
440 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
442 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
448 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
450 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
452 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
454 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
456 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
457 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
463 CALL cgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
464 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
465 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
466 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
468 CALL cgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
469 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
470 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
471 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
473 CALL cgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
474 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
475 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
476 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
478 CALL cgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
479 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
480 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
481 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
483 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
484 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
485 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
486 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
488 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
489 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
490 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
491 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
493 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
499 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
500 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
502 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
503 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
505 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
506 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
508 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
509 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
511 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
512 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
518 CALL cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
519 $ rcond, r1, r2, w, rw, info )
520 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
522 CALL cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523 $ rcond, r1, r2, w, rw, info )
524 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
526 CALL cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
527 $ rcond, r1, r2, w, rw, info )
528 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
530 CALL cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
531 $ rcond, r1, r2, w, rw, info )
532 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
534 CALL cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
535 $ rcond, r1, r2, w, rw, info )
536 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
538 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
539 $ rcond, r1, r2, w, rw, info )
540 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
543 CALL cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
544 $ rcond, r1, r2, w, rw, info )
545 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
548 CALL cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
549 $ rcond, r1, r2, w, rw, info )
550 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
552 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
553 $ rcond, r1, r2, w, rw, info )
554 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
556 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
557 $ rcond, r1, r2, w, rw, info )
558 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
566 CALL cposvxx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
567 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
568 $ err_bnds_c, nparams, params, w, rw, info )
569 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
571 CALL cposvxx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
572 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
573 $ err_bnds_c, nparams, params, w, rw, info )
574 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
576 CALL cposvxx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
577 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
578 $ err_bnds_c, nparams, params, w, rw, info )
579 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
581 CALL cposvxx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
582 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
583 $ err_bnds_c, nparams, params, w, rw, info )
584 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
586 CALL cposvxx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
587 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
588 $ err_bnds_c, nparams, params, w, rw, info )
589 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
591 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
592 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
593 $ err_bnds_c, nparams, params, w, rw, info )
594 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
597 CALL cposvxx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
598 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
599 $ err_bnds_c, nparams, params, w, rw, info )
600 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
603 CALL cposvxx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
604 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
605 $ err_bnds_c, nparams, params, w, rw, info )
606 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
608 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
609 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
610 $ err_bnds_c, nparams, params, w, rw, info )
611 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
613 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
614 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
615 $ err_bnds_c, nparams, params, w, rw, info )
616 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
618 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
624 CALL cppsv(
'/', 0, 0, a, b, 1, info )
625 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
627 CALL cppsv(
'U', -1, 0, a, b, 1, info )
628 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
630 CALL cppsv(
'U', 0, -1, a, b, 1, info )
631 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
633 CALL cppsv(
'U', 2, 0, a, b, 1, info )
634 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
640 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
641 $ r1, r2, w, rw, info )
642 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
644 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
645 $ r1, r2, w, rw, info )
646 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
648 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
649 $ r1, r2, w, rw, info )
650 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
652 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
653 $ r1, r2, w, rw, info )
654 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
657 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
658 $ r1, r2, w, rw, info )
659 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
662 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
663 $ r1, r2, w, rw, info )
664 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
666 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
667 $ r1, r2, w, rw, info )
668 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
670 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
671 $ r1, r2, w, rw, info )
672 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
674 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
680 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
681 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
683 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
684 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
686 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
687 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
689 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
690 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
692 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
693 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
695 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
696 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
702 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
703 $ rcond, r1, r2, w, rw, info )
704 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
706 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
707 $ rcond, r1, r2, w, rw, info )
708 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
710 CALL cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
711 $ 1, rcond, r1, r2, w, rw, info )
712 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
714 CALL cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
715 $ 1, rcond, r1, r2, w, rw, info )
716 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
718 CALL cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
719 $ 1, rcond, r1, r2, w, rw, info )
720 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
722 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
723 $ rcond, r1, r2, w, rw, info )
724 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
726 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
727 $ rcond, r1, r2, w, rw, info )
728 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
731 CALL cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
732 $ rcond, r1, r2, w, rw, info )
733 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
736 CALL cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
737 $ rcond, r1, r2, w, rw, info )
738 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
740 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
741 $ rcond, r1, r2, w, rw, info )
742 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
744 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
745 $ rcond, r1, r2, w, rw, info )
746 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
748 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
754 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
755 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
757 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
758 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
760 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
761 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
767 CALL cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
768 $ 1, rcond, r1, r2, w, rw, info )
769 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
771 CALL cptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
772 $ 1, rcond, r1, r2, w, rw, info )
773 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
775 CALL cptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
776 $ 1, rcond, r1, r2, w, rw, info )
777 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
779 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
780 $ 2, rcond, r1, r2, w, rw, info )
781 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
783 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
784 $ 1, rcond, r1, r2, w, rw, info )
785 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
787 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
793 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
794 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
796 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
797 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
799 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
800 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
802 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
803 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
805 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
806 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
812 CALL chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
813 $ rcond, r1, r2, w, 1, rw, info )
814 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
816 CALL chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
817 $ rcond, r1, r2, w, 1, rw, info )
818 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
820 CALL chesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
821 $ rcond, r1, r2, w, 1, rw, info )
822 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
824 CALL chesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
825 $ rcond, r1, r2, w, 1, rw, info )
826 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
828 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
829 $ rcond, r1, r2, w, 4, rw, info )
830 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
832 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
833 $ rcond, r1, r2, w, 4, rw, info )
834 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
836 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
837 $ rcond, r1, r2, w, 4, rw, info )
838 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
840 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
841 $ rcond, r1, r2, w, 4, rw, info )
842 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
844 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
845 $ rcond, r1, r2, w, 3, rw, info )
846 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
854 CALL chesvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
855 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
856 $ err_bnds_c, nparams, params, w, rw, info )
857 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
859 CALL chesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
860 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
861 $ err_bnds_c, nparams, params, w, rw, info )
862 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
864 CALL chesvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
865 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
866 $ err_bnds_c, nparams, params, w, rw, info )
867 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
869 CALL chesvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, c, b, 1, x,
870 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
871 $ err_bnds_c, nparams, params, w, rw, info )
872 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
874 CALL chesvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, c, b, 2, x,
875 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
876 $ err_bnds_c, nparams, params, w, rw, info )
877 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
879 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, c, b, 2, x,
880 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
881 $ err_bnds_c, nparams, params, w, rw, info )
882 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
885 CALL chesvxx(
'F',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
886 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
887 $ err_bnds_c, nparams, params, w, rw, info )
888 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
891 CALL chesvxx(
'F',
'U', 1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
892 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
893 $ err_bnds_c, nparams, params, w, rw, info )
894 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
896 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 1, x,
897 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
898 $ err_bnds_c, nparams, params, w, rw, info )
899 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
901 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 2, x,
902 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
903 $ err_bnds_c, nparams, params, w, rw, info )
904 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
906 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
910 srnamt =
'CHESV_ROOK'
912 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
913 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
915 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
916 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
918 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
919 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
921 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
922 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
924 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
930 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
931 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
933 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
934 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
936 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
937 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
939 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
940 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
946 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
948 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
950 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
952 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
954 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
956 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
958 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
960 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
962 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
964 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
966 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
968 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
970 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
976 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
977 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
979 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
980 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
982 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
983 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
985 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
986 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
992 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
993 $ rcond, r1, r2, w, 1, rw, info )
994 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
996 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
997 $ rcond, r1, r2, w, 1, rw, info )
998 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1000 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
1001 $ rcond, r1, r2, w, 1, rw, info )
1002 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1004 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
1005 $ rcond, r1, r2, w, 1, rw, info )
1006 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1008 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
1009 $ rcond, r1, r2, w, 4, rw, info )
1010 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1012 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
1013 $ rcond, r1, r2, w, 4, rw, info )
1014 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1016 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
1017 $ rcond, r1, r2, w, 4, rw, info )
1018 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1020 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
1021 $ rcond, r1, r2, w, 4, rw, info )
1022 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1024 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
1025 $ rcond, r1, r2, w, 3, rw, info )
1026 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1035 CALL csysvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1036 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1037 $ err_bnds_c, nparams, params, w, rw, info )
1038 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1040 CALL csysvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1041 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1042 $ err_bnds_c, nparams, params, w, rw, info )
1043 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1045 CALL csysvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1046 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1047 $ err_bnds_c, nparams, params, w, rw, info )
1048 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1051 CALL csysvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
1052 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1053 $ err_bnds_c, nparams, params, w, rw, info )
1054 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1057 CALL csysvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
1058 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1059 $ err_bnds_c, nparams, params, w, rw, info )
1060 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1062 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
1063 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1064 $ err_bnds_c, nparams, params, w, rw, info )
1065 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1067 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip,
'A', r, b, 2, x,
1068 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1069 $ err_bnds_c, nparams, params, w, rw, info )
1070 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1073 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1074 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1075 $ err_bnds_c, nparams, params, w, rw, info )
1076 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1080 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1081 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1082 $ err_bnds_c, nparams, params, w, rw, info )
1083 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1086 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
1087 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1088 $ err_bnds_c, nparams, params, w, rw, info )
1089 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1091 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1092 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1093 $ err_bnds_c, nparams, params, w, rw, info )
1094 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1096 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
1100 srnamt =
'CSYSV_ROOK'
1102 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1103 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1105 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1106 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1108 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1109 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1111 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1112 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1114 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
1120 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
1121 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1123 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
1124 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1126 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
1127 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1129 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
1130 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1136 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1138 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1140 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1142 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1144 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1146 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1148 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1150 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1152 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1154 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1156 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1158 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1164 WRITE( nout, fmt = 9999 )path
1166 WRITE( nout, fmt = 9998 )path
1169 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1170 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
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 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 cspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
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 ...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine cerrvx(PATH, NUNIT)
CERRVX
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 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 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 cptsv(N, NRHS, D, E, B, LDB, INFO)
CPTSV computes the solution to system of linear equations A * X = B for PT 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 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 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 ...
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 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 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 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 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 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 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 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 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 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 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 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 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 ...