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 $ w( 2*nmax ), x( nmax )
104 COMMON / infoc / infot, nout, ok, lerr
105 COMMON / srnamc / srnamt
108 INTRINSIC cmplx, real
113 WRITE( nout, fmt = * )
120 a( i,
j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
121 af( i,
j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
135 IF(
lsamen( 2, c2,
'GE' ) )
THEN
141 CALL
cgesv( -1, 0, a, 1, ip,
b, 1, info )
142 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
144 CALL
cgesv( 0, -1, a, 1, ip,
b, 1, info )
145 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
147 CALL
cgesv( 2, 1, a, 1, ip,
b, 2, info )
148 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
150 CALL
cgesv( 2, 1, a, 2, ip,
b, 1, info )
151 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
157 CALL
cgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
158 $ x, 1, rcond, r1, r2, w, rw, info )
159 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
161 CALL
cgesvx(
'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(
'CGESVX', infot, nout, lerr, ok )
165 CALL
cgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
166 $ x, 1, rcond, r1, r2, w, rw, info )
167 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
169 CALL
cgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c,
b, 1,
170 $ x, 1, rcond, r1, r2, w, rw, info )
171 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
173 CALL
cgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c,
b, 2,
174 $ x, 2, rcond, r1, r2, w, rw, info )
175 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
177 CALL
cgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c,
b, 2,
178 $ x, 2, rcond, r1, r2, w, rw, info )
179 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
182 CALL
cgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
183 $ x, 1, rcond, r1, r2, w, rw, info )
184 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
187 CALL
cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
188 $ x, 1, rcond, r1, r2, w, rw, info )
189 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
192 CALL
cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c,
b, 1,
193 $ x, 1, rcond, r1, r2, w, rw, info )
194 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
196 CALL
cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c,
b, 1,
197 $ x, 2, rcond, r1, r2, w, rw, info )
198 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
200 CALL
cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c,
b, 2,
201 $ x, 1, rcond, r1, r2, w, rw, info )
202 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
204 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
210 CALL
cgbsv( -1, 0, 0, 0, a, 1, ip,
b, 1, info )
211 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
213 CALL
cgbsv( 1, -1, 0, 0, a, 1, ip,
b, 1, info )
214 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
216 CALL
cgbsv( 1, 0, -1, 0, a, 1, ip,
b, 1, info )
217 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
219 CALL
cgbsv( 0, 0, 0, -1, a, 1, ip,
b, 1, info )
220 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
222 CALL
cgbsv( 1, 1, 1, 0, a, 3, ip,
b, 1, info )
223 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
225 CALL
cgbsv( 2, 0, 0, 0, a, 1, ip,
b, 1, info )
226 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
232 CALL
cgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
233 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
234 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
236 CALL
cgbsvx(
'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(
'CGBSVX', infot, nout, lerr, ok )
240 CALL
cgbsvx(
'N',
'N', -1, 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(
'CGBSVX', infot, nout, lerr, ok )
244 CALL
cgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
245 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
246 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
248 CALL
cgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
249 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
250 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
252 CALL
cgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
253 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
254 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
256 CALL
cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
257 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
258 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
260 CALL
cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
261 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
262 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
265 CALL
cgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
266 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
267 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
270 CALL
cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
271 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
272 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
275 CALL
cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
276 $
b, 1, x, 1, rcond, r1, r2, w, rw, info )
277 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
279 CALL
cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
280 $
b, 1, x, 2, rcond, r1, r2, w, rw, info )
281 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
283 CALL
cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
284 $
b, 2, x, 1, rcond, r1, r2, w, rw, info )
285 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
287 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
293 CALL
cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b, 1,
295 CALL
chkxer(
'CGTSV ', infot, nout, lerr, ok )
297 CALL
cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b, 1,
299 CALL
chkxer(
'CGTSV ', infot, nout, lerr, ok )
301 CALL
cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b, 1, info )
302 CALL
chkxer(
'CGTSV ', infot, nout, lerr, ok )
308 CALL
cgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
309 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
310 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
311 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
313 CALL
cgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
314 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
315 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
316 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
318 CALL
cgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
319 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
320 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
321 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
323 CALL
cgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
324 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
325 $ ip,
b, 1, x, 1, rcond, r1, r2, w, rw, info )
326 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
328 CALL
cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
329 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
330 $ ip,
b, 1, x, 2, rcond, r1, r2, w, rw, info )
331 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
333 CALL
cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
334 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
335 $ ip,
b, 2, x, 1, rcond, r1, r2, w, rw, info )
336 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
338 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
344 CALL
cposv(
'/', 0, 0, a, 1,
b, 1, info )
345 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
347 CALL
cposv(
'U', -1, 0, a, 1,
b, 1, info )
348 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
350 CALL
cposv(
'U', 0, -1, a, 1,
b, 1, info )
351 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
353 CALL
cposv(
'U', 2, 0, a, 1,
b, 2, info )
354 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
356 CALL
cposv(
'U', 2, 0, a, 2,
b, 1, info )
357 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
363 CALL
cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
364 $ rcond, r1, r2, w, rw, info )
365 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
367 CALL
cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
368 $ rcond, r1, r2, w, rw, info )
369 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
371 CALL
cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
372 $ rcond, r1, r2, w, rw, info )
373 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
375 CALL
cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c,
b, 1, x, 1,
376 $ rcond, r1, r2, w, rw, info )
377 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
379 CALL
cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c,
b, 2, x, 2,
380 $ rcond, r1, r2, w, rw, info )
381 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
383 CALL
cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c,
b, 2, x, 2,
384 $ rcond, r1, r2, w, rw, info )
385 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
388 CALL
cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
389 $ rcond, r1, r2, w, rw, info )
390 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
393 CALL
cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
394 $ rcond, r1, r2, w, rw, info )
395 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
397 CALL
cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c,
b, 1, x, 2,
398 $ rcond, r1, r2, w, rw, info )
399 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
401 CALL
cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c,
b, 2, x, 1,
402 $ rcond, r1, r2, w, rw, info )
403 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
405 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
411 CALL
cppsv(
'/', 0, 0, a,
b, 1, info )
412 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
414 CALL
cppsv(
'U', -1, 0, a,
b, 1, info )
415 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
417 CALL
cppsv(
'U', 0, -1, a,
b, 1, info )
418 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
420 CALL
cppsv(
'U', 2, 0, a,
b, 1, info )
421 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
427 CALL
cppsvx(
'/',
'U', 0, 0, a, af, eq, c,
b, 1, x, 1, rcond,
428 $ r1, r2, w, rw, info )
429 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
431 CALL
cppsvx(
'N',
'/', 0, 0, a, af, eq, c,
b, 1, x, 1, rcond,
432 $ r1, r2, w, rw, info )
433 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
435 CALL
cppsvx(
'N',
'U', -1, 0, a, af, eq, c,
b, 1, x, 1, rcond,
436 $ r1, r2, w, rw, info )
437 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
439 CALL
cppsvx(
'N',
'U', 0, -1, a, af, eq, c,
b, 1, x, 1, rcond,
440 $ r1, r2, w, rw, info )
441 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
444 CALL
cppsvx(
'F',
'U', 0, 0, a, af, eq, c,
b, 1, x, 1, rcond,
445 $ r1, r2, w, rw, info )
446 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
449 CALL
cppsvx(
'F',
'U', 1, 0, a, af, eq, c,
b, 1, x, 1, rcond,
450 $ r1, r2, w, rw, info )
451 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
453 CALL
cppsvx(
'N',
'U', 2, 0, a, af, eq, c,
b, 1, x, 2, rcond,
454 $ r1, r2, w, rw, info )
455 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
457 CALL
cppsvx(
'N',
'U', 2, 0, a, af, eq, c,
b, 2, x, 1, rcond,
458 $ r1, r2, w, rw, info )
459 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
461 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
467 CALL
cpbsv(
'/', 0, 0, 0, a, 1,
b, 1, info )
468 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
470 CALL
cpbsv(
'U', -1, 0, 0, a, 1,
b, 1, info )
471 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
473 CALL
cpbsv(
'U', 1, -1, 0, a, 1,
b, 1, info )
474 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
476 CALL
cpbsv(
'U', 0, 0, -1, a, 1,
b, 1, info )
477 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
479 CALL
cpbsv(
'U', 1, 1, 0, a, 1,
b, 2, info )
480 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
482 CALL
cpbsv(
'U', 2, 0, 0, a, 1,
b, 1, info )
483 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
489 CALL
cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
490 $ rcond, r1, r2, w, rw, info )
491 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
493 CALL
cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
494 $ rcond, r1, r2, w, rw, info )
495 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
497 CALL
cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c,
b, 1, x,
498 $ 1, rcond, r1, r2, w, rw, info )
499 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
501 CALL
cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c,
b, 1, x,
502 $ 1, rcond, r1, r2, w, rw, info )
503 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
505 CALL
cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c,
b, 1, x,
506 $ 1, rcond, r1, r2, w, rw, info )
507 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
509 CALL
cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c,
b, 2, x, 2,
510 $ rcond, r1, r2, w, rw, info )
511 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
513 CALL
cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c,
b, 2, x, 2,
514 $ rcond, r1, r2, w, rw, info )
515 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
518 CALL
cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
519 $ rcond, r1, r2, w, rw, info )
520 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
523 CALL
cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 1,
524 $ rcond, r1, r2, w, rw, info )
525 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
527 CALL
cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c,
b, 1, x, 2,
528 $ rcond, r1, r2, w, rw, info )
529 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
531 CALL
cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c,
b, 2, x, 1,
532 $ rcond, r1, r2, w, rw, info )
533 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
535 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
541 CALL
cptsv( -1, 0, r, a( 1, 1 ),
b, 1, info )
542 CALL
chkxer(
'CPTSV ', infot, nout, lerr, ok )
544 CALL
cptsv( 0, -1, r, a( 1, 1 ),
b, 1, info )
545 CALL
chkxer(
'CPTSV ', infot, nout, lerr, ok )
547 CALL
cptsv( 2, 0, r, a( 1, 1 ),
b, 1, info )
548 CALL
chkxer(
'CPTSV ', infot, nout, lerr, ok )
554 CALL
cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
555 $ 1, rcond, r1, r2, w, rw, info )
556 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
558 CALL
cptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
559 $ 1, rcond, r1, r2, w, rw, info )
560 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
562 CALL
cptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
563 $ 1, rcond, r1, r2, w, rw, info )
564 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
566 CALL
cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 1, x,
567 $ 2, rcond, r1, r2, w, rw, info )
568 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
570 CALL
cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ),
b, 2, x,
571 $ 1, rcond, r1, r2, w, rw, info )
572 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
574 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
580 CALL
chesv(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
581 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
583 CALL
chesv(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
584 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
586 CALL
chesv(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
587 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
589 CALL
chesv(
'U', 2, 0, a, 1, ip,
b, 2, w, 1, info )
590 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
592 CALL
chesv(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
593 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
599 CALL
chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
600 $ rcond, r1, r2, w, 1, rw, info )
601 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
603 CALL
chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
604 $ rcond, r1, r2, w, 1, rw, info )
605 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
607 CALL
chesvx(
'N',
'U', -1, 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',
'U', 0, -1, 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', 2, 0, a, 1, af, 2, ip,
b, 2, x, 2,
616 $ rcond, r1, r2, w, 4, rw, info )
617 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
619 CALL
chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip,
b, 2, x, 2,
620 $ rcond, r1, r2, w, 4, rw, info )
621 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
623 CALL
chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 1, 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, 2, ip,
b, 2, x, 1,
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, 2, x, 2,
632 $ rcond, r1, r2, w, 3, rw, info )
633 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
635 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
639 srnamt =
'CHESV_ROOK'
641 CALL
chesv_rook(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
642 CALL
chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
644 CALL
chesv_rook(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
645 CALL
chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
647 CALL
chesv_rook(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
648 CALL
chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
650 CALL
chesv_rook(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
651 CALL
chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
653 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
659 CALL
chpsv(
'/', 0, 0, a, ip,
b, 1, info )
660 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
662 CALL
chpsv(
'U', -1, 0, a, ip,
b, 1, info )
663 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
665 CALL
chpsv(
'U', 0, -1, a, ip,
b, 1, info )
666 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
668 CALL
chpsv(
'U', 2, 0, a, ip,
b, 1, info )
669 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
675 CALL
chpsvx(
'/',
'U', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
677 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
679 CALL
chpsvx(
'N',
'/', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
681 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
683 CALL
chpsvx(
'N',
'U', -1, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
685 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
687 CALL
chpsvx(
'N',
'U', 0, -1, a, af, ip,
b, 1, x, 1, rcond, r1,
689 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
691 CALL
chpsvx(
'N',
'U', 2, 0, a, af, ip,
b, 1, x, 2, rcond, r1,
693 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
695 CALL
chpsvx(
'N',
'U', 2, 0, a, af, ip,
b, 2, x, 1, rcond, r1,
697 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
699 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
705 CALL
csysv(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
706 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
708 CALL
csysv(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
709 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
711 CALL
csysv(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
712 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
714 CALL
csysv(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
715 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
721 CALL
csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
722 $ rcond, r1, r2, w, 1, rw, info )
723 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
725 CALL
csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1,
726 $ rcond, r1, r2, w, 1, rw, info )
727 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
729 CALL
csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip,
b, 1, x, 1,
730 $ rcond, r1, r2, w, 1, rw, info )
731 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
733 CALL
csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip,
b, 1, x, 1,
734 $ rcond, r1, r2, w, 1, rw, info )
735 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
737 CALL
csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip,
b, 2, x, 2,
738 $ rcond, r1, r2, w, 4, rw, info )
739 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
741 CALL
csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip,
b, 2, x, 2,
742 $ rcond, r1, r2, w, 4, rw, info )
743 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
745 CALL
csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 1, x, 2,
746 $ rcond, r1, r2, w, 4, rw, info )
747 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
749 CALL
csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 2, x, 1,
750 $ rcond, r1, r2, w, 4, rw, info )
751 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
753 CALL
csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip,
b, 2, x, 2,
754 $ rcond, r1, r2, w, 3, rw, info )
755 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
757 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
761 srnamt =
'CSYSV_ROOK'
763 CALL
csysv_rook(
'/', 0, 0, a, 1, ip,
b, 1, w, 1, info )
764 CALL
chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
766 CALL
csysv_rook(
'U', -1, 0, a, 1, ip,
b, 1, w, 1, info )
767 CALL
chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
769 CALL
csysv_rook(
'U', 0, -1, a, 1, ip,
b, 1, w, 1, info )
770 CALL
chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
772 CALL
csysv_rook(
'U', 2, 0, a, 2, ip,
b, 1, w, 1, info )
773 CALL
chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
775 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
781 CALL
cspsv(
'/', 0, 0, a, ip,
b, 1, info )
782 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
784 CALL
cspsv(
'U', -1, 0, a, ip,
b, 1, info )
785 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
787 CALL
cspsv(
'U', 0, -1, a, ip,
b, 1, info )
788 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
790 CALL
cspsv(
'U', 2, 0, a, ip,
b, 1, info )
791 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
797 CALL
cspsvx(
'/',
'U', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
799 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
801 CALL
cspsvx(
'N',
'/', 0, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
803 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
805 CALL
cspsvx(
'N',
'U', -1, 0, a, af, ip,
b, 1, x, 1, rcond, r1,
807 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
809 CALL
cspsvx(
'N',
'U', 0, -1, a, af, ip,
b, 1, x, 1, rcond, r1,
811 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
813 CALL
cspsvx(
'N',
'U', 2, 0, a, af, ip,
b, 1, x, 2, rcond, r1,
815 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
817 CALL
cspsvx(
'N',
'U', 2, 0, a, af, ip,
b, 2, x, 1, rcond, r1,
819 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
825 WRITE( nout, fmt = 9999 )path
827 WRITE( nout, fmt = 9998 )path
830 9999
FORMAT( 1x, a3,
' drivers passed the tests of the error exits' )
831 9998
FORMAT(
' *** ', a3,
' drivers failed the tests of the error ',
subroutine chpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CHPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine cgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine cptsv(N, NRHS, D, E, B, LDB, INFO)
CPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine cspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine csysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
subroutine chesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine cspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPSV 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 b(3) integer i
subroutine chesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine cgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
subroutine csysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
CGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
subroutine cpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine cppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
CPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
CGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
subroutine csysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine cgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine chpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine cerrvx(PATH, NUNIT)
CERRVX
subroutine cposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
CPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine chesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CHESVX computes the solution to system of linear equations A * X = B for HE matrices ...
subroutine cpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
subroutine cppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...