56 SUBROUTINE zerrvx( PATH, NUNIT )
72 parameter ( nmax = 4 )
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,
'HP' ) )
THEN
728 CALL zhpsv(
'/', 0, 0, a, ip, b, 1, info )
729 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
731 CALL zhpsv(
'U', -1, 0, a, ip, b, 1, info )
732 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
734 CALL zhpsv(
'U', 0, -1, a, ip, b, 1, info )
735 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
737 CALL zhpsv(
'U', 2, 0, a, ip, b, 1, info )
738 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
744 CALL zhpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
746 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
748 CALL zhpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
750 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
752 CALL zhpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
754 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
756 CALL zhpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
758 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
760 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
762 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
764 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
766 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
768 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
774 CALL zsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
775 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
777 CALL zsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
778 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
780 CALL zsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
781 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
783 CALL zsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
784 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
786 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
787 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
789 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
790 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
796 CALL zsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
797 $ rcond, r1, r2, w, 1, rw, info )
798 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
800 CALL zsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
801 $ rcond, r1, r2, w, 1, rw, info )
802 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
804 CALL zsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
805 $ rcond, r1, r2, w, 1, rw, info )
806 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
808 CALL zsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
809 $ rcond, r1, r2, w, 1, rw, info )
810 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
812 CALL zsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
813 $ rcond, r1, r2, w, 4, rw, info )
814 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
816 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
817 $ rcond, r1, r2, w, 4, rw, info )
818 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
820 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
821 $ rcond, r1, r2, w, 4, rw, info )
822 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
824 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
825 $ rcond, r1, r2, w, 4, rw, info )
826 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
828 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
829 $ rcond, r1, r2, w, 3, rw, info )
830 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
832 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
836 srnamt =
'ZSYSV_ROOK'
838 CALL zsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
839 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
841 CALL zsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
842 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
844 CALL zsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
845 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
847 CALL zsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
848 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
850 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
851 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
853 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
855 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
869 CALL zsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
870 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
872 CALL zsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
873 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
875 CALL zsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
876 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
878 CALL zsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
879 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
881 CALL zsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
882 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
884 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
885 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
887 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
888 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
890 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
896 CALL zspsv(
'/', 0, 0, a, ip, b, 1, info )
897 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
899 CALL zspsv(
'U', -1, 0, a, ip, b, 1, info )
900 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
902 CALL zspsv(
'U', 0, -1, a, ip, b, 1, info )
903 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
905 CALL zspsv(
'U', 2, 0, a, ip, b, 1, info )
906 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
912 CALL zspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
914 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
916 CALL zspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
918 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
920 CALL zspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
922 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
924 CALL zspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
926 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
928 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
930 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
932 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
934 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
940 WRITE( nout, fmt = 9999 )path
942 WRITE( nout, fmt = 9998 )path
945 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
946 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
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 zsysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_AA 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 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 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 zhesv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_AA 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 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 ...