56 SUBROUTINE zerrvx( PATH, NUNIT )
72 parameter ( nmax = 4 )
74 parameter ( one = 1.0d+0 )
79 INTEGER i, info, j, n_err_bnds, nparams
80 DOUBLE PRECISION rcond, rpvgrw, berr
84 DOUBLE PRECISION 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*16 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 dble, dcmplx
117 WRITE( nout, fmt = * )
124 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
125 $ -1.d0 / dble( i+j ) )
126 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
127 $ -1.d0 / dble( i+j ) )
142 IF(
lsamen( 2, c2,
'GE' ) )
THEN
148 CALL zgesv( -1, 0, a, 1, ip, b, 1, info )
149 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
151 CALL zgesv( 0, -1, a, 1, ip, b, 1, info )
152 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
154 CALL zgesv( 2, 1, a, 1, ip, b, 2, info )
155 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
157 CALL zgesv( 2, 1, a, 2, ip, b, 1, info )
158 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
164 CALL zgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
165 $ x, 1, rcond, r1, r2, w, rw, info )
166 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
168 CALL zgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
169 $ x, 1, rcond, r1, r2, w, rw, info )
170 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
172 CALL zgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
173 $ x, 1, rcond, r1, r2, w, rw, info )
174 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
176 CALL zgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
177 $ x, 1, rcond, r1, r2, w, rw, info )
178 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
180 CALL zgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
181 $ x, 2, rcond, r1, r2, w, rw, info )
182 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
184 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
185 $ x, 2, rcond, r1, r2, w, rw, info )
186 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
189 CALL zgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
190 $ x, 1, rcond, r1, r2, w, rw, info )
191 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
194 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
199 CALL zgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
200 $ x, 1, rcond, r1, r2, w, rw, info )
201 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
203 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
204 $ x, 2, rcond, r1, r2, w, rw, info )
205 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
207 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
208 $ x, 1, rcond, r1, r2, w, rw, info )
209 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
217 CALL zgesvxx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b,
218 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
219 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
221 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
223 CALL zgesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b,
224 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
225 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
227 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
229 CALL zgesvxx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b,
230 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
231 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
233 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
235 CALL zgesvxx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b,
236 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
237 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
239 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
241 CALL zgesvxx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b,
242 $ 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
243 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
245 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
247 CALL zgesvxx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b,
248 $ 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
249 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
251 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
254 CALL zgesvxx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b,
255 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
256 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
258 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
261 CALL zgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b,
262 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
263 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
265 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
268 CALL zgesvxx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b,
269 $ 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
270 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
272 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
274 CALL zgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b,
275 $ 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
276 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
278 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
280 CALL zgesvxx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b,
281 $ 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
282 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
284 CALL chkxer(
'ZGESVXX', infot, nout, lerr, ok )
286 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
292 CALL zgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
293 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
295 CALL zgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
296 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
298 CALL zgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
299 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
301 CALL zgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
302 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
304 CALL zgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
305 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
307 CALL zgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
308 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
314 CALL zgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
315 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
316 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
318 CALL zgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
319 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
320 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
322 CALL zgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
323 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
324 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
326 CALL zgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
327 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
328 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
330 CALL zgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
331 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
332 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
334 CALL zgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
335 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
336 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
338 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
339 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
340 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
342 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
343 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
344 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
347 CALL zgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
348 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
349 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
352 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
353 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
354 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
357 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
358 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
359 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
361 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
362 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
363 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
365 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
366 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
367 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
375 CALL zgbsvxx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
376 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
377 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
379 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
381 CALL zgbsvxx(
'N',
'/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
382 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
383 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
385 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
387 CALL zgbsvxx(
'N',
'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
388 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
389 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
391 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
393 CALL zgbsvxx(
'N',
'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
394 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
395 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
397 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
399 CALL zgbsvxx(
'N',
'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
400 $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
401 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
403 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
405 CALL zgbsvxx(
'N',
'N', 0, 1, 1, -1, a, 1, af, 1, ip, eq, r, c,
406 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
407 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
409 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
411 CALL zgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
412 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
413 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
415 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
417 CALL zgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
418 $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
419 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
421 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
424 CALL zgbsvxx(
'F',
'N', 0, 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(
'ZGBSVXX', infot, nout, lerr, ok )
431 CALL zgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
432 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
433 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
435 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
438 CALL zgbsvxx(
'F',
'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
439 $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
440 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
442 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
444 CALL zgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
445 $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
446 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
448 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
450 CALL zgbsvxx(
'N',
'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
451 $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
452 $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
454 CALL chkxer(
'ZGBSVXX', infot, nout, lerr, ok )
456 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
462 CALL zgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
464 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
466 CALL zgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
468 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
470 CALL zgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
471 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
477 CALL zgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
478 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
479 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
480 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
482 CALL zgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
483 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
484 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
485 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
487 CALL zgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
488 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
489 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
490 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
492 CALL zgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
493 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
494 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
495 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
497 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
498 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
499 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
500 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
502 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
503 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
504 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
505 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
507 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
511 srnamt =
'ZHESV_ROOK'
513 CALL zhesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
514 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
516 CALL zhesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
517 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
519 CALL zhesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
520 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
522 CALL zhesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
523 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
525 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
531 CALL zposv(
'/', 0, 0, a, 1, b, 1, info )
532 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
534 CALL zposv(
'U', -1, 0, a, 1, b, 1, info )
535 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
537 CALL zposv(
'U', 0, -1, a, 1, b, 1, info )
538 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
540 CALL zposv(
'U', 2, 0, a, 1, b, 2, info )
541 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
543 CALL zposv(
'U', 2, 0, a, 2, b, 1, info )
544 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
550 CALL zposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
551 $ rcond, r1, r2, w, rw, info )
552 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
554 CALL zposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
555 $ rcond, r1, r2, w, rw, info )
556 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
558 CALL zposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
559 $ rcond, r1, r2, w, rw, info )
560 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
562 CALL zposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
563 $ rcond, r1, r2, w, rw, info )
564 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
566 CALL zposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
567 $ rcond, r1, r2, w, rw, info )
568 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
570 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
571 $ rcond, r1, r2, w, rw, info )
572 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
575 CALL zposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
576 $ rcond, r1, r2, w, rw, info )
577 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
580 CALL zposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
581 $ rcond, r1, r2, w, rw, info )
582 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
584 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
585 $ rcond, r1, r2, w, rw, info )
586 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
588 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
589 $ rcond, r1, r2, w, rw, info )
590 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
598 CALL zposvxx(
'/',
'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(
'ZPOSVXX', infot, nout, lerr, ok )
603 CALL zposvxx(
'N',
'/', 0, 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(
'ZPOSVXX', infot, nout, lerr, ok )
608 CALL zposvxx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
609 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
610 $ err_bnds_c, nparams, params, w, rw, info )
611 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
613 CALL zposvxx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
614 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
615 $ err_bnds_c, nparams, params, w, rw, info )
616 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
618 CALL zposvxx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
619 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
620 $ err_bnds_c, nparams, params, w, rw, info )
621 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
623 CALL zposvxx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
624 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
625 $ err_bnds_c, nparams, params, w, rw, info )
626 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
629 CALL zposvxx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
630 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
631 $ err_bnds_c, nparams, params, w, rw, info )
632 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
635 CALL zposvxx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
636 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
637 $ err_bnds_c, nparams, params, w, rw, info )
638 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
640 CALL zposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
641 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
642 $ err_bnds_c, nparams, params, w, rw, info )
643 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
645 CALL zposvxx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
646 $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
647 $ err_bnds_c, nparams, params, w, rw, info )
648 CALL chkxer(
'ZPOSVXX', infot, nout, lerr, ok )
650 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
656 CALL zppsv(
'/', 0, 0, a, b, 1, info )
657 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
659 CALL zppsv(
'U', -1, 0, a, b, 1, info )
660 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
662 CALL zppsv(
'U', 0, -1, a, b, 1, info )
663 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
665 CALL zppsv(
'U', 2, 0, a, b, 1, info )
666 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
672 CALL zppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
673 $ r1, r2, w, rw, info )
674 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
676 CALL zppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
677 $ r1, r2, w, rw, info )
678 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
680 CALL zppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
681 $ r1, r2, w, rw, info )
682 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
684 CALL zppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
685 $ r1, r2, w, rw, info )
686 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
689 CALL zppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
690 $ r1, r2, w, rw, info )
691 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
694 CALL zppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
695 $ r1, r2, w, rw, info )
696 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
698 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
699 $ r1, r2, w, rw, info )
700 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
702 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
703 $ r1, r2, w, rw, info )
704 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
706 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
712 CALL zpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
713 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
715 CALL zpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
716 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
718 CALL zpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
719 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
721 CALL zpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
722 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
724 CALL zpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
725 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
727 CALL zpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
728 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
734 CALL zpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
735 $ rcond, r1, r2, w, rw, info )
736 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
738 CALL zpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
739 $ rcond, r1, r2, w, rw, info )
740 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
742 CALL zpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
743 $ 1, rcond, r1, r2, w, rw, info )
744 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
746 CALL zpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
747 $ 1, rcond, r1, r2, w, rw, info )
748 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
750 CALL zpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
751 $ 1, rcond, r1, r2, w, rw, info )
752 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
754 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
755 $ rcond, r1, r2, w, rw, info )
756 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
758 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
759 $ rcond, r1, r2, w, rw, info )
760 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
763 CALL zpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
764 $ rcond, r1, r2, w, rw, info )
765 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
768 CALL zpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
769 $ rcond, r1, r2, w, rw, info )
770 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
772 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
773 $ rcond, r1, r2, w, rw, info )
774 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
776 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
777 $ rcond, r1, r2, w, rw, info )
778 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
780 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
786 CALL zptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
787 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
789 CALL zptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
790 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
792 CALL zptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
793 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
799 CALL zptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
800 $ 1, rcond, r1, r2, w, rw, info )
801 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
803 CALL zptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
804 $ 1, rcond, r1, r2, w, rw, info )
805 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
807 CALL zptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
808 $ 1, rcond, r1, r2, w, rw, info )
809 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
811 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
812 $ 2, rcond, r1, r2, w, rw, info )
813 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
815 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
816 $ 1, rcond, r1, r2, w, rw, info )
817 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
819 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
825 CALL zhesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
826 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
828 CALL zhesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
829 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
831 CALL zhesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
832 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
834 CALL zhesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
835 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
837 CALL zhesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
838 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
840 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
841 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
843 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
844 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
850 CALL zhesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
851 $ rcond, r1, r2, w, 1, rw, info )
852 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
854 CALL zhesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
855 $ rcond, r1, r2, w, 1, rw, info )
856 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
858 CALL zhesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
859 $ rcond, r1, r2, w, 1, rw, info )
860 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
862 CALL zhesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
863 $ rcond, r1, r2, w, 1, rw, info )
864 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
866 CALL zhesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
867 $ rcond, r1, r2, w, 4, rw, info )
868 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
870 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
871 $ rcond, r1, r2, w, 4, rw, info )
872 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
874 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
875 $ rcond, r1, r2, w, 4, rw, info )
876 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
878 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
879 $ rcond, r1, r2, w, 4, rw, info )
880 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
882 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
883 $ rcond, r1, r2, w, 3, rw, info )
884 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
892 CALL zhesvxx(
'/',
'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(
'ZHESVXX', infot, nout, lerr, ok )
897 CALL zhesvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
898 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
899 $ err_bnds_c, nparams, params, w, rw, info )
900 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
902 CALL zhesvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
903 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
904 $ err_bnds_c, nparams, params, w, rw, info )
905 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
907 CALL zhesvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, c, b, 1, x,
908 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
909 $ err_bnds_c, nparams, params, w, rw, info )
910 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
912 CALL zhesvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, c, b, 2, x,
913 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
914 $ err_bnds_c, nparams, params, w, rw, info )
915 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
917 CALL zhesvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, c, b, 2, x,
918 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
919 $ err_bnds_c, nparams, params, w, rw, info )
920 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
923 CALL zhesvxx(
'F',
'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
924 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
925 $ err_bnds_c, nparams, params, w, rw, info )
926 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
929 CALL zhesvxx(
'F',
'U', 1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
930 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
931 $ err_bnds_c, nparams, params, w, rw, info )
932 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
934 CALL zhesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 1, x,
935 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
936 $ err_bnds_c, nparams, params, w, rw, info )
937 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
939 CALL zhesvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 2, x,
940 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
941 $ err_bnds_c, nparams, params, w, rw, info )
942 CALL chkxer(
'ZHESVXX', infot, nout, lerr, ok )
944 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
948 srnamt =
'ZHESV_ROOK'
950 CALL zhesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
951 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
953 CALL zhesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
954 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
956 CALL zhesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
957 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
959 CALL zhesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
960 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
962 CALL zhesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
963 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
965 CALL zhesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
966 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
968 ELSE IF(
lsamen( 2, c2,
'HK' ) )
THEN
982 CALL zhesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
983 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
985 CALL zhesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
986 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
988 CALL zhesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
989 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
991 CALL zhesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
992 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
994 CALL zhesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
995 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
997 CALL zhesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
998 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
1000 CALL zhesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
1001 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
1003 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
1009 CALL zhpsv(
'/', 0, 0, a, ip, b, 1, info )
1010 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
1012 CALL zhpsv(
'U', -1, 0, a, ip, b, 1, info )
1013 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
1015 CALL zhpsv(
'U', 0, -1, a, ip, b, 1, info )
1016 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
1018 CALL zhpsv(
'U', 2, 0, a, ip, b, 1, info )
1019 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
1025 CALL zhpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1027 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
1029 CALL zhpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1031 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
1033 CALL zhpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1035 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
1037 CALL zhpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1039 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
1041 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1043 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
1045 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1047 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
1049 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
1055 CALL zsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1056 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
1058 CALL zsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1059 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
1061 CALL zsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1062 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
1064 CALL zsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1065 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
1067 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1068 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
1070 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1071 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
1077 CALL zsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1078 $ rcond, r1, r2, w, 1, rw, info )
1079 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1081 CALL zsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1082 $ rcond, r1, r2, w, 1, rw, info )
1083 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1085 CALL zsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
1086 $ rcond, r1, r2, w, 1, rw, info )
1087 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1089 CALL zsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
1090 $ rcond, r1, r2, w, 1, rw, info )
1091 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1093 CALL zsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
1094 $ rcond, r1, r2, w, 4, rw, info )
1095 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1097 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
1098 $ rcond, r1, r2, w, 4, rw, info )
1099 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1101 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
1102 $ rcond, r1, r2, w, 4, rw, info )
1103 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1105 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
1106 $ rcond, r1, r2, w, 4, rw, info )
1107 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1109 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
1110 $ rcond, r1, r2, w, 3, rw, info )
1111 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
1120 CALL zsysvxx(
'/',
'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1121 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1122 $ err_bnds_c, nparams, params, w, rw, info )
1123 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1125 CALL zsysvxx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1126 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1127 $ err_bnds_c, nparams, params, w, rw, info )
1128 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1130 CALL zsysvxx(
'N',
'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1131 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1132 $ err_bnds_c, nparams, params, w, rw, info )
1133 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1136 CALL zsysvxx(
'N',
'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
1137 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1138 $ err_bnds_c, nparams, params, w, rw, info )
1139 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1142 CALL zsysvxx(
'N',
'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
1143 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1144 $ err_bnds_c, nparams, params, w, rw, info )
1145 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1147 CALL zsysvxx(
'N',
'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
1148 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1149 $ err_bnds_c, nparams, params, w, rw, info )
1150 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1152 CALL zsysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip,
'A', r, b, 2, x,
1153 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1154 $ err_bnds_c, nparams, params, w, rw, info )
1155 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1158 CALL zsysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1159 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1160 $ err_bnds_c, nparams, params, w, rw, info )
1161 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1165 CALL zsysvxx(
'F',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1166 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1167 $ err_bnds_c, nparams, params, w, rw, info )
1168 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1171 CALL zsysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
1172 $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1173 $ err_bnds_c, nparams, params, w, rw, info )
1174 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1176 CALL zsysvxx(
'N',
'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1177 $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1178 $ err_bnds_c, nparams, params, w, rw, info )
1179 CALL chkxer(
'ZSYSVXX', infot, nout, lerr, ok )
1181 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
1185 srnamt =
'ZSYSV_ROOK'
1187 CALL zsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1188 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
1190 CALL zsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1191 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
1193 CALL zsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1194 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
1196 CALL zsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1197 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
1199 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1200 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
1202 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1204 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
1218 CALL zsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
1219 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1221 CALL zsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
1222 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1224 CALL zsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
1225 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1227 CALL zsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
1228 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1230 CALL zsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
1231 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1233 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
1234 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1236 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
1237 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
1239 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
1245 CALL zspsv(
'/', 0, 0, a, ip, b, 1, info )
1246 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1248 CALL zspsv(
'U', -1, 0, a, ip, b, 1, info )
1249 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1251 CALL zspsv(
'U', 0, -1, a, ip, b, 1, info )
1252 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1254 CALL zspsv(
'U', 2, 0, a, ip, b, 1, info )
1255 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1261 CALL zspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1263 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1265 CALL zspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1267 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1269 CALL zspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1271 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1273 CALL zspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1275 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1277 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1279 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1281 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1283 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1289 WRITE( nout, fmt = 9999 )path
1291 WRITE( nout, fmt = 9998 )path
1294 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1295 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine zgesvxx(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)
ZGESVXX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine zsysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine zhesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine zgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
ZGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
subroutine zgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine zsysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine zsysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
ZSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine zhpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZHPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zgbsvxx(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)
ZGBSVXX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine zposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
ZPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine zppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
subroutine zhesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
ZHESVX computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine zpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zsysvxx(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)
ZSYSVXX computes the solution to system of linear equations A * X = B for SY matrices ...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine zspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine zgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine zhpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zhesvxx(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)
ZHESVXX computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine zerrvx(PATH, NUNIT)
ZERRVX
subroutine zppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine zhesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
subroutine zposvxx(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)
ZPOSVXX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine zposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine zhesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine zptsv(N, NRHS, D, E, B, LDB, INFO)
ZPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine zsysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine zgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
ZGTSV computes the solution to system of linear equations A * X = B for GT matrices ...