79 REAL C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
80 $ RF( NMAX ), RW( NMAX )
81 COMPLEX 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 cmplx, real
111 WRITE( nout, fmt = * )
118 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
119 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
134 IF( lsamen( 2, c2,
'GE' ) )
THEN
140 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
141 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
143 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
144 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
146 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
147 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
149 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
150 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
156 CALL cgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
157 $ x, 1, rcond, r1, r2, w, rw, info )
158 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
160 CALL cgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
161 $ x, 1, rcond, r1, r2, w, rw, info )
162 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
164 CALL cgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
165 $ x, 1, rcond, r1, r2, w, rw, info )
166 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
168 CALL cgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
169 $ x, 1, rcond, r1, r2, w, rw, info )
170 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
172 CALL cgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
173 $ x, 2, rcond, r1, r2, w, rw, info )
174 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
176 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
177 $ x, 2, rcond, r1, r2, w, rw, info )
178 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
181 CALL cgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
182 $ x, 1, rcond, r1, r2, w, rw, info )
183 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
186 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
187 $ x, 1, rcond, r1, r2, w, rw, info )
188 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
191 CALL cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
195 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
196 $ x, 2, rcond, r1, r2, w, rw, info )
197 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
199 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
200 $ x, 1, rcond, r1, r2, w, rw, info )
201 CALL chkxer(
'CGESVX', infot, nout, lerr, ok )
203 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
209 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
210 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
212 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
213 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
215 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
216 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
218 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
219 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
221 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
222 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
224 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
225 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
231 CALL cgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
232 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
233 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
235 CALL cgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
236 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
237 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
239 CALL cgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
240 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
241 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
243 CALL cgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
244 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
245 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
247 CALL cgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
248 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
249 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
251 CALL cgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
252 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
253 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
255 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
256 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
257 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
259 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
260 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
261 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
264 CALL cgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
265 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
266 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
269 CALL cgbsvx(
'F',
'N', 1, 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(
'CGBSVX', infot, nout, lerr, ok )
274 CALL cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
278 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
279 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
280 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
282 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
283 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
284 CALL chkxer(
'CGBSVX', infot, nout, lerr, ok )
286 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
292 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
294 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
296 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
298 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
300 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
301 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
307 CALL cgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
308 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
309 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
310 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
312 CALL cgtsvx(
'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(
'CGTSVX', infot, nout, lerr, ok )
317 CALL cgtsvx(
'N',
'N', -1, 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(
'CGTSVX', infot, nout, lerr, ok )
322 CALL cgtsvx(
'N',
'N', 0, -1, 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(
'CGTSVX', infot, nout, lerr, ok )
327 CALL cgtsvx(
'N',
'N', 2, 0, 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, 2, rcond, r1, r2, w, rw, info )
330 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
332 CALL cgtsvx(
'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, 2, x, 1, rcond, r1, r2, w, rw, info )
335 CALL chkxer(
'CGTSVX', infot, nout, lerr, ok )
337 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
343 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
344 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
346 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
347 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
349 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
350 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
352 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
353 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
355 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
356 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
362 CALL cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
363 $ rcond, r1, r2, w, rw, info )
364 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
366 CALL cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
367 $ rcond, r1, r2, w, rw, info )
368 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
370 CALL cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
371 $ rcond, r1, r2, w, rw, info )
372 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
374 CALL cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
375 $ rcond, r1, r2, w, rw, info )
376 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
378 CALL cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
379 $ rcond, r1, r2, w, rw, info )
380 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
382 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
383 $ rcond, r1, r2, w, rw, info )
384 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
387 CALL cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
388 $ rcond, r1, r2, w, rw, info )
389 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
392 CALL cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
393 $ rcond, r1, r2, w, rw, info )
394 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
396 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
397 $ rcond, r1, r2, w, rw, info )
398 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
400 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
401 $ rcond, r1, r2, w, rw, info )
402 CALL chkxer(
'CPOSVX', infot, nout, lerr, ok )
404 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
410 CALL cppsv(
'/', 0, 0, a, b, 1, info )
411 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
413 CALL cppsv(
'U', -1, 0, a, b, 1, info )
414 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
416 CALL cppsv(
'U', 0, -1, a, b, 1, info )
417 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
419 CALL cppsv(
'U', 2, 0, a, b, 1, info )
420 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
426 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
427 $ r1, r2, w, rw, info )
428 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
430 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
431 $ r1, r2, w, rw, info )
432 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
434 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
435 $ r1, r2, w, rw, info )
436 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
438 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
439 $ r1, r2, w, rw, info )
440 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
443 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
444 $ r1, r2, w, rw, info )
445 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
448 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
449 $ r1, r2, w, rw, info )
450 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
452 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
453 $ r1, r2, w, rw, info )
454 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
456 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
457 $ r1, r2, w, rw, info )
458 CALL chkxer(
'CPPSVX', infot, nout, lerr, ok )
460 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
466 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
467 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
469 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
470 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
472 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
473 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
475 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
476 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
478 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
479 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
481 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
482 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
488 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
489 $ rcond, r1, r2, w, rw, info )
490 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
492 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
493 $ rcond, r1, r2, w, rw, info )
494 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
496 CALL cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
497 $ 1, rcond, r1, r2, w, rw, info )
498 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
500 CALL cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
501 $ 1, rcond, r1, r2, w, rw, info )
502 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
504 CALL cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
505 $ 1, rcond, r1, r2, w, rw, info )
506 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
508 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
509 $ rcond, r1, r2, w, rw, info )
510 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
512 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
513 $ rcond, r1, r2, w, rw, info )
514 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
517 CALL cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
518 $ rcond, r1, r2, w, rw, info )
519 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
522 CALL cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523 $ rcond, r1, r2, w, rw, info )
524 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
526 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
527 $ rcond, r1, r2, w, rw, info )
528 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
530 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
531 $ rcond, r1, r2, w, rw, info )
532 CALL chkxer(
'CPBSVX', infot, nout, lerr, ok )
534 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
540 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
541 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
543 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
544 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
546 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
547 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
553 CALL cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
554 $ 1, rcond, r1, r2, w, rw, info )
555 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
557 CALL cptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
558 $ 1, rcond, r1, r2, w, rw, info )
559 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
561 CALL cptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
562 $ 1, rcond, r1, r2, w, rw, info )
563 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
565 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
566 $ 2, rcond, r1, r2, w, rw, info )
567 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
569 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
570 $ 1, rcond, r1, r2, w, rw, info )
571 CALL chkxer(
'CPTSVX', infot, nout, lerr, ok )
573 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
579 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
580 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
582 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
585 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
586 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
588 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
589 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
591 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
592 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
594 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
595 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
597 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
598 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
604 CALL chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
605 $ rcond, r1, r2, w, 1, rw, info )
606 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
608 CALL chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
609 $ rcond, r1, r2, w, 1, rw, info )
610 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
612 CALL chesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
613 $ rcond, r1, r2, w, 1, rw, info )
614 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
616 CALL chesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
617 $ rcond, r1, r2, w, 1, rw, info )
618 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
620 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
621 $ rcond, r1, r2, w, 4, rw, info )
622 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
624 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
625 $ rcond, r1, r2, w, 4, rw, info )
626 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
628 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
629 $ rcond, r1, r2, w, 4, rw, info )
630 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
632 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
633 $ rcond, r1, r2, w, 4, rw, info )
634 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
636 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
637 $ rcond, r1, r2, w, 3, rw, info )
638 CALL chkxer(
'CHESVX', infot, nout, lerr, ok )
640 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
644 srnamt =
'CHESV_ROOK'
646 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
647 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
649 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
650 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
652 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
653 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
655 CALL chesv_rook(
'U', 2, 0, a, 1, ip, b, 2, 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, 1, ip, b, 2, w, 1, info )
718 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
720 CALL chesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
721 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
723 CALL chesv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
724 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
726 ELSE IF( lsamen( 2, c2,
'H2' ) )
THEN
730 srnamt =
'CHESV_AA_2STAGE'
732 CALL chesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
734 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
736 CALL chesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
738 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
740 CALL chesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
742 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
744 CALL chesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
746 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
748 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
750 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
752 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
754 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
756 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
758 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
760 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN
766 CALL csysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
767 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
769 CALL csysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
770 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
772 CALL csysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
773 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
775 CALL csysv_aa(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
776 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
778 CALL csysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
779 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
781 CALL csysv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
782 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
784 ELSE IF( lsamen( 2, c2,
'S2' ) )
THEN
788 srnamt =
'CSYSV_AA_2STAGE'
790 CALL csysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
792 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
794 CALL csysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
796 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
798 CALL csysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
800 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
802 CALL csysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
804 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
806 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
808 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
810 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
812 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
814 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
816 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
818 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
824 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
825 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
827 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
828 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
830 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
831 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
833 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
834 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
840 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
842 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
844 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
846 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
848 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
850 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
852 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
854 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
856 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
858 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
860 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
862 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
864 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
870 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
871 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
873 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
874 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
876 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
877 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
879 CALL csysv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
880 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
882 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
883 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
885 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
886 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
888 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
889 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
895 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
896 $ rcond, r1, r2, w, 1, rw, info )
897 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
899 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
900 $ rcond, r1, r2, w, 1, rw, info )
901 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
903 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
904 $ rcond, r1, r2, w, 1, rw, info )
905 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
907 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
908 $ rcond, r1, r2, w, 1, rw, info )
909 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
911 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
912 $ rcond, r1, r2, w, 4, rw, info )
913 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
915 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
916 $ rcond, r1, r2, w, 4, rw, info )
917 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
919 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
920 $ rcond, r1, r2, w, 4, rw, info )
921 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
923 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
924 $ rcond, r1, r2, w, 4, rw, info )
925 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
927 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
928 $ rcond, r1, r2, w, 3, rw, info )
929 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
931 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
935 srnamt =
'CSYSV_ROOK'
937 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
938 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
940 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
941 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
943 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
944 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
946 CALL csysv_rook(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
947 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
949 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
950 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
952 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
953 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
955 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
956 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
958 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
972 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
973 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
975 CALL csysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
976 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
978 CALL csysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
979 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
981 CALL csysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
982 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
984 CALL csysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
985 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
987 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
988 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
990 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
991 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
993 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
999 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
1000 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1002 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
1003 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1005 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
1006 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1008 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
1009 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1015 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1017 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1019 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1021 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1023 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1025 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1027 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1029 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1031 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1033 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1035 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1037 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1043 WRITE( nout, fmt = 9999 )path
1045 WRITE( nout, fmt = 9998 )path
1048 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
1049 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',