56 SUBROUTINE zerrvx( PATH, NUNIT )
78 DOUBLE PRECISION RCOND
82 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
83 $ RF( NMAX ), RW( NMAX )
84 COMPLEX*16 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 dble, dcmplx
114 WRITE( nout, fmt = * )
121 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
122 $ -1.d0 / dble( i+j ) )
123 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
124 $ -1.d0 / dble( i+j ) )
139 IF( lsamen( 2, c2,
'GE' ) )
THEN
145 CALL zgesv( -1, 0, a, 1, ip, b, 1, info )
146 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
148 CALL zgesv( 0, -1, a, 1, ip, b, 1, info )
149 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
151 CALL zgesv( 2, 1, a, 1, ip, b, 2, info )
152 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
154 CALL zgesv( 2, 1, a, 2, ip, b, 1, info )
155 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
161 CALL zgesvx(
'/',
'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(
'ZGESVX', infot, nout, lerr, ok )
165 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
169 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
173 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
177 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
181 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
186 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
191 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
196 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
200 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
204 CALL zgesvx(
'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(
'ZGESVX', infot, nout, lerr, ok )
208 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
214 CALL zgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
215 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
217 CALL zgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
218 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
220 CALL zgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
221 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
223 CALL zgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
224 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
226 CALL zgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
227 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
229 CALL zgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
230 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
236 CALL zgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
237 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
238 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
240 CALL zgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
241 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
242 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
244 CALL zgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
245 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
246 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
248 CALL zgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
249 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
250 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
252 CALL zgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
253 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
254 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
256 CALL zgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
257 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
258 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
260 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
261 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
262 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
264 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
265 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
266 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
269 CALL zgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
270 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
271 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
274 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
275 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
276 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
279 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
280 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
281 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
283 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
284 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
285 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
287 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
288 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
289 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
291 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
297 CALL zgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
299 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
301 CALL zgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
303 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
305 CALL zgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
306 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
312 CALL zgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
313 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
314 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
315 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
317 CALL zgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
318 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
319 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
320 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
322 CALL zgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
323 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
324 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
325 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
327 CALL zgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
328 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
329 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
330 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
332 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
333 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
334 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
335 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
337 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
338 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
339 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
340 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
342 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
348 CALL zposv(
'/', 0, 0, a, 1, b, 1, info )
349 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
351 CALL zposv(
'U', -1, 0, a, 1, b, 1, info )
352 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
354 CALL zposv(
'U', 0, -1, a, 1, b, 1, info )
355 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
357 CALL zposv(
'U', 2, 0, a, 1, b, 2, info )
358 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
360 CALL zposv(
'U', 2, 0, a, 2, b, 1, info )
361 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
367 CALL zposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
368 $ rcond, r1, r2, w, rw, info )
369 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
371 CALL zposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
372 $ rcond, r1, r2, w, rw, info )
373 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
375 CALL zposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
376 $ rcond, r1, r2, w, rw, info )
377 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
379 CALL zposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
380 $ rcond, r1, r2, w, rw, info )
381 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
383 CALL zposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
384 $ rcond, r1, r2, w, rw, info )
385 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
387 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
388 $ rcond, r1, r2, w, rw, info )
389 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
392 CALL zposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
393 $ rcond, r1, r2, w, rw, info )
394 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
397 CALL zposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
398 $ rcond, r1, r2, w, rw, info )
399 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
401 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
402 $ rcond, r1, r2, w, rw, info )
403 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
405 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
406 $ rcond, r1, r2, w, rw, info )
407 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
409 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
415 CALL zppsv(
'/', 0, 0, a, b, 1, info )
416 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
418 CALL zppsv(
'U', -1, 0, a, b, 1, info )
419 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
421 CALL zppsv(
'U', 0, -1, a, b, 1, info )
422 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
424 CALL zppsv(
'U', 2, 0, a, b, 1, info )
425 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
431 CALL zppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
432 $ r1, r2, w, rw, info )
433 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
435 CALL zppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
436 $ r1, r2, w, rw, info )
437 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
439 CALL zppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
440 $ r1, r2, w, rw, info )
441 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
443 CALL zppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
444 $ r1, r2, w, rw, info )
445 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
448 CALL zppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
449 $ r1, r2, w, rw, info )
450 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
453 CALL zppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
454 $ r1, r2, w, rw, info )
455 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
457 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
458 $ r1, r2, w, rw, info )
459 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
461 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
462 $ r1, r2, w, rw, info )
463 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
465 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
471 CALL zpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
472 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
474 CALL zpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
475 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
477 CALL zpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
478 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
480 CALL zpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
481 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
483 CALL zpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
484 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
486 CALL zpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
487 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
493 CALL zpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
494 $ rcond, r1, r2, w, rw, info )
495 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
497 CALL zpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
498 $ rcond, r1, r2, w, rw, info )
499 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
501 CALL zpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
502 $ 1, rcond, r1, r2, w, rw, info )
503 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
505 CALL zpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
506 $ 1, rcond, r1, r2, w, rw, info )
507 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
509 CALL zpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
510 $ 1, rcond, r1, r2, w, rw, info )
511 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
513 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
514 $ rcond, r1, r2, w, rw, info )
515 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
517 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
518 $ rcond, r1, r2, w, rw, info )
519 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
522 CALL zpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523 $ rcond, r1, r2, w, rw, info )
524 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
527 CALL zpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
528 $ rcond, r1, r2, w, rw, info )
529 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
531 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
532 $ rcond, r1, r2, w, rw, info )
533 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
535 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
536 $ rcond, r1, r2, w, rw, info )
537 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
539 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
545 CALL zptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
546 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
548 CALL zptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
549 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
551 CALL zptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
552 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
558 CALL zptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
559 $ 1, rcond, r1, r2, w, rw, info )
560 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
562 CALL zptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
563 $ 1, rcond, r1, r2, w, rw, info )
564 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
566 CALL zptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
567 $ 1, rcond, r1, r2, w, rw, info )
568 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
570 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
571 $ 2, rcond, r1, r2, w, rw, info )
572 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
574 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
575 $ 1, rcond, r1, r2, w, rw, info )
576 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
578 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
584 CALL zhesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
585 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
587 CALL zhesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
588 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
590 CALL zhesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
591 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
593 CALL zhesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
594 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
596 CALL zhesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
597 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
599 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
600 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
602 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
603 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
609 CALL zhesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
610 $ rcond, r1, r2, w, 1, rw, info )
611 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
613 CALL zhesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
614 $ rcond, r1, r2, w, 1, rw, info )
615 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
617 CALL zhesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
618 $ rcond, r1, r2, w, 1, rw, info )
619 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
621 CALL zhesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
622 $ rcond, r1, r2, w, 1, rw, info )
623 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
625 CALL zhesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
626 $ rcond, r1, r2, w, 4, rw, info )
627 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
629 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
630 $ rcond, r1, r2, w, 4, rw, info )
631 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
633 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
634 $ rcond, r1, r2, w, 4, rw, info )
635 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
637 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
638 $ rcond, r1, r2, w, 4, rw, info )
639 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
641 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
642 $ rcond, r1, r2, w, 3, rw, info )
643 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
645 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
649 srnamt =
'ZHESV_ROOK'
651 CALL zhesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
652 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
654 CALL zhesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
655 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
657 CALL zhesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
658 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
660 CALL zhesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
661 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
663 CALL zhesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
664 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
666 CALL zhesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
667 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
669 ELSE IF( lsamen( 2, c2,
'HK' ) )
THEN
683 CALL zhesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
684 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
686 CALL zhesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
687 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
689 CALL zhesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
690 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
692 CALL zhesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
693 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
695 CALL zhesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
696 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
698 CALL zhesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
699 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
701 CALL zhesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
702 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
704 ELSE IF( lsamen( 2, c2,
'HA' ) )
THEN
710 CALL zhesv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
711 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
713 CALL zhesv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
714 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
716 CALL zhesv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
717 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
719 CALL zhesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
720 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
722 ELSE IF( lsamen( 2, c2,
'H2' ) )
THEN
726 srnamt =
'ZHESV_AA_2STAGE'
728 CALL zhesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
730 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
732 CALL zhesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
734 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
736 CALL zhesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
738 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
740 CALL zhesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
742 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
744 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
746 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
748 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
750 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
752 ELSE IF( lsamen( 2, c2,
'S2' ) )
THEN
756 srnamt =
'ZSYSV_AA_2STAGE'
758 CALL zsysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
760 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
762 CALL zsysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
764 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
766 CALL zsysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
768 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
770 CALL zsysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
772 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
774 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
776 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
778 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
780 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
782 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
788 CALL zhpsv(
'/', 0, 0, a, ip, b, 1, info )
789 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
791 CALL zhpsv(
'U', -1, 0, a, ip, b, 1, info )
792 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
794 CALL zhpsv(
'U', 0, -1, a, ip, b, 1, info )
795 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
797 CALL zhpsv(
'U', 2, 0, a, ip, b, 1, info )
798 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
804 CALL zhpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
806 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
808 CALL zhpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
810 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
812 CALL zhpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
814 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
816 CALL zhpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
818 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
820 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
822 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
824 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
826 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
828 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
834 CALL zsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
835 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
837 CALL zsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
838 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
840 CALL zsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
841 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
843 CALL zsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
844 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
846 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
847 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
849 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
850 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
856 CALL zsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
857 $ rcond, r1, r2, w, 1, rw, info )
858 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
860 CALL zsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
861 $ rcond, r1, r2, w, 1, rw, info )
862 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
864 CALL zsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
865 $ rcond, r1, r2, w, 1, rw, info )
866 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
868 CALL zsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
869 $ rcond, r1, r2, w, 1, rw, info )
870 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
872 CALL zsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
873 $ rcond, r1, r2, w, 4, rw, info )
874 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
876 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
877 $ rcond, r1, r2, w, 4, rw, info )
878 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
880 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
881 $ rcond, r1, r2, w, 4, rw, info )
882 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
884 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
885 $ rcond, r1, r2, w, 4, rw, info )
886 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
888 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
889 $ rcond, r1, r2, w, 3, rw, info )
890 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
892 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
896 srnamt =
'ZSYSV_ROOK'
898 CALL zsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
899 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
901 CALL zsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
902 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
904 CALL zsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
905 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
907 CALL zsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
908 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
910 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
911 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
913 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
915 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
929 CALL zsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
930 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
932 CALL zsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
933 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
935 CALL zsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
936 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
938 CALL zsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
939 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
941 CALL zsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
942 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
944 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
945 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
947 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
948 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
950 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
956 CALL zspsv(
'/', 0, 0, a, ip, b, 1, info )
957 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
959 CALL zspsv(
'U', -1, 0, a, ip, b, 1, info )
960 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
962 CALL zspsv(
'U', 0, -1, a, ip, b, 1, info )
963 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
965 CALL zspsv(
'U', 2, 0, a, ip, b, 1, info )
966 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
972 CALL zspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
974 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
976 CALL zspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
978 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
980 CALL zspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
982 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
984 CALL zspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
986 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
988 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
990 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
992 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
994 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1000 WRITE( nout, fmt = 9999 )path
1002 WRITE( nout, fmt = 9998 )path
1005 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1006 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',