41 REAL c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
42 $ rf( nmax ), rw( nmax )
43 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
44 $ w( 2*nmax ), x( nmax )
51 EXTERNAL cgbsv, cgbsvx, cgesv, cgesvx, cgtsv, cgtsvx,
52 $ chesv, chesvx,
chkxer, chpsv, chpsvx, cpbsv,
53 $ cpbsvx, cposv, cposvx, cppsv, cppsvx, cptsv,
54 $ cptsvx, cspsv, cspsvx, csysv, csysvx
62 common / infoc / infot, nout, ok, lerr
63 common / srnamc / srnamt
71 WRITE( nout, fmt = * )
78 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
79 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
93 IF( lsamen( 2, c2,
'GE' ) )
THEN
99 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
100 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
102 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
103 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
105 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
106 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
108 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
109 CALL
chkxer(
'CGESV ', infot, nout, lerr, ok )
115 CALL cgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
116 $ x, 1, rcond, r1, r2, w, rw, info )
117 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
119 CALL cgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
120 $ x, 1, rcond, r1, r2, w, rw, info )
121 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
123 CALL cgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
124 $ x, 1, rcond, r1, r2, w, rw, info )
125 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
127 CALL cgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
128 $ x, 1, rcond, r1, r2, w, rw, info )
129 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
131 CALL cgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
132 $ x, 2, rcond, r1, r2, w, rw, info )
133 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
135 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
136 $ x, 2, rcond, r1, r2, w, rw, info )
137 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
140 CALL cgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
141 $ x, 1, rcond, r1, r2, w, rw, info )
142 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
145 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
146 $ x, 1, rcond, r1, r2, w, rw, info )
147 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
150 CALL cgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
151 $ x, 1, rcond, r1, r2, w, rw, info )
152 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
154 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
155 $ x, 2, rcond, r1, r2, w, rw, info )
156 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
158 CALL cgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
159 $ x, 1, rcond, r1, r2, w, rw, info )
160 CALL
chkxer(
'CGESVX', infot, nout, lerr, ok )
162 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
168 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
169 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
171 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
172 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
174 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
175 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
177 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
178 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
180 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
181 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
183 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
184 CALL
chkxer(
'CGBSV ', infot, nout, lerr, ok )
190 CALL cgbsvx(
'/',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
191 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
192 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
194 CALL cgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
195 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
196 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
198 CALL cgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
199 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
200 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
202 CALL cgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
203 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
204 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
206 CALL cgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
207 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
208 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
210 CALL cgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
211 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
212 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
214 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
215 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
216 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
218 CALL cgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
219 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
220 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
223 CALL cgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
224 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
225 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
228 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
229 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
230 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
233 CALL cgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
234 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
235 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
237 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
238 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
239 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
241 CALL cgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
242 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
243 CALL
chkxer(
'CGBSVX', infot, nout, lerr, ok )
245 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
251 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
253 CALL
chkxer(
'CGTSV ', infot, nout, lerr, ok )
255 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
257 CALL
chkxer(
'CGTSV ', infot, nout, lerr, ok )
259 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
260 CALL
chkxer(
'CGTSV ', infot, nout, lerr, ok )
266 CALL cgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
267 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
268 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
269 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
271 CALL cgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
272 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
273 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
274 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
276 CALL cgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
277 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
278 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
279 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
281 CALL cgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
282 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
283 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
284 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
286 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
287 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
288 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
289 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
291 CALL cgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
292 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
293 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
294 CALL
chkxer(
'CGTSVX', infot, nout, lerr, ok )
296 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
302 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
303 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
305 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
306 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
308 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
309 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
311 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
312 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
314 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
315 CALL
chkxer(
'CPOSV ', infot, nout, lerr, ok )
321 CALL cposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
322 $ rcond, r1, r2, w, rw, info )
323 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
325 CALL cposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
326 $ rcond, r1, r2, w, rw, info )
327 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
329 CALL cposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
330 $ rcond, r1, r2, w, rw, info )
331 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
333 CALL cposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
334 $ rcond, r1, r2, w, rw, info )
335 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
337 CALL cposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
338 $ rcond, r1, r2, w, rw, info )
339 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
341 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
342 $ rcond, r1, r2, w, rw, info )
343 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
346 CALL cposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
347 $ rcond, r1, r2, w, rw, info )
348 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
351 CALL cposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
352 $ rcond, r1, r2, w, rw, info )
353 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
355 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
356 $ rcond, r1, r2, w, rw, info )
357 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
359 CALL cposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
360 $ rcond, r1, r2, w, rw, info )
361 CALL
chkxer(
'CPOSVX', infot, nout, lerr, ok )
363 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
369 CALL cppsv(
'/', 0, 0, a, b, 1, info )
370 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
372 CALL cppsv(
'U', -1, 0, a, b, 1, info )
373 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
375 CALL cppsv(
'U', 0, -1, a, b, 1, info )
376 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
378 CALL cppsv(
'U', 2, 0, a, b, 1, info )
379 CALL
chkxer(
'CPPSV ', infot, nout, lerr, ok )
385 CALL cppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
386 $ r1, r2, w, rw, info )
387 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
389 CALL cppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
390 $ r1, r2, w, rw, info )
391 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
393 CALL cppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
394 $ r1, r2, w, rw, info )
395 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
397 CALL cppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
398 $ r1, r2, w, rw, info )
399 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
402 CALL cppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
403 $ r1, r2, w, rw, info )
404 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
407 CALL cppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
408 $ r1, r2, w, rw, info )
409 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
411 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
412 $ r1, r2, w, rw, info )
413 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
415 CALL cppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
416 $ r1, r2, w, rw, info )
417 CALL
chkxer(
'CPPSVX', infot, nout, lerr, ok )
419 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
425 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
426 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
428 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
429 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
431 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
432 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
434 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
435 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
437 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
438 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
440 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
441 CALL
chkxer(
'CPBSV ', infot, nout, lerr, ok )
447 CALL cpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
448 $ rcond, r1, r2, w, rw, info )
449 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
451 CALL cpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
452 $ rcond, r1, r2, w, rw, info )
453 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
455 CALL cpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
456 $ 1, rcond, r1, r2, w, rw, info )
457 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
459 CALL cpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
460 $ 1, rcond, r1, r2, w, rw, info )
461 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
463 CALL cpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
464 $ 1, rcond, r1, r2, w, rw, info )
465 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
467 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
468 $ rcond, r1, r2, w, rw, info )
469 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
471 CALL cpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
472 $ rcond, r1, r2, w, rw, info )
473 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
476 CALL cpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
477 $ rcond, r1, r2, w, rw, info )
478 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
481 CALL cpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
482 $ rcond, r1, r2, w, rw, info )
483 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
485 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
486 $ rcond, r1, r2, w, rw, info )
487 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
489 CALL cpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
490 $ rcond, r1, r2, w, rw, info )
491 CALL
chkxer(
'CPBSVX', infot, nout, lerr, ok )
493 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
499 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
500 CALL
chkxer(
'CPTSV ', infot, nout, lerr, ok )
502 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
503 CALL
chkxer(
'CPTSV ', infot, nout, lerr, ok )
505 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
506 CALL
chkxer(
'CPTSV ', infot, nout, lerr, ok )
512 CALL cptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
513 $ 1, rcond, r1, r2, w, rw, info )
514 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
516 CALL cptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
517 $ 1, rcond, r1, r2, w, rw, info )
518 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
520 CALL cptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
521 $ 1, rcond, r1, r2, w, rw, info )
522 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
524 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
525 $ 2, rcond, r1, r2, w, rw, info )
526 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
528 CALL cptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
529 $ 1, rcond, r1, r2, w, rw, info )
530 CALL
chkxer(
'CPTSVX', infot, nout, lerr, ok )
532 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
538 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
539 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
541 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
542 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
544 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
545 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
547 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
548 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
550 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
551 CALL
chkxer(
'CHESV ', infot, nout, lerr, ok )
557 CALL chesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
558 $ rcond, r1, r2, w, 1, rw, info )
559 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
561 CALL chesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
562 $ rcond, r1, r2, w, 1, rw, info )
563 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
565 CALL chesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
566 $ rcond, r1, r2, w, 1, rw, info )
567 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
569 CALL chesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
570 $ rcond, r1, r2, w, 1, rw, info )
571 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
573 CALL chesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
574 $ rcond, r1, r2, w, 4, rw, info )
575 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
577 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
578 $ rcond, r1, r2, w, 4, rw, info )
579 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
581 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
582 $ rcond, r1, r2, w, 4, rw, info )
583 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
585 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
586 $ rcond, r1, r2, w, 4, rw, info )
587 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
589 CALL chesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
590 $ rcond, r1, r2, w, 3, rw, info )
591 CALL
chkxer(
'CHESVX', infot, nout, lerr, ok )
593 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
599 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
600 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
602 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
603 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
605 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
606 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
608 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
609 CALL
chkxer(
'CHPSV ', infot, nout, lerr, ok )
615 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
617 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
619 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
621 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
623 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
625 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
627 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
629 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
631 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
633 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
635 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
637 CALL
chkxer(
'CHPSVX', infot, nout, lerr, ok )
639 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
645 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
646 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
648 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
649 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
651 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
652 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
654 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
655 CALL
chkxer(
'CSYSV ', infot, nout, lerr, ok )
661 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
662 $ rcond, r1, r2, w, 1, rw, info )
663 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
665 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
666 $ rcond, r1, r2, w, 1, rw, info )
667 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
669 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
670 $ rcond, r1, r2, w, 1, rw, info )
671 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
673 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
674 $ rcond, r1, r2, w, 1, rw, info )
675 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
677 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
678 $ rcond, r1, r2, w, 4, rw, info )
679 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
681 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
682 $ rcond, r1, r2, w, 4, rw, info )
683 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
685 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
686 $ rcond, r1, r2, w, 4, rw, info )
687 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
689 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
690 $ rcond, r1, r2, w, 4, rw, info )
691 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
693 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
694 $ rcond, r1, r2, w, 3, rw, info )
695 CALL
chkxer(
'CSYSVX', infot, nout, lerr, ok )
697 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
703 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
704 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
706 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
707 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
709 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
710 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
712 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
713 CALL
chkxer(
'CSPSV ', infot, nout, lerr, ok )
719 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
721 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
723 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
725 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
727 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
729 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
731 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
733 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
735 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
737 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
739 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
741 CALL
chkxer(
'CSPSVX', infot, nout, lerr, ok )
747 WRITE( nout, fmt = 9999 )path
749 WRITE( nout, fmt = 9998 )path
752 9999
format( 1x, a3,
' drivers passed the tests of the error exits' )
753 9998
format(
' *** ', a3,
' drivers failed the tests of the error ',