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 $ w( 2*nmax ), x( nmax )
104 COMMON / infoc / infot, nout, ok, lerr
105 COMMON / srnamc / srnamt
108 INTRINSIC dble, dcmplx
113 WRITE( nout, fmt = * )
120 a( i,
j ) = dcmplx( 1.d0 / dble( i+
j ),
121 $ -1.d0 / dble( i+
j ) )
122 af( i,
j ) = dcmplx( 1.d0 / dble( i+
j ),
123 $ -1.d0 / dble( i+
j ) )
137 IF(
lsamen( 2, c2,
'GE' ) )
THEN
143 CALL
zgesv( -1, 0, a, 1, ip,
b, 1, info )
144 CALL
chkxer(
'ZGESV ', infot, nout, lerr, ok )
146 CALL
zgesv( 0, -1, a, 1, ip,
b, 1, info )
147 CALL
chkxer(
'ZGESV ', infot, nout, lerr, ok )
149 CALL
zgesv( 2, 1, a, 1, ip,
b, 2, info )
150 CALL
chkxer(
'ZGESV ', infot, nout, lerr, ok )
152 CALL
zgesv( 2, 1, a, 2, ip,
b, 1, info )
153 CALL
chkxer(
'ZGESV ', infot, nout, lerr, ok )
159 CALL
zgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
160 $ x, 1, rcond, r1, r2, w, rw, info )
161 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
163 CALL
zgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
164 $ x, 1, rcond, r1, r2, w, rw, info )
165 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
167 CALL
zgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
168 $ x, 1, rcond, r1, r2, w, rw, info )
169 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
171 CALL
zgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c,
b, 1,
172 $ x, 1, rcond, r1, r2, w, rw, info )
173 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
175 CALL
zgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c,
b, 2,
176 $ x, 2, rcond, r1, r2, w, rw, info )
177 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
179 CALL
zgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c,
b, 2,
180 $ x, 2, rcond, r1, r2, w, rw, info )
181 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
184 CALL
zgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
185 $ x, 1, rcond, r1, r2, w, rw, info )
186 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
189 CALL
zgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
190 $ x, 1, rcond, r1, r2, w, rw, info )
191 CALL
chkxer(
'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 )
198 CALL
zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c,
b, 1,
199 $ x, 2, rcond, r1, r2, w, rw, info )
200 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
202 CALL
zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c,
b, 2,
203 $ x, 1, rcond, r1, r2, w, rw, info )
204 CALL
chkxer(
'ZGESVX', infot, nout, lerr, ok )
206 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
212 CALL
zgbsv( -1, 0, 0, 0, a, 1, ip,
b, 1, info )
213 CALL
chkxer(
'ZGBSV ', infot, nout, lerr, ok )
215 CALL
zgbsv( 1, -1, 0, 0, a, 1, ip,
b, 1, info )
216 CALL
chkxer(
'ZGBSV ', infot, nout, lerr, ok )
218 CALL
zgbsv( 1, 0, -1, 0, a, 1, ip,
b, 1, info )
219 CALL
chkxer(
'ZGBSV ', infot, nout, lerr, ok )
221 CALL
zgbsv( 0, 0, 0, -1, a, 1, ip,
b, 1, info )
222 CALL
chkxer(
'ZGBSV ', infot, nout, lerr, ok )
224 CALL
zgbsv( 1, 1, 1, 0, a, 3, ip,
b, 1, info )
225 CALL
chkxer(
'ZGBSV ', infot, nout, lerr, ok )
227 CALL
zgbsv( 2, 0, 0, 0, a, 1, ip,
b, 1, info )
228 CALL
chkxer(
'ZGBSV ', infot, nout, lerr, ok )
234 CALL
zgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
235 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
236 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
238 CALL
zgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
239 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
240 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
242 CALL
zgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
243 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
244 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
246 CALL
zgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
247 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
248 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
250 CALL
zgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
251 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
252 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
254 CALL
zgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
255 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
256 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
258 CALL
zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
259 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
260 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
262 CALL
zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
263 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
264 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
267 CALL
zgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
268 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
269 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
272 CALL
zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
273 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
274 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
277 CALL
zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
278 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
279 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
281 CALL
zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
282 $
b, 1, x, 2, rcond, r1, r2, w, rw, info )
283 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
285 CALL
zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
286 $
b, 2, x, 1, rcond, r1, r2, w, rw, info )
287 CALL
chkxer(
'ZGBSVX', infot, nout, lerr, ok )
289 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
295 CALL
zgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b, 1,
297 CALL
chkxer(
'ZGTSV ', infot, nout, lerr, ok )
299 CALL
zgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b, 1,
301 CALL
chkxer(
'ZGTSV ', infot, nout, lerr, ok )
303 CALL
zgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b, 1, info )
304 CALL
chkxer(
'ZGTSV ', infot, nout, lerr, ok )
310 CALL
zgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
311 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
312 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
313 CALL
chkxer(
'ZGTSVX', infot, nout, lerr, ok )
315 CALL
zgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
316 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
317 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
318 CALL
chkxer(
'ZGTSVX', infot, nout, lerr, ok )
320 CALL
zgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
321 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
322 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
323 CALL
chkxer(
'ZGTSVX', infot, nout, lerr, ok )
325 CALL
zgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
326 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
327 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
328 CALL
chkxer(
'ZGTSVX', infot, nout, lerr, ok )
330 CALL
zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
331 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
332 $ ip,
b, 1, x, 2, rcond, r1, r2, w, rw, info )
333 CALL
chkxer(
'ZGTSVX', infot, nout, lerr, ok )
335 CALL
zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
336 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
337 $ ip,
b, 2, x, 1, rcond, r1, r2, w, rw, info )
338 CALL
chkxer(
'ZGTSVX', infot, nout, lerr, ok )
340 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
346 CALL
zposv(
'/', 0, 0, a, 1,
b, 1, info )
347 CALL
chkxer(
'ZPOSV ', infot, nout, lerr, ok )
349 CALL
zposv(
'U', -1, 0, a, 1,
b, 1, info )
350 CALL
chkxer(
'ZPOSV ', infot, nout, lerr, ok )
352 CALL
zposv(
'U', 0, -1, a, 1,
b, 1, info )
353 CALL
chkxer(
'ZPOSV ', infot, nout, lerr, ok )
355 CALL
zposv(
'U', 2, 0, a, 1,
b, 2, info )
356 CALL
chkxer(
'ZPOSV ', infot, nout, lerr, ok )
358 CALL
zposv(
'U', 2, 0, a, 2,
b, 1, info )
359 CALL
chkxer(
'ZPOSV ', infot, nout, lerr, ok )
365 CALL
zposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
366 $ rcond, r1, r2, w, rw, info )
367 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
369 CALL
zposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
370 $ rcond, r1, r2, w, rw, info )
371 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
373 CALL
zposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
374 $ rcond, r1, r2, w, rw, info )
375 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
377 CALL
zposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c,
b, 1, x, 1,
378 $ rcond, r1, r2, w, rw, info )
379 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
381 CALL
zposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c,
b, 2, x, 2,
382 $ rcond, r1, r2, w, rw, info )
383 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
385 CALL
zposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c,
b, 2, x, 2,
386 $ rcond, r1, r2, w, rw, info )
387 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
390 CALL
zposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
391 $ rcond, r1, r2, w, rw, info )
392 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
395 CALL
zposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
396 $ rcond, r1, r2, w, rw, info )
397 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
399 CALL
zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c,
b, 1, x, 2,
400 $ rcond, r1, r2, w, rw, info )
401 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
403 CALL
zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c,
b, 2, x, 1,
404 $ rcond, r1, r2, w, rw, info )
405 CALL
chkxer(
'ZPOSVX', infot, nout, lerr, ok )
407 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
413 CALL
zppsv(
'/', 0, 0, a,
b, 1, info )
414 CALL
chkxer(
'ZPPSV ', infot, nout, lerr, ok )
416 CALL
zppsv(
'U', -1, 0, a,
b, 1, info )
417 CALL
chkxer(
'ZPPSV ', infot, nout, lerr, ok )
419 CALL
zppsv(
'U', 0, -1, a,
b, 1, info )
420 CALL
chkxer(
'ZPPSV ', infot, nout, lerr, ok )
422 CALL
zppsv(
'U', 2, 0, a,
b, 1, info )
423 CALL
chkxer(
'ZPPSV ', infot, nout, lerr, ok )
429 CALL
zppsvx(
'/',
'U', 0, 0, a, af, eq, c,
b, 1, x, 1, rcond,
430 $ r1, r2, w, rw, info )
431 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
433 CALL
zppsvx(
'N',
'/', 0, 0, a, af, eq, c,
b, 1, x, 1, rcond,
434 $ r1, r2, w, rw, info )
435 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
437 CALL
zppsvx(
'N',
'U', -1, 0, a, af, eq, c,
b, 1, x, 1, rcond,
438 $ r1, r2, w, rw, info )
439 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
441 CALL
zppsvx(
'N',
'U', 0, -1, a, af, eq, c,
b, 1, x, 1, rcond,
442 $ r1, r2, w, rw, info )
443 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
446 CALL
zppsvx(
'F',
'U', 0, 0, a, af, eq, c,
b, 1, x, 1, rcond,
447 $ r1, r2, w, rw, info )
448 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
451 CALL
zppsvx(
'F',
'U', 1, 0, a, af, eq, c,
b, 1, x, 1, rcond,
452 $ r1, r2, w, rw, info )
453 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
455 CALL
zppsvx(
'N',
'U', 2, 0, a, af, eq, c,
b, 1, x, 2, rcond,
456 $ r1, r2, w, rw, info )
457 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
459 CALL
zppsvx(
'N',
'U', 2, 0, a, af, eq, c,
b, 2, x, 1, rcond,
460 $ r1, r2, w, rw, info )
461 CALL
chkxer(
'ZPPSVX', infot, nout, lerr, ok )
463 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
469 CALL
zpbsv(
'/', 0, 0, 0, a, 1,
b, 1, info )
470 CALL
chkxer(
'ZPBSV ', infot, nout, lerr, ok )
472 CALL
zpbsv(
'U', -1, 0, 0, a, 1,
b, 1, info )
473 CALL
chkxer(
'ZPBSV ', infot, nout, lerr, ok )
475 CALL
zpbsv(
'U', 1, -1, 0, a, 1,
b, 1, info )
476 CALL
chkxer(
'ZPBSV ', infot, nout, lerr, ok )
478 CALL
zpbsv(
'U', 0, 0, -1, a, 1,
b, 1, info )
479 CALL
chkxer(
'ZPBSV ', infot, nout, lerr, ok )
481 CALL
zpbsv(
'U', 1, 1, 0, a, 1,
b, 2, info )
482 CALL
chkxer(
'ZPBSV ', infot, nout, lerr, ok )
484 CALL
zpbsv(
'U', 2, 0, 0, a, 1,
b, 1, info )
485 CALL
chkxer(
'ZPBSV ', infot, nout, lerr, ok )
491 CALL
zpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
492 $ rcond, r1, r2, w, rw, info )
493 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
495 CALL
zpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
496 $ rcond, r1, r2, w, rw, info )
497 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
499 CALL
zpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c,
b, 1, x,
500 $ 1, rcond, r1, r2, w, rw, info )
501 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
503 CALL
zpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c,
b, 1, x,
504 $ 1, rcond, r1, r2, w, rw, info )
505 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
507 CALL
zpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c,
b, 1, x,
508 $ 1, rcond, r1, r2, w, rw, info )
509 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
511 CALL
zpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c,
b, 2, x, 2,
512 $ rcond, r1, r2, w, rw, info )
513 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
515 CALL
zpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c,
b, 2, x, 2,
516 $ rcond, r1, r2, w, rw, info )
517 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
520 CALL
zpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
521 $ rcond, r1, r2, w, rw, info )
522 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
525 CALL
zpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
526 $ rcond, r1, r2, w, rw, info )
527 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
529 CALL
zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 2,
530 $ rcond, r1, r2, w, rw, info )
531 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
533 CALL
zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c,
b, 2, x, 1,
534 $ rcond, r1, r2, w, rw, info )
535 CALL
chkxer(
'ZPBSVX', infot, nout, lerr, ok )
537 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
543 CALL
zptsv( -1, 0, r, a( 1, 1 ),
b, 1, info )
544 CALL
chkxer(
'ZPTSV ', infot, nout, lerr, ok )
546 CALL
zptsv( 0, -1, r, a( 1, 1 ),
b, 1, info )
547 CALL
chkxer(
'ZPTSV ', infot, nout, lerr, ok )
549 CALL
zptsv( 2, 0, r, a( 1, 1 ),
b, 1, info )
550 CALL
chkxer(
'ZPTSV ', infot, nout, lerr, ok )
556 CALL
zptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
557 $ 1, rcond, r1, r2, w, rw, info )
558 CALL
chkxer(
'ZPTSVX', infot, nout, lerr, ok )
560 CALL
zptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
561 $ 1, rcond, r1, r2, w, rw, info )
562 CALL
chkxer(
'ZPTSVX', infot, nout, lerr, ok )
564 CALL
zptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
565 $ 1, rcond, r1, r2, w, rw, info )
566 CALL
chkxer(
'ZPTSVX', infot, nout, lerr, ok )
568 CALL
zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
569 $ 2, rcond, r1, r2, w, rw, info )
570 CALL
chkxer(
'ZPTSVX', infot, nout, lerr, ok )
572 CALL
zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 2, x,
573 $ 1, rcond, r1, r2, w, rw, info )
574 CALL
chkxer(
'ZPTSVX', infot, nout, lerr, ok )
576 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
582 CALL
zhesv(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
583 CALL
chkxer(
'ZHESV ', infot, nout, lerr, ok )
585 CALL
zhesv(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
586 CALL
chkxer(
'ZHESV ', infot, nout, lerr, ok )
588 CALL
zhesv(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
589 CALL
chkxer(
'ZHESV ', infot, nout, lerr, ok )
591 CALL
zhesv(
'U', 2, 0, a, 1, ip,
b, 2, w, 1, info )
592 CALL
chkxer(
'ZHESV ', infot, nout, lerr, ok )
594 CALL
zhesv(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
595 CALL
chkxer(
'ZHESV ', infot, nout, lerr, ok )
601 CALL
zhesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
602 $ rcond, r1, r2, w, 1, rw, info )
603 CALL
chkxer(
'ZHESVX', infot, nout, lerr, ok )
605 CALL
zhesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
606 $ rcond, r1, r2, w, 1, rw, info )
607 CALL
chkxer(
'ZHESVX', infot, nout, lerr, ok )
609 CALL
zhesvx(
'N',
'U', -1, 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',
'U', 0, -1, 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', 2, 0, a, 1, af, 2, ip,
b, 2, x, 2,
618 $ rcond, r1, r2, w, 4, rw, info )
619 CALL
chkxer(
'ZHESVX', infot, nout, lerr, ok )
621 CALL
zhesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip,
b, 2, x, 2,
622 $ rcond, r1, r2, w, 4, rw, info )
623 CALL
chkxer(
'ZHESVX', infot, nout, lerr, ok )
625 CALL
zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 1, 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, 2, ip,
b, 2, x, 1,
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, 2, x, 2,
634 $ rcond, r1, r2, w, 3, rw, info )
635 CALL
chkxer(
'ZHESVX', infot, nout, lerr, ok )
637 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
641 srnamt =
'ZHESV_ROOK'
643 CALL
zhesv_rook(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
644 CALL
chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
646 CALL
zhesv_rook(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
647 CALL
chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
649 CALL
zhesv_rook(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
650 CALL
chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
652 CALL
zhesv_rook(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
653 CALL
chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
655 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
661 CALL
zhpsv(
'/', 0, 0, a, ip,
b, 1, info )
662 CALL
chkxer(
'ZHPSV ', infot, nout, lerr, ok )
664 CALL
zhpsv(
'U', -1, 0, a, ip,
b, 1, info )
665 CALL
chkxer(
'ZHPSV ', infot, nout, lerr, ok )
667 CALL
zhpsv(
'U', 0, -1, a, ip,
b, 1, info )
668 CALL
chkxer(
'ZHPSV ', infot, nout, lerr, ok )
670 CALL
zhpsv(
'U', 2, 0, a, ip,
b, 1, info )
671 CALL
chkxer(
'ZHPSV ', infot, nout, lerr, ok )
677 CALL
zhpsvx(
'/',
'U', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
679 CALL
chkxer(
'ZHPSVX', infot, nout, lerr, ok )
681 CALL
zhpsvx(
'N',
'/', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
683 CALL
chkxer(
'ZHPSVX', infot, nout, lerr, ok )
685 CALL
zhpsvx(
'N',
'U', -1, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
687 CALL
chkxer(
'ZHPSVX', infot, nout, lerr, ok )
689 CALL
zhpsvx(
'N',
'U', 0, -1, a, af, ip,
b, 1, x, 1, rcond, r1,
691 CALL
chkxer(
'ZHPSVX', infot, nout, lerr, ok )
693 CALL
zhpsvx(
'N',
'U', 2, 0, a, af, ip,
b, 1, x, 2, rcond, r1,
695 CALL
chkxer(
'ZHPSVX', infot, nout, lerr, ok )
697 CALL
zhpsvx(
'N',
'U', 2, 0, a, af, ip,
b, 2, x, 1, rcond, r1,
699 CALL
chkxer(
'ZHPSVX', infot, nout, lerr, ok )
701 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
707 CALL
zsysv(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
708 CALL
chkxer(
'ZSYSV ', infot, nout, lerr, ok )
710 CALL
zsysv(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
711 CALL
chkxer(
'ZSYSV ', infot, nout, lerr, ok )
713 CALL
zsysv(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
714 CALL
chkxer(
'ZSYSV ', infot, nout, lerr, ok )
716 CALL
zsysv(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
717 CALL
chkxer(
'ZSYSV ', infot, nout, lerr, ok )
723 CALL
zsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
724 $ rcond, r1, r2, w, 1, rw, info )
725 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
727 CALL
zsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
728 $ rcond, r1, r2, w, 1, rw, info )
729 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
731 CALL
zsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip,
b, 1, x, 1,
732 $ rcond, r1, r2, w, 1, rw, info )
733 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
735 CALL
zsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip,
b, 1, x, 1,
736 $ rcond, r1, r2, w, 1, rw, info )
737 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
739 CALL
zsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip,
b, 2, x, 2,
740 $ rcond, r1, r2, w, 4, rw, info )
741 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
743 CALL
zsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip,
b, 2, x, 2,
744 $ rcond, r1, r2, w, 4, rw, info )
745 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
747 CALL
zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 1, x, 2,
748 $ rcond, r1, r2, w, 4, rw, info )
749 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
751 CALL
zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 2, x, 1,
752 $ rcond, r1, r2, w, 4, rw, info )
753 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
755 CALL
zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 2, x, 2,
756 $ rcond, r1, r2, w, 3, rw, info )
757 CALL
chkxer(
'ZSYSVX', infot, nout, lerr, ok )
759 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
763 srnamt =
'ZSYSV_ROOK'
765 CALL
zsysv_rook(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
766 CALL
chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
768 CALL
zsysv_rook(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
769 CALL
chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
771 CALL
zsysv_rook(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
772 CALL
chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
774 CALL
zsysv_rook(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
775 CALL
chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
777 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
783 CALL
zspsv(
'/', 0, 0, a, ip,
b, 1, info )
784 CALL
chkxer(
'ZSPSV ', infot, nout, lerr, ok )
786 CALL
zspsv(
'U', -1, 0, a, ip,
b, 1, info )
787 CALL
chkxer(
'ZSPSV ', infot, nout, lerr, ok )
789 CALL
zspsv(
'U', 0, -1, a, ip,
b, 1, info )
790 CALL
chkxer(
'ZSPSV ', infot, nout, lerr, ok )
792 CALL
zspsv(
'U', 2, 0, a, ip,
b, 1, info )
793 CALL
chkxer(
'ZSPSV ', infot, nout, lerr, ok )
799 CALL
zspsvx(
'/',
'U', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
801 CALL
chkxer(
'ZSPSVX', infot, nout, lerr, ok )
803 CALL
zspsvx(
'N',
'/', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
805 CALL
chkxer(
'ZSPSVX', infot, nout, lerr, ok )
807 CALL
zspsvx(
'N',
'U', -1, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
809 CALL
chkxer(
'ZSPSVX', infot, nout, lerr, ok )
811 CALL
zspsvx(
'N',
'U', 0, -1, a, af, ip,
b, 1, x, 1, rcond, r1,
813 CALL
chkxer(
'ZSPSVX', infot, nout, lerr, ok )
815 CALL
zspsvx(
'N',
'U', 2, 0, a, af, ip,
b, 1, x, 2, rcond, r1,
817 CALL
chkxer(
'ZSPSVX', infot, nout, lerr, ok )
819 CALL
zspsvx(
'N',
'U', 2, 0, a, af, ip,
b, 2, x, 1, rcond, r1,
821 CALL
chkxer(
'ZSPSVX', infot, nout, lerr, ok )
827 WRITE( nout, fmt = 9999 )path
829 WRITE( nout, fmt = 9998 )path
832 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
833 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
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 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 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 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 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 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 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 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 zppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPSV 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 chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
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 ...
logical function lsamen(N, CA, CB)
LSAMEN
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 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 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 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 ...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zerrvx(PATH, NUNIT)
ZERRVX
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 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 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 zgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
ZGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
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 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 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 zptsv(N, NRHS, D, E, B, LDB, INFO)
ZPTSV computes the solution to system of linear equations A * X = B for PT 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 ...