75 DOUBLE PRECISION RCOND
79 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
80 $ RF( NMAX ), RW( NMAX )
81 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
82 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
102 COMMON / infoc / infot, nout, ok, lerr
103 COMMON / srnamc / srnamt
106 INTRINSIC dble, dcmplx
111 WRITE( nout, fmt = * )
118 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
119 $ -1.d0 / dble( i+j ) )
120 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
121 $ -1.d0 / dble( i+j ) )
136 IF( lsamen( 2, c2,
'GE' ) )
THEN
142 CALL zgesv( -1, 0, a, 1, ip, b, 1, info )
143 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
145 CALL zgesv( 0, -1, a, 1, ip, b, 1, info )
146 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
148 CALL zgesv( 2, 1, a, 1, ip, b, 2, info )
149 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
151 CALL zgesv( 2, 1, a, 2, ip, b, 1, info )
152 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
158 CALL zgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
159 $ x, 1, rcond, r1, r2, w, rw, info )
160 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
162 CALL zgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
163 $ x, 1, rcond, r1, r2, w, rw, info )
164 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
166 CALL zgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
167 $ x, 1, rcond, r1, r2, w, rw, info )
168 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
170 CALL zgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
171 $ x, 1, rcond, r1, r2, w, rw, info )
172 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
174 CALL zgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
175 $ x, 2, rcond, r1, r2, w, rw, info )
176 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
178 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
179 $ x, 2, rcond, r1, r2, w, rw, info )
180 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
183 CALL zgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
184 $ x, 1, rcond, r1, r2, w, rw, info )
185 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
188 CALL zgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
189 $ x, 1, rcond, r1, r2, w, rw, info )
190 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
193 CALL zgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
194 $ x, 1, rcond, r1, r2, w, rw, info )
195 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
197 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
198 $ x, 2, rcond, r1, r2, w, rw, info )
199 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
201 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
202 $ x, 1, rcond, r1, r2, w, rw, info )
203 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
205 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
211 CALL zgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
212 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
214 CALL zgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
215 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
217 CALL zgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
218 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
220 CALL zgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
221 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
223 CALL zgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
224 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
226 CALL zgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
227 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
233 CALL zgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
234 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
235 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
237 CALL zgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
238 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
239 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
241 CALL zgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
242 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
243 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
245 CALL zgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
246 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
247 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
249 CALL zgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
250 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
251 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
253 CALL zgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
254 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
255 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
257 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
258 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
259 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
261 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
262 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
263 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
266 CALL zgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
267 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
268 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
271 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
272 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
273 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
276 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
277 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
278 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
280 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
281 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
282 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
284 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
285 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
286 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
288 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
294 CALL zgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
296 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
298 CALL zgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
300 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
302 CALL zgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
303 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
309 CALL zgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
310 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
311 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
312 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
314 CALL zgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
315 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
316 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
317 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
319 CALL zgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
320 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
321 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
322 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
324 CALL zgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
325 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
326 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
327 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
329 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
330 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
331 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
332 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
334 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
335 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
336 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
337 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
339 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
345 CALL zposv(
'/', 0, 0, a, 1, b, 1, info )
346 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
348 CALL zposv(
'U', -1, 0, a, 1, b, 1, info )
349 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
351 CALL zposv(
'U', 0, -1, a, 1, b, 1, info )
352 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
354 CALL zposv(
'U', 2, 0, a, 1, b, 2, info )
355 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
357 CALL zposv(
'U', 2, 0, a, 2, b, 1, info )
358 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
364 CALL zposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
365 $ rcond, r1, r2, w, rw, info )
366 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
368 CALL zposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
369 $ rcond, r1, r2, w, rw, info )
370 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
372 CALL zposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
373 $ rcond, r1, r2, w, rw, info )
374 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
376 CALL zposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
377 $ rcond, r1, r2, w, rw, info )
378 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
380 CALL zposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
381 $ rcond, r1, r2, w, rw, info )
382 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
384 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
385 $ rcond, r1, r2, w, rw, info )
386 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
389 CALL zposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
390 $ rcond, r1, r2, w, rw, info )
391 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
394 CALL zposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
395 $ rcond, r1, r2, w, rw, info )
396 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
398 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
399 $ rcond, r1, r2, w, rw, info )
400 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
402 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
403 $ rcond, r1, r2, w, rw, info )
404 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
406 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
412 CALL zppsv(
'/', 0, 0, a, b, 1, info )
413 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
415 CALL zppsv(
'U', -1, 0, a, b, 1, info )
416 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
418 CALL zppsv(
'U', 0, -1, a, b, 1, info )
419 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
421 CALL zppsv(
'U', 2, 0, a, b, 1, info )
422 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
428 CALL zppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
429 $ r1, r2, w, rw, info )
430 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
432 CALL zppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
433 $ r1, r2, w, rw, info )
434 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
436 CALL zppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
437 $ r1, r2, w, rw, info )
438 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
440 CALL zppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
441 $ r1, r2, w, rw, info )
442 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
445 CALL zppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
446 $ r1, r2, w, rw, info )
447 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
450 CALL zppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
451 $ r1, r2, w, rw, info )
452 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
454 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
455 $ r1, r2, w, rw, info )
456 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
458 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
459 $ r1, r2, w, rw, info )
460 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
462 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
468 CALL zpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
469 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
471 CALL zpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
472 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
474 CALL zpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
475 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
477 CALL zpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
478 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
480 CALL zpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
481 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
483 CALL zpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
484 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
490 CALL zpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
491 $ rcond, r1, r2, w, rw, info )
492 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
494 CALL zpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
495 $ rcond, r1, r2, w, rw, info )
496 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
498 CALL zpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
499 $ 1, rcond, r1, r2, w, rw, info )
500 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
502 CALL zpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
503 $ 1, rcond, r1, r2, w, rw, info )
504 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
506 CALL zpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
507 $ 1, rcond, r1, r2, w, rw, info )
508 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
510 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
511 $ rcond, r1, r2, w, rw, info )
512 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
514 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
515 $ rcond, r1, r2, w, rw, info )
516 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
519 CALL zpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
520 $ rcond, r1, r2, w, rw, info )
521 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
524 CALL zpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
525 $ rcond, r1, r2, w, rw, info )
526 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
528 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
529 $ rcond, r1, r2, w, rw, info )
530 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
532 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
533 $ rcond, r1, r2, w, rw, info )
534 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
536 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
542 CALL zptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
543 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
545 CALL zptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
546 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
548 CALL zptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
549 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
555 CALL zptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
556 $ 1, rcond, r1, r2, w, rw, info )
557 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
559 CALL zptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
560 $ 1, rcond, r1, r2, w, rw, info )
561 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
563 CALL zptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
564 $ 1, rcond, r1, r2, w, rw, info )
565 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
567 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
568 $ 2, rcond, r1, r2, w, rw, info )
569 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
571 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
572 $ 1, rcond, r1, r2, w, rw, info )
573 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
575 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
581 CALL zhesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
582 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
584 CALL zhesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
585 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
587 CALL zhesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
588 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
590 CALL zhesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
591 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
593 CALL zhesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
594 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
596 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
597 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
599 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
600 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
606 CALL zhesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
607 $ rcond, r1, r2, w, 1, rw, info )
608 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
610 CALL zhesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
611 $ rcond, r1, r2, w, 1, rw, info )
612 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
614 CALL zhesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
615 $ rcond, r1, r2, w, 1, rw, info )
616 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
618 CALL zhesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
619 $ rcond, r1, r2, w, 1, rw, info )
620 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
622 CALL zhesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
623 $ rcond, r1, r2, w, 4, rw, info )
624 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
626 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
627 $ rcond, r1, r2, w, 4, rw, info )
628 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
630 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
631 $ rcond, r1, r2, w, 4, rw, info )
632 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
634 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
635 $ rcond, r1, r2, w, 4, rw, info )
636 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
638 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
639 $ rcond, r1, r2, w, 3, rw, info )
640 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
642 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
646 srnamt =
'ZHESV_ROOK'
648 CALL zhesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
649 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
651 CALL zhesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
652 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
654 CALL zhesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
655 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
657 CALL zhesv_rook(
'U', 2, 0, a, 1, ip, b, 2, 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, 1, ip, b, 2, w, 1, info )
720 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
722 CALL zhesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
723 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
725 CALL zhesv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
726 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
728 ELSE IF( lsamen( 2, c2,
'H2' ) )
THEN
732 srnamt =
'ZHESV_AA_2STAGE'
734 CALL zhesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
736 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
738 CALL zhesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
740 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
742 CALL zhesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
744 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
746 CALL zhesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
748 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
750 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
752 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
754 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
756 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
758 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
760 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
762 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN
768 CALL zsysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
769 CALL chkxer(
'ZSYSV_AA', infot, nout, lerr, ok )
771 CALL zsysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
772 CALL chkxer(
'ZSYSV_AA', infot, nout, lerr, ok )
774 CALL zsysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
775 CALL chkxer(
'ZSYSV_AA', infot, nout, lerr, ok )
777 CALL zsysv_aa(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
778 CALL chkxer(
'ZSYSV_AA', infot, nout, lerr, ok )
780 CALL zsysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
781 CALL chkxer(
'ZSYSV_AA', infot, nout, lerr, ok )
783 CALL zsysv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
784 CALL chkxer(
'ZSYSV_AA', infot, nout, lerr, ok )
786 ELSE IF( lsamen( 2, c2,
'S2' ) )
THEN
790 srnamt =
'ZSYSV_AA_2STAGE'
792 CALL zsysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
794 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
796 CALL zsysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
798 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
800 CALL zsysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
802 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
804 CALL zsysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
806 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
808 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
810 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
812 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
814 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
816 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
818 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
820 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
826 CALL zhpsv(
'/', 0, 0, a, ip, b, 1, info )
827 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
829 CALL zhpsv(
'U', -1, 0, a, ip, b, 1, info )
830 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
832 CALL zhpsv(
'U', 0, -1, a, ip, b, 1, info )
833 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
835 CALL zhpsv(
'U', 2, 0, a, ip, b, 1, info )
836 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
842 CALL zhpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
844 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
846 CALL zhpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
848 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
850 CALL zhpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
852 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
854 CALL zhpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
856 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
858 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
860 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
862 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
864 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
866 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
872 CALL zsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
873 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
875 CALL zsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
876 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
878 CALL zsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
879 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
881 CALL zsysv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
882 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
884 CALL zsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
885 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
887 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
888 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
890 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
891 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
897 CALL zsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
898 $ rcond, r1, r2, w, 1, rw, info )
899 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
901 CALL zsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
902 $ rcond, r1, r2, w, 1, rw, info )
903 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
905 CALL zsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
906 $ rcond, r1, r2, w, 1, rw, info )
907 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
909 CALL zsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
910 $ rcond, r1, r2, w, 1, rw, info )
911 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
913 CALL zsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
914 $ rcond, r1, r2, w, 4, rw, info )
915 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
917 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
918 $ rcond, r1, r2, w, 4, rw, info )
919 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
921 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
922 $ rcond, r1, r2, w, 4, rw, info )
923 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
925 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
926 $ rcond, r1, r2, w, 4, rw, info )
927 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
929 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
930 $ rcond, r1, r2, w, 3, rw, info )
931 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
933 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
937 srnamt =
'ZSYSV_ROOK'
939 CALL zsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
940 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
942 CALL zsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
943 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
945 CALL zsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
946 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
948 CALL zsysv_rook(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
949 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
951 CALL zsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
952 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
954 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
955 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
957 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
959 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
973 CALL zsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
974 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
976 CALL zsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
977 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
979 CALL zsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
980 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
982 CALL zsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
983 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
985 CALL zsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
986 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
988 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
989 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
991 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
992 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
994 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
1000 CALL zspsv(
'/', 0, 0, a, ip, b, 1, info )
1001 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1003 CALL zspsv(
'U', -1, 0, a, ip, b, 1, info )
1004 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1006 CALL zspsv(
'U', 0, -1, a, ip, b, 1, info )
1007 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1009 CALL zspsv(
'U', 2, 0, a, ip, b, 1, info )
1010 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
1016 CALL zspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1018 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1020 CALL zspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1022 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1024 CALL zspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1026 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1028 CALL zspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1030 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1032 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1034 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1036 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1038 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
1044 WRITE( nout, fmt = 9999 )path
1046 WRITE( nout, fmt = 9998 )path
1049 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1050 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',