56 SUBROUTINE cerrvx( PATH, NUNIT )
82 REAL C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
83 $ RF( NMAX ), RW( NMAX )
84 COMPLEX 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 cmplx, real
114 WRITE( nout, fmt = * )
121 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
122 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
137 IF( lsamen( 2, c2,
'GE' ) )
THEN
143 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
144 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
146 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
147 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
149 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
150 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
152 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
153 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
159 CALL cgesvx(
'/',
'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(
'CGESVX', infot, nout, lerr, ok )
163 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
167 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
171 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
175 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
179 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
184 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
189 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
194 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
198 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
202 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
206 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
212 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
213 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
215 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
216 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
218 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
219 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
221 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
222 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
224 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
225 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
227 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
228 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
234 CALL cgbsvx(
'/',
'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(
'CGBSVX', infot, nout, lerr, ok )
238 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
242 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
246 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
250 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
254 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
258 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
262 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
267 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
272 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
277 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
281 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
285 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
289 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
295 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
297 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
299 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
301 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
303 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
304 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
310 CALL cgtsvx(
'/',
'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(
'CGTSVX', infot, nout, lerr, ok )
315 CALL cgtsvx(
'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(
'CGTSVX', infot, nout, lerr, ok )
320 CALL cgtsvx(
'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(
'CGTSVX', infot, nout, lerr, ok )
325 CALL cgtsvx(
'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(
'CGTSVX', infot, nout, lerr, ok )
330 CALL cgtsvx(
'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(
'CGTSVX', infot, nout, lerr, ok )
335 CALL cgtsvx(
'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(
'CGTSVX', infot, nout, lerr, ok )
340 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
346 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
347 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
349 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
350 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
352 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
353 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
355 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
356 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
358 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
359 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
365 CALL cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
366 $ rcond, r1, r2, w, rw, info )
367 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
369 CALL cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
370 $ rcond, r1, r2, w, rw, info )
371 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
373 CALL cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
374 $ rcond, r1, r2, w, rw, info )
375 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
377 CALL cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
378 $ rcond, r1, r2, w, rw, info )
379 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
381 CALL cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
382 $ rcond, r1, r2, w, rw, info )
383 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
385 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
386 $ rcond, r1, r2, w, rw, info )
387 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
390 CALL cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
391 $ rcond, r1, r2, w, rw, info )
392 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
395 CALL cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
396 $ rcond, r1, r2, w, rw, info )
397 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
399 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
400 $ rcond, r1, r2, w, rw, info )
401 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
403 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
404 $ rcond, r1, r2, w, rw, info )
405 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
407 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
413 CALL cppsv(
'/', 0, 0, a, b, 1, info )
414 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
416 CALL cppsv(
'U', -1, 0, a, b, 1, info )
417 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
419 CALL cppsv(
'U', 0, -1, a, b, 1, info )
420 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
422 CALL cppsv(
'U', 2, 0, a, b, 1, info )
423 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
429 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
430 $ r1, r2, w, rw, info )
431 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
433 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
434 $ r1, r2, w, rw, info )
435 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
437 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
438 $ r1, r2, w, rw, info )
439 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
441 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
442 $ r1, r2, w, rw, info )
443 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
446 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
447 $ r1, r2, w, rw, info )
448 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
451 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
452 $ r1, r2, w, rw, info )
453 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
455 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
456 $ r1, r2, w, rw, info )
457 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
459 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
460 $ r1, r2, w, rw, info )
461 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
463 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
469 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
470 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
472 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
473 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
475 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
476 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
478 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
479 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
481 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
482 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
484 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
485 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
491 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
492 $ rcond, r1, r2, w, rw, info )
493 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
495 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
496 $ rcond, r1, r2, w, rw, info )
497 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
499 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
503 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
507 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
511 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
515 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
520 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
525 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
529 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
533 CALL cpbsvx(
'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(
'CPBSVX', infot, nout, lerr, ok )
537 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
543 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
544 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
546 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
547 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
549 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
550 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
556 CALL cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
557 $ 1, rcond, r1, r2, w, rw, info )
558 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
560 CALL cptsvx(
'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(
'CPTSVX', infot, nout, lerr, ok )
564 CALL cptsvx(
'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(
'CPTSVX', infot, nout, lerr, ok )
568 CALL cptsvx(
'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(
'CPTSVX', infot, nout, lerr, ok )
572 CALL cptsvx(
'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(
'CPTSVX', infot, nout, lerr, ok )
576 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
582 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
585 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
586 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
588 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
589 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
591 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
592 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
594 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
595 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
597 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
598 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
600 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
601 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
607 CALL chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
608 $ rcond, r1, r2, w, 1, rw, info )
609 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
611 CALL chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
612 $ rcond, r1, r2, w, 1, rw, info )
613 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
615 CALL chesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
616 $ rcond, r1, r2, w, 1, rw, info )
617 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
619 CALL chesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
620 $ rcond, r1, r2, w, 1, rw, info )
621 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
623 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
624 $ rcond, r1, r2, w, 4, rw, info )
625 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
627 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
628 $ rcond, r1, r2, w, 4, rw, info )
629 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
631 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
632 $ rcond, r1, r2, w, 4, rw, info )
633 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
635 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
636 $ rcond, r1, r2, w, 4, rw, info )
637 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
639 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
640 $ rcond, r1, r2, w, 3, rw, info )
641 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
643 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
647 srnamt =
'CHESV_ROOK'
649 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
650 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
652 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
653 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
655 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
656 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
658 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
659 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
661 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
662 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
664 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
665 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
667 ELSE IF( lsamen( 2, c2,
'HK' ) )
THEN
681 CALL chesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
682 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
684 CALL chesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
685 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
687 CALL chesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
688 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
690 CALL chesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
691 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
693 CALL chesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
694 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
696 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
697 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
699 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
700 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
702 ELSE IF( lsamen( 2, c2,
'HA' ) )
THEN
708 CALL chesv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
709 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
711 CALL chesv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
712 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
714 CALL chesv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
715 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
717 CALL chesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
718 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
720 ELSE IF( lsamen( 2, c2,
'H2' ) )
THEN
724 srnamt =
'CHESV_AA_2STAGE'
726 CALL chesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
728 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
730 CALL chesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
732 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
734 CALL chesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
736 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
738 CALL chesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
740 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
742 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
744 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
746 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
748 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
750 ELSE IF( lsamen( 2, c2,
'S2' ) )
THEN
754 srnamt =
'CSYSV_AA_2STAGE'
756 CALL csysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
758 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
760 CALL csysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
762 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
764 CALL csysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
766 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
768 CALL csysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
770 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
772 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
774 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
776 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
778 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
780 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
786 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
787 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
789 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
790 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
792 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
793 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
795 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
796 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
802 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
804 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
806 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
808 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
810 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
812 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
814 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
816 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
818 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
820 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
822 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
824 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
826 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
832 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
833 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
835 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
836 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
838 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
839 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
841 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
842 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
844 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
845 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
847 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
848 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
854 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
855 $ rcond, r1, r2, w, 1, rw, info )
856 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
858 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
859 $ rcond, r1, r2, w, 1, rw, info )
860 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
862 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
863 $ rcond, r1, r2, w, 1, rw, info )
864 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
866 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
867 $ rcond, r1, r2, w, 1, rw, info )
868 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
870 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
871 $ rcond, r1, r2, w, 4, rw, info )
872 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
874 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
875 $ rcond, r1, r2, w, 4, rw, info )
876 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
878 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
879 $ rcond, r1, r2, w, 4, rw, info )
880 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
882 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
883 $ rcond, r1, r2, w, 4, rw, info )
884 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
886 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
887 $ rcond, r1, r2, w, 3, rw, info )
888 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
890 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
894 srnamt =
'CSYSV_ROOK'
896 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
897 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
899 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
900 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
902 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
903 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
905 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
906 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
908 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
909 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
911 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
912 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
914 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
928 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
929 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
931 CALL csysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
932 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
934 CALL csysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
935 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
937 CALL csysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
938 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
940 CALL csysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
941 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
943 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
944 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
946 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
947 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
949 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
955 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
956 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
958 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
959 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
961 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
962 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
964 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
965 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
971 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
973 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
975 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
977 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
979 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
981 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
983 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
985 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
987 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
989 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
991 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
993 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
999 WRITE( nout, fmt = 9999 )path
1001 WRITE( nout, fmt = 9998 )path
1004 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1005 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',