71 parameter( one = 1.0e+0 )
76 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
77 REAL RCOND, RPVGRW, BERR
81 REAL C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
82 $ RF( NMAX ), RW( NMAX ), ERR_BNDS_N( NMAX, 3 ),
83 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
84 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
85 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
105 COMMON / infoc / infot, nout, ok, lerr
106 COMMON / srnamc / srnamt
109 INTRINSIC cmplx, real
114 WRITE( nout, fmt = * )
121 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
122 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
137 IF( lsamen( 2, c2,
'GE' ) )
THEN
143 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
144 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
146 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
147 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
149 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
150 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
152 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
153 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
159 CALL cgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
160 $ x, 1, rcond, r1, r2, w, rw, info )
161 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
163 CALL cgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
164 $ x, 1, rcond, r1, r2, w, rw, info )
165 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
167 CALL cgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
168 $ x, 1, rcond, r1, r2, w, rw, info )
169 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
171 CALL cgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
172 $ x, 1, rcond, r1, r2, w, rw, info )
173 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
175 CALL cgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
176 $ x, 2, rcond, r1, r2, w, rw, info )
177 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
179 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
180 $ x, 2, rcond, r1, r2, w, rw, info )
181 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
184 CALL cgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
185 $ x, 1, rcond, r1, r2, w, rw, info )
186 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
189 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
190 $ x, 1, rcond, r1, r2, w, rw, info )
191 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
194 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
195 $ x, 1, rcond, r1, r2, w, rw, info )
196 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
198 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
199 $ x, 2, rcond, r1, r2, w, rw, info )
200 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
202 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
203 $ x, 1, rcond, r1, r2, w, rw, info )
204 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
212 CALL cgesvxx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
213 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
214 $ err_bnds_c, nparams, params, w, rw, info )
215 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
217 CALL cgesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
218 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
219 $ err_bnds_c, nparams, params, w, rw, info )
220 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
222 CALL cgesvxx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
223 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
224 $ err_bnds_c, nparams, params, w, rw, info )
225 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
227 CALL cgesvxx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
228 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
229 $ err_bnds_c, nparams, params, w, rw, info )
230 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
232 CALL cgesvxx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
233 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
234 $ err_bnds_c, nparams, params, w, rw, info )
235 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
237 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
238 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
239 $ err_bnds_c, nparams, params, w, rw, info )
240 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
243 CALL cgesvxx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
244 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
245 $ err_bnds_c, nparams, params, w, rw, info )
246 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
249 CALL cgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
250 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
251 $ err_bnds_c, nparams, params, w, rw, info )
252 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
255 CALL cgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
256 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
257 $ err_bnds_c, nparams, params, w, rw, info )
258 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
260 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
261 $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
262 $ err_bnds_c, nparams, params, w, rw, info )
263 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
265 CALL cgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
266 $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
267 $ err_bnds_c, nparams, params, w, rw, info )
268 CALL chkxer(
'CGESVXX', infot, nout, lerr, ok )
270 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
276 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
277 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
279 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
280 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
282 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
283 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
285 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
286 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
288 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
289 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
291 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
292 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
298 CALL cgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
299 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
300 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
302 CALL cgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
303 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
304 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
306 CALL cgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
307 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
308 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
310 CALL cgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
311 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
312 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
314 CALL cgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
315 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
316 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
318 CALL cgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
319 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
320 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
322 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
323 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
324 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
326 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
327 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
328 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
331 CALL cgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
332 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
333 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
336 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
337 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
338 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
341 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
342 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
343 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
345 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
346 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
347 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
349 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
350 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
351 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
359 CALL cgbsvxx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
360 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
361 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
363 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
365 CALL cgbsvxx(
'N',
'/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
366 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
367 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
369 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
371 CALL cgbsvxx(
'N',
'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
372 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
373 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
375 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
377 CALL cgbsvxx(
'N',
'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
378 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
379 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
381 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
383 CALL cgbsvxx(
'N',
'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
384 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
385 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
387 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
389 CALL cgbsvxx(
'N',
'N', 0, 1, 1, -1, a, 1, af, 1, ip, eq, r, c,
390 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
391 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
393 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
395 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
396 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
397 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
399 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
401 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
402 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
403 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
405 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
408 CALL cgbsvxx(
'F',
'N', 0, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
409 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
410 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
412 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
415 CALL cgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
416 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
417 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
419 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
422 CALL cgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
423 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
424 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
426 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
428 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
429 $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
430 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
432 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
434 CALL cgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
435 $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
436 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
438 CALL chkxer(
'CGBSVXX', infot, nout, lerr, ok )
440 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
446 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
448 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
450 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
452 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
454 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
455 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
461 CALL cgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
462 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
463 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
464 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
466 CALL cgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
467 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
468 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
469 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
471 CALL cgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
472 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
473 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
474 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
476 CALL cgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
477 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
478 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
479 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
481 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
482 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
483 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
484 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
486 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
487 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
488 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
489 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
491 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
497 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
498 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
500 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
501 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
503 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
504 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
506 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
507 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
509 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
510 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
516 CALL cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
517 $ rcond, r1, r2, w, rw, info )
518 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
520 CALL cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
521 $ rcond, r1, r2, w, rw, info )
522 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
524 CALL cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
525 $ rcond, r1, r2, w, rw, info )
526 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
528 CALL cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
529 $ rcond, r1, r2, w, rw, info )
530 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
532 CALL cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
533 $ rcond, r1, r2, w, rw, info )
534 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
536 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
537 $ rcond, r1, r2, w, rw, info )
538 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
541 CALL cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
542 $ rcond, r1, r2, w, rw, info )
543 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
546 CALL cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
547 $ rcond, r1, r2, w, rw, info )
548 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
550 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
551 $ rcond, r1, r2, w, rw, info )
552 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
554 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
555 $ rcond, r1, r2, w, rw, info )
556 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
564 CALL cposvxx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
565 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
566 $ err_bnds_c, nparams, params, w, rw, info )
567 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
569 CALL cposvxx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
570 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
571 $ err_bnds_c, nparams, params, w, rw, info )
572 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
574 CALL cposvxx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
575 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
576 $ err_bnds_c, nparams, params, w, rw, info )
577 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
579 CALL cposvxx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
580 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
581 $ err_bnds_c, nparams, params, w, rw, info )
582 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
584 CALL cposvxx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
585 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
586 $ err_bnds_c, nparams, params, w, rw, info )
587 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
589 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
590 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
591 $ err_bnds_c, nparams, params, w, rw, info )
592 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
595 CALL cposvxx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
596 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
597 $ err_bnds_c, nparams, params, w, rw, info )
598 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
601 CALL cposvxx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
602 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
603 $ err_bnds_c, nparams, params, w, rw, info )
604 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
606 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
607 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
608 $ err_bnds_c, nparams, params, w, rw, info )
609 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
611 CALL cposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
612 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
613 $ err_bnds_c, nparams, params, w, rw, info )
614 CALL chkxer(
'CPOSVXX', infot, nout, lerr, ok )
616 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
622 CALL cppsv(
'/', 0, 0, a, b, 1, info )
623 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
625 CALL cppsv(
'U', -1, 0, a, b, 1, info )
626 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
628 CALL cppsv(
'U', 0, -1, a, b, 1, info )
629 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
631 CALL cppsv(
'U', 2, 0, a, b, 1, info )
632 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
638 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
639 $ r1, r2, w, rw, info )
640 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
642 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
643 $ r1, r2, w, rw, info )
644 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
646 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
647 $ r1, r2, w, rw, info )
648 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
650 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
651 $ r1, r2, w, rw, info )
652 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
655 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
656 $ r1, r2, w, rw, info )
657 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
660 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
661 $ r1, r2, w, rw, info )
662 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
664 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
665 $ r1, r2, w, rw, info )
666 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
668 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
669 $ r1, r2, w, rw, info )
670 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
672 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
678 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
679 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
681 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
682 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
684 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
685 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
687 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
688 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
690 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
691 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
693 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
694 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
700 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
701 $ rcond, r1, r2, w, rw, info )
702 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
704 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
705 $ rcond, r1, r2, w, rw, info )
706 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
708 CALL cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
709 $ 1, rcond, r1, r2, w, rw, info )
710 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
712 CALL cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
713 $ 1, rcond, r1, r2, w, rw, info )
714 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
716 CALL cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
717 $ 1, rcond, r1, r2, w, rw, info )
718 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
720 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
721 $ rcond, r1, r2, w, rw, info )
722 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
724 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
725 $ rcond, r1, r2, w, rw, info )
726 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
729 CALL cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
730 $ rcond, r1, r2, w, rw, info )
731 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
734 CALL cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
735 $ rcond, r1, r2, w, rw, info )
736 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
738 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
739 $ rcond, r1, r2, w, rw, info )
740 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
742 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
743 $ rcond, r1, r2, w, rw, info )
744 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
746 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
752 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
753 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
755 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
756 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
758 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
759 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
765 CALL cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
766 $ 1, rcond, r1, r2, w, rw, info )
767 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
769 CALL cptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
770 $ 1, rcond, r1, r2, w, rw, info )
771 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
773 CALL cptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
774 $ 1, rcond, r1, r2, w, rw, info )
775 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
777 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
778 $ 2, rcond, r1, r2, w, rw, info )
779 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
781 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
782 $ 1, rcond, r1, r2, w, rw, info )
783 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
785 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
791 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
792 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
794 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
795 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
797 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
798 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
800 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
801 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
803 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
804 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
806 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
807 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
809 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
810 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
816 CALL chesvx(
'/',
'U', 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',
'/', 0, 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', -1, 0, 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', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
829 $ rcond, r1, r2, w, 1, rw, info )
830 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
832 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, 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, 1, ip, b, 2, 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, 1, x, 2,
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, 1,
845 $ rcond, r1, r2, w, 4, rw, info )
846 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
848 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
849 $ rcond, r1, r2, w, 3, rw, info )
850 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
858 CALL chesvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
859 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
860 $ err_bnds_c, nparams, params, w, rw, info )
861 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
863 CALL chesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
864 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
865 $ err_bnds_c, nparams, params, w, rw, info )
866 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
868 CALL chesvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
869 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
870 $ err_bnds_c, nparams, params, w, rw, info )
871 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
873 CALL chesvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, c, b, 1, x,
874 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
875 $ err_bnds_c, nparams, params, w, rw, info )
876 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
878 CALL chesvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, c, b, 2, x,
879 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
880 $ err_bnds_c, nparams, params, w, rw, info )
881 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
883 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, c, b, 2, x,
884 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
885 $ err_bnds_c, nparams, params, w, rw, info )
886 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
889 CALL chesvxx(
'F',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
890 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
891 $ err_bnds_c, nparams, params, w, rw, info )
892 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
895 CALL chesvxx(
'F',
'U', 1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
896 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
897 $ err_bnds_c, nparams, params, w, rw, info )
898 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
900 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 1, x,
901 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
902 $ err_bnds_c, nparams, params, w, rw, info )
903 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
905 CALL chesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 2, x,
906 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
907 $ err_bnds_c, nparams, params, w, rw, info )
908 CALL chkxer(
'CHESVXX', infot, nout, lerr, ok )
910 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
914 srnamt =
'CHESV_ROOK'
916 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
917 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
919 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
920 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
922 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
923 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
925 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
926 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
928 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
929 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
931 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
932 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
934 ELSE IF( lsamen( 2, c2,
'HK' ) )
THEN
948 CALL chesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
949 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
951 CALL chesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
952 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
954 CALL chesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
955 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
957 CALL chesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
958 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
960 CALL chesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
961 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
963 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
964 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
966 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
967 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
969 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
975 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
976 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
978 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
979 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
981 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
982 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
984 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
985 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
991 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
993 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
995 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
997 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
999 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1001 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1003 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1005 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1007 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1009 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1011 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1013 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
1015 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
1021 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1022 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1024 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1025 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1027 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1028 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1030 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1031 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1033 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1034 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1036 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1037 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
1043 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1044 $ rcond, r1, r2, w, 1, rw, info )
1045 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1047 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1048 $ rcond, r1, r2, w, 1, rw, info )
1049 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1051 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
1052 $ rcond, r1, r2, w, 1, rw, info )
1053 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1055 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
1056 $ rcond, r1, r2, w, 1, rw, info )
1057 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1059 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
1060 $ rcond, r1, r2, w, 4, rw, info )
1061 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1063 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
1064 $ rcond, r1, r2, w, 4, rw, info )
1065 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1067 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
1068 $ rcond, r1, r2, w, 4, rw, info )
1069 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1071 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
1072 $ rcond, r1, r2, w, 4, rw, info )
1073 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1075 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
1076 $ rcond, r1, r2, w, 3, rw, info )
1077 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
1086 CALL csysvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1087 $ 1, 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',
'/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, 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 CALL csysvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1097 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1098 $ err_bnds_c, nparams, params, w, rw, info )
1099 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1102 CALL csysvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
1103 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1104 $ err_bnds_c, nparams, params, w, rw, info )
1105 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1108 CALL csysvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
1109 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1110 $ err_bnds_c, nparams, params, w, rw, info )
1111 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1113 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
1114 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1115 $ err_bnds_c, nparams, params, w, rw, info )
1116 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1118 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip,
'A', r, b, 2, x,
1119 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1120 $ err_bnds_c, nparams, params, w, rw, info )
1121 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1124 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1125 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1126 $ err_bnds_c, nparams, params, w, rw, info )
1127 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1131 CALL csysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1132 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1133 $ err_bnds_c, nparams, params, w, rw, info )
1134 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1137 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
1138 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1139 $ err_bnds_c, nparams, params, w, rw, info )
1140 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1142 CALL csysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1143 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1144 $ err_bnds_c, nparams, params, w, rw, info )
1145 CALL chkxer(
'CSYSVXX', infot, nout, lerr, ok )
1147 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
1151 srnamt =
'CSYSV_ROOK'
1153 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1154 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1156 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1157 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1159 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1160 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1162 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1163 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1165 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1166 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1168 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1169 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
1171 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
1185 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
1186 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1188 CALL csysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
1189 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1191 CALL csysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
1192 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1194 CALL csysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
1195 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1197 CALL csysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
1198 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1200 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
1201 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1203 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
1204 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
1206 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
1212 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
1213 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1215 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
1216 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1218 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
1219 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1221 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
1222 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1228 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1230 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1232 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1234 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1236 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1238 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1240 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1242 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1244 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1246 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1248 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1250 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1256 WRITE( nout, fmt = 9999 )path
1258 WRITE( nout, fmt = 9998 )path
1261 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1262 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine cerrvx(path, nunit)
CERRVX
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 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 cgesv(n, nrhs, a, lda, ipiv, b, ldb, info)
Download CGESV + dependencies <a href="http://www.netlib.org/cgi-bin/netlibfiles....
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 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 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 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 cppsv(uplo, n, nrhs, ap, b, ldb, info)
CPPSV computes the solution to system of linear equations A * X = B for OTHER 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 cptsv(n, nrhs, d, e, b, ldb, info)
CPTSV computes the solution to system of linear equations A * X = B for PT 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