55
56
57
58
59
60
61 CHARACTER*3 PATH
62 INTEGER NUNIT
63
64
65
66
67
68 INTEGER NMAX
69 parameter( nmax = 4 )
70
71
72 CHARACTER EQ
73 CHARACTER*2 C2
74 INTEGER I, INFO, J
75 REAL RCOND
76
77
78 INTEGER IP( NMAX )
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 )
83
84
85 LOGICAL LSAMEN
87
88
95
96
97 LOGICAL LERR, OK
98 CHARACTER*32 SRNAMT
99 INTEGER INFOT, NOUT
100
101
102 COMMON / infoc / infot, nout, ok, lerr
103 COMMON / srnamc / srnamt
104
105
106 INTRINSIC cmplx, real
107
108
109
110 nout = nunit
111 WRITE( nout, fmt = * )
112 c2 = path( 2: 3 )
113
114
115
116 DO 20 j = 1, nmax
117 DO 10 i = 1, nmax
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 ) )
120 10 CONTINUE
121 b( j ) = 0.e+0
122 e( j ) = 0.e+0
123 r1( j ) = 0.e+0
124 r2( j ) = 0.e+0
125 w( j ) = 0.e+0
126 x( j ) = 0.e+0
127 c( j ) = 0.e+0
128 r( j ) = 0.e+0
129 ip( j ) = j
130 20 CONTINUE
131 eq = ' '
132 ok = .true.
133
134 IF(
lsamen( 2, c2,
'GE' ) )
THEN
135
136
137
138 srnamt = 'CGESV '
139 infot = 1
140 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
141 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
142 infot = 2
143 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
144 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
145 infot = 4
146 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
147 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
148 infot = 7
149 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
150 CALL chkxer(
'CGESV ', infot, nout, lerr, ok )
151
152
153
154 srnamt = 'CGESVX'
155 infot = 1
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 )
159 infot = 2
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 )
163 infot = 3
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 )
167 infot = 4
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 )
171 infot = 6
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 )
175 infot = 8
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 )
179 infot = 10
180 eq = '/'
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 )
184 infot = 11
185 eq = 'R'
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 )
189 infot = 12
190 eq = 'C'
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 )
194 infot = 14
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 )
198 infot = 16
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 )
202
203 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
204
205
206
207 srnamt = 'CGBSV '
208 infot = 1
209 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
210 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
211 infot = 2
212 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
213 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
214 infot = 3
215 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
216 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
217 infot = 4
218 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
219 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
220 infot = 6
221 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
222 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
223 infot = 9
224 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
225 CALL chkxer(
'CGBSV ', infot, nout, lerr, ok )
226
227
228
229 srnamt = 'CGBSVX'
230 infot = 1
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 )
234 infot = 2
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 )
238 infot = 3
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 )
242 infot = 4
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 )
246 infot = 5
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 )
250 infot = 6
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 )
254 infot = 8
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 )
258 infot = 10
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 )
262 infot = 12
263 eq = '/'
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 )
267 infot = 13
268 eq = 'R'
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 )
272 infot = 14
273 eq = 'C'
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 )
277 infot = 16
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 )
281 infot = 18
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 )
285
286 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
287
288
289
290 srnamt = 'CGTSV '
291 infot = 1
292 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
293 $ info )
294 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
295 infot = 2
296 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
297 $ info )
298 CALL chkxer(
'CGTSV ', infot, nout, lerr, ok )
299 infot = 7
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 )
302
303
304
305 srnamt = 'CGTSVX'
306 infot = 1
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 )
311 infot = 2
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 )
316 infot = 3
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 )
321 infot = 4
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 )
326 infot = 14
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 )
331 infot = 16
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 )
336
337 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
338
339
340
341 srnamt = 'CPOSV '
342 infot = 1
343 CALL cposv(
'/', 0, 0, a, 1, b, 1, info )
344 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
345 infot = 2
346 CALL cposv(
'U', -1, 0, a, 1, b, 1, info )
347 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
348 infot = 3
349 CALL cposv(
'U', 0, -1, a, 1, b, 1, info )
350 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
351 infot = 5
352 CALL cposv(
'U', 2, 0, a, 1, b, 2, info )
353 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
354 infot = 7
355 CALL cposv(
'U', 2, 0, a, 2, b, 1, info )
356 CALL chkxer(
'CPOSV ', infot, nout, lerr, ok )
357
358
359
360 srnamt = 'CPOSVX'
361 infot = 1
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 )
365 infot = 2
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 )
369 infot = 3
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 )
373 infot = 4
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 )
377 infot = 6
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 )
381 infot = 8
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 )
385 infot = 9
386 eq = '/'
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 )
390 infot = 10
391 eq = 'Y'
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 )
395 infot = 12
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 )
399 infot = 14
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 )
403
404 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
405
406
407
408 srnamt = 'CPPSV '
409 infot = 1
410 CALL cppsv(
'/', 0, 0, a, b, 1, info )
411 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
412 infot = 2
413 CALL cppsv(
'U', -1, 0, a, b, 1, info )
414 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
415 infot = 3
416 CALL cppsv(
'U', 0, -1, a, b, 1, info )
417 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
418 infot = 6
419 CALL cppsv(
'U', 2, 0, a, b, 1, info )
420 CALL chkxer(
'CPPSV ', infot, nout, lerr, ok )
421
422
423
424 srnamt = 'CPPSVX'
425 infot = 1
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 )
429 infot = 2
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 )
433 infot = 3
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 )
437 infot = 4
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 )
441 infot = 7
442 eq = '/'
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 )
446 infot = 8
447 eq = 'Y'
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 )
451 infot = 10
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 )
455 infot = 12
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 )
459
460 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
461
462
463
464 srnamt = 'CPBSV '
465 infot = 1
466 CALL cpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
467 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
468 infot = 2
469 CALL cpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
470 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
471 infot = 3
472 CALL cpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
473 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
474 infot = 4
475 CALL cpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
476 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
477 infot = 6
478 CALL cpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
479 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
480 infot = 8
481 CALL cpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
482 CALL chkxer(
'CPBSV ', infot, nout, lerr, ok )
483
484
485
486 srnamt = 'CPBSVX'
487 infot = 1
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 )
491 infot = 2
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 )
495 infot = 3
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 )
499 infot = 4
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 )
503 infot = 5
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 )
507 infot = 7
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 )
511 infot = 9
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 )
515 infot = 10
516 eq = '/'
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 )
520 infot = 11
521 eq = 'Y'
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 )
525 infot = 13
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 )
529 infot = 15
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 )
533
534 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
535
536
537
538 srnamt = 'CPTSV '
539 infot = 1
540 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
541 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
542 infot = 2
543 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
544 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
545 infot = 6
546 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
547 CALL chkxer(
'CPTSV ', infot, nout, lerr, ok )
548
549
550
551 srnamt = 'CPTSVX'
552 infot = 1
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 )
556 infot = 2
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 )
560 infot = 3
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 )
564 infot = 9
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 )
568 infot = 11
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 )
572
573 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
574
575
576
577 srnamt = 'CHESV '
578 infot = 1
579 CALL chesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
580 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
581 infot = 2
582 CALL chesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
584 infot = 3
585 CALL chesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
586 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
587 infot = 5
588 CALL chesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
589 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
590 infot = 8
591 CALL chesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
592 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
593 infot = 10
594 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
595 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
596 infot = 10
597 CALL chesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
598 CALL chkxer(
'CHESV ', infot, nout, lerr, ok )
599
600
601
602 srnamt = 'CHESVX'
603 infot = 1
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 )
607 infot = 2
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 )
611 infot = 3
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 )
615 infot = 4
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 )
619 infot = 6
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 )
623 infot = 8
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 )
627 infot = 11
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 )
631 infot = 13
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 )
635 infot = 18
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 )
639
640 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
641
642
643
644 srnamt = 'CHESV_ROOK'
645 infot = 1
646 CALL chesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
647 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
648 infot = 2
649 CALL chesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
650 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
651 infot = 3
652 CALL chesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
653 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
654 infot = 8
655 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
656 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
657 infot = 10
658 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
659 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
660 infot = 10
661 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
662 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
663
664 ELSE IF(
lsamen( 2, c2,
'HK' ) )
THEN
665
666
667
668
669
670
671
672
673
674
675
676 srnamt = 'CHESV_RK'
677 infot = 1
678 CALL chesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
679 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
680 infot = 2
681 CALL chesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
682 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
683 infot = 3
684 CALL chesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
685 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
686 infot = 5
687 CALL chesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
688 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
689 infot = 9
690 CALL chesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
691 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
692 infot = 11
693 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
694 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
695 infot = 11
696 CALL chesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
697 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
698
699 ELSE IF(
lsamen( 2, c2,
'HA' ) )
THEN
700
701
702
703 srnamt = 'CHESV_AA'
704 infot = 1
705 CALL chesv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
706 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
707 infot = 2
708 CALL chesv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
709 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
710 infot = 3
711 CALL chesv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
712 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
713 infot = 8
714 CALL chesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
715 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
716
717 ELSE IF(
lsamen( 2, c2,
'H2' ) )
THEN
718
719
720
721 srnamt = 'CHESV_AA_2STAGE'
722 infot = 1
723 CALL chesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
724 $ w, 1, info )
725 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
726 infot = 2
727 CALL chesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
728 $ w, 1, info )
729 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
730 infot = 3
731 CALL chesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
732 $ w, 1, info )
733 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
734 infot = 5
735 CALL chesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
736 $ w, 1, info )
737 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
738 infot = 11
739 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
740 $ w, 1, info )
741 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
742 infot = 7
743 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
744 $ w, 1, info )
745 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
746
747 ELSE IF(
lsamen( 2, c2,
'S2' ) )
THEN
748
749
750
751 srnamt = 'CSYSV_AA_2STAGE'
752 infot = 1
753 CALL csysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
754 $ w, 1, info )
755 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
756 infot = 2
757 CALL csysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
758 $ w, 1, info )
759 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
760 infot = 3
761 CALL csysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
762 $ w, 1, info )
763 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
764 infot = 5
765 CALL csysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
766 $ w, 1, info )
767 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
768 infot = 11
769 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
770 $ w, 1, info )
771 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
772 infot = 7
773 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
774 $ w, 1, info )
775 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
776
777 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
778
779
780
781 srnamt = 'CHPSV '
782 infot = 1
783 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
784 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
785 infot = 2
786 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
787 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
788 infot = 3
789 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
790 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
791 infot = 7
792 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
793 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
794
795
796
797 srnamt = 'CHPSVX'
798 infot = 1
799 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
800 $ r2, w, rw, info )
801 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
802 infot = 2
803 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
804 $ r2, w, rw, info )
805 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
806 infot = 3
807 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
808 $ r2, w, rw, info )
809 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
810 infot = 4
811 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
812 $ r2, w, rw, info )
813 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
814 infot = 9
815 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
816 $ r2, w, rw, info )
817 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
818 infot = 11
819 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
820 $ r2, w, rw, info )
821 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
822
823 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
824
825
826
827 srnamt = 'CSYSV '
828 infot = 1
829 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
830 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
831 infot = 2
832 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
833 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
834 infot = 3
835 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
836 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
837 infot = 8
838 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
839 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
840 infot = 10
841 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
842 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
843 infot = 10
844 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
845 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
846
847
848
849 srnamt = 'CSYSVX'
850 infot = 1
851 CALL csysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
852 $ rcond, r1, r2, w, 1, rw, info )
853 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
854 infot = 2
855 CALL csysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
856 $ rcond, r1, r2, w, 1, rw, info )
857 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
858 infot = 3
859 CALL csysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
860 $ rcond, r1, r2, w, 1, rw, info )
861 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
862 infot = 4
863 CALL csysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
864 $ rcond, r1, r2, w, 1, rw, info )
865 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
866 infot = 6
867 CALL csysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
868 $ rcond, r1, r2, w, 4, rw, info )
869 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
870 infot = 8
871 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
872 $ rcond, r1, r2, w, 4, rw, info )
873 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
874 infot = 11
875 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
876 $ rcond, r1, r2, w, 4, rw, info )
877 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
878 infot = 13
879 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
880 $ rcond, r1, r2, w, 4, rw, info )
881 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
882 infot = 18
883 CALL csysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
884 $ rcond, r1, r2, w, 3, rw, info )
885 CALL chkxer(
'CSYSVX', infot, nout, lerr, ok )
886
887 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
888
889
890
891 srnamt = 'CSYSV_ROOK'
892 infot = 1
893 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
894 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
895 infot = 2
896 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
897 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
898 infot = 3
899 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
900 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
901 infot = 8
902 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
903 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
904 infot = 10
905 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
906 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
907 infot = 10
908 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
909 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
910
911 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
912
913
914
915
916
917
918
919
920
921
922
923 srnamt = 'CSYSV_RK'
924 infot = 1
925 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
926 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
927 infot = 2
928 CALL csysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
929 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
930 infot = 3
931 CALL csysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
932 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
933 infot = 5
934 CALL csysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
935 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
936 infot = 9
937 CALL csysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
938 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
939 infot = 11
940 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
941 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
942 infot = 11
943 CALL csysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
944 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
945
946 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
947
948
949
950 srnamt = 'CSPSV '
951 infot = 1
952 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
953 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
954 infot = 2
955 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
956 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
957 infot = 3
958 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
959 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
960 infot = 7
961 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
962 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
963
964
965
966 srnamt = 'CSPSVX'
967 infot = 1
968 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
969 $ r2, w, rw, info )
970 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
971 infot = 2
972 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
973 $ r2, w, rw, info )
974 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
975 infot = 3
976 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
977 $ r2, w, rw, info )
978 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
979 infot = 4
980 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
981 $ r2, w, rw, info )
982 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
983 infot = 9
984 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
985 $ r2, w, rw, info )
986 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
987 infot = 11
988 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
989 $ r2, w, rw, info )
990 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
991 END IF
992
993
994
995 IF( ok ) THEN
996 WRITE( nout, fmt = 9999 )path
997 ELSE
998 WRITE( nout, fmt = 9998 )path
999 END IF
1000
1001 9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1002 9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1003 $ 'exits ***' )
1004
1005 RETURN
1006
1007
1008
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
logical function lsamen(N, CA, CB)
LSAMEN
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 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 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 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)
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 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 chesv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_AA computes the solution to system of linear equations A * X = B for HE matrices
subroutine chesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_RK computes the solution to system of linear equations A * X = B for SY 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 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 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 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
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 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 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 cspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPSV computes the solution to system of linear equations A * X = B for OTHER matrices
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
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 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 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 cptsv(N, NRHS, D, E, B, LDB, INFO)
CPTSV computes the solution to system of linear equations A * X = B for PT matrices
subroutine csysv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
CSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
subroutine chesv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
CHESV_AA_2STAGE computes the solution to system of linear equations A * X = B for HE matrices
subroutine csysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_RK computes the solution to system of linear equations A * X = B for SY 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 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 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 csysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices