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 = 5
655 CALL chesv_rook(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
656 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
657 infot = 8
658 CALL chesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, 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, 0, info )
662 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
663 infot = 10
664 CALL chesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
665 CALL chkxer(
'CHESV_ROOK', infot, nout, lerr, ok )
666
667 ELSE IF(
lsamen( 2, c2,
'HK' ) )
THEN
668
669
670
671
672
673
674
675
676
677
678
679 srnamt = 'CHESV_RK'
680 infot = 1
681 CALL chesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
682 CALL chkxer(
'CHESV_RK', infot, nout, lerr, ok )
683 infot = 2
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 )
686 infot = 3
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 )
689 infot = 5
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 )
692 infot = 9
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 )
695 infot = 11
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 )
698 infot = 11
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 )
701
702 ELSE IF(
lsamen( 2, c2,
'HA' ) )
THEN
703
704
705
706 srnamt = 'CHESV_AA'
707 infot = 1
708 CALL chesv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
709 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
710 infot = 2
711 CALL chesv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
712 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
713 infot = 3
714 CALL chesv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
715 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
716 infot = 5
717 CALL chesv_aa(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
718 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
719 infot = 8
720 CALL chesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
721 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
722 infot = 10
723 CALL chesv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
724 CALL chkxer(
'CHESV_AA', infot, nout, lerr, ok )
725
726 ELSE IF(
lsamen( 2, c2,
'H2' ) )
THEN
727
728
729
730 srnamt = 'CHESV_AA_2STAGE'
731 infot = 1
732 CALL chesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
733 $ w, 1, info )
734 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
735 infot = 2
736 CALL chesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
737 $ w, 1, info )
738 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
739 infot = 3
740 CALL chesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
741 $ w, 1, info )
742 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
743 infot = 5
744 CALL chesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
745 $ w, 1, info )
746 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
747 infot = 7
748 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
749 $ w, 1, info )
750 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
751 infot = 11
752 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
753 $ w, 1, info )
754 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
755 infot = 13
756 CALL chesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
757 $ w, 1, info )
758 CALL chkxer(
'CHESV_AA_2STAGE', infot, nout, lerr, ok )
759
760 ELSE IF(
lsamen( 2, c2,
'SA' ) )
THEN
761
762
763
764 srnamt = 'CSYSV_AA'
765 infot = 1
766 CALL csysv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
767 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
768 infot = 2
769 CALL csysv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
770 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
771 infot = 3
772 CALL csysv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
773 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
774 infot = 5
775 CALL csysv_aa(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
776 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
777 infot = 8
778 CALL csysv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
779 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
780 infot = 10
781 CALL csysv_aa(
'U', 3, 1, a, 3, ip, b, 3, w, 6, info )
782 CALL chkxer(
'CSYSV_AA', infot, nout, lerr, ok )
783
784 ELSE IF(
lsamen( 2, c2,
'S2' ) )
THEN
785
786
787
788 srnamt = 'CSYSV_AA_2STAGE'
789 infot = 1
790 CALL csysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
791 $ w, 1, info )
792 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
793 infot = 2
794 CALL csysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
795 $ w, 1, info )
796 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
797 infot = 3
798 CALL csysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
799 $ w, 1, info )
800 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
801 infot = 5
802 CALL csysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
803 $ w, 1, info )
804 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
805 infot = 7
806 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
807 $ w, 1, info )
808 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
809 infot = 11
810 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
811 $ w, 1, info )
812 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
813 infot = 13
814 CALL csysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 2,
815 $ w, 1, info )
816 CALL chkxer(
'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
817
818 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
819
820
821
822 srnamt = 'CHPSV '
823 infot = 1
824 CALL chpsv(
'/', 0, 0, a, ip, b, 1, info )
825 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
826 infot = 2
827 CALL chpsv(
'U', -1, 0, a, ip, b, 1, info )
828 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
829 infot = 3
830 CALL chpsv(
'U', 0, -1, a, ip, b, 1, info )
831 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
832 infot = 7
833 CALL chpsv(
'U', 2, 0, a, ip, b, 1, info )
834 CALL chkxer(
'CHPSV ', infot, nout, lerr, ok )
835
836
837
838 srnamt = 'CHPSVX'
839 infot = 1
840 CALL chpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
841 $ r2, w, rw, info )
842 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
843 infot = 2
844 CALL chpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
845 $ r2, w, rw, info )
846 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
847 infot = 3
848 CALL chpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
849 $ r2, w, rw, info )
850 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
851 infot = 4
852 CALL chpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
853 $ r2, w, rw, info )
854 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
855 infot = 9
856 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
857 $ r2, w, rw, info )
858 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
859 infot = 11
860 CALL chpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
861 $ r2, w, rw, info )
862 CALL chkxer(
'CHPSVX', infot, nout, lerr, ok )
863
864 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
865
866
867
868 srnamt = 'CSYSV '
869 infot = 1
870 CALL csysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
871 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
872 infot = 2
873 CALL csysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
874 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
875 infot = 3
876 CALL csysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
877 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
878 infot = 5
879 CALL csysv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
880 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
881 infot = 8
882 CALL csysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
883 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
884 infot = 10
885 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
886 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
887 infot = 10
888 CALL csysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
889 CALL chkxer(
'CSYSV ', infot, nout, lerr, ok )
890
891
892
893 srnamt = 'CSYSVX'
894 infot = 1
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 )
898 infot = 2
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 )
902 infot = 3
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 )
906 infot = 4
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 )
910 infot = 6
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 )
914 infot = 8
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 )
918 infot = 11
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 )
922 infot = 13
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 )
926 infot = 18
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 )
930
931 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
932
933
934
935 srnamt = 'CSYSV_ROOK'
936 infot = 1
937 CALL csysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
938 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
939 infot = 2
940 CALL csysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
941 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
942 infot = 3
943 CALL csysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
944 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
945 infot = 5
946 CALL csysv_rook(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
947 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
948 infot = 8
949 CALL csysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
950 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
951 infot = 10
952 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
953 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
954 infot = 10
955 CALL csysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
956 CALL chkxer(
'CSYSV_ROOK', infot, nout, lerr, ok )
957
958 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
959
960
961
962
963
964
965
966
967
968
969
970 srnamt = 'CSYSV_RK'
971 infot = 1
972 CALL csysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
973 CALL chkxer(
'CSYSV_RK', infot, nout, lerr, ok )
974 infot = 2
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 )
977 infot = 3
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 )
980 infot = 5
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 )
983 infot = 9
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 )
986 infot = 11
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 )
989 infot = 11
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 )
992
993 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
994
995
996
997 srnamt = 'CSPSV '
998 infot = 1
999 CALL cspsv(
'/', 0, 0, a, ip, b, 1, info )
1000 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1001 infot = 2
1002 CALL cspsv(
'U', -1, 0, a, ip, b, 1, info )
1003 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1004 infot = 3
1005 CALL cspsv(
'U', 0, -1, a, ip, b, 1, info )
1006 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1007 infot = 7
1008 CALL cspsv(
'U', 2, 0, a, ip, b, 1, info )
1009 CALL chkxer(
'CSPSV ', infot, nout, lerr, ok )
1010
1011
1012
1013 srnamt = 'CSPSVX'
1014 infot = 1
1015 CALL cspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1016 $ r2, w, rw, info )
1017 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1018 infot = 2
1019 CALL cspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1020 $ r2, w, rw, info )
1021 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1022 infot = 3
1023 CALL cspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1024 $ r2, w, rw, info )
1025 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1026 infot = 4
1027 CALL cspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1028 $ r2, w, rw, info )
1029 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1030 infot = 9
1031 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1032 $ r2, w, rw, info )
1033 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1034 infot = 11
1035 CALL cspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1036 $ r2, w, rw, info )
1037 CALL chkxer(
'CSPSVX', infot, nout, lerr, ok )
1038 END IF
1039
1040
1041
1042 IF( ok ) THEN
1043 WRITE( nout, fmt = 9999 )path
1044 ELSE
1045 WRITE( nout, fmt = 9998 )path
1046 END IF
1047
1048 9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1049 9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1050 $ 'exits ***' )
1051
1052 RETURN
1053
1054
1055
subroutine chkxer(srnamt, infot, nout, lerr, ok)
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 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 cgesv(n, nrhs, a, lda, ipiv, b, ldb, info)
Download CGESV + dependencies <a href="http://www.netlib.org/cgi-bin/netlibfiles....
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 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 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 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_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(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 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
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 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 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 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 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 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 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 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 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 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 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
logical function lsamen(n, ca, cb)
LSAMEN
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 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 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 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 cppsv(uplo, n, nrhs, ap, b, ldb, info)
CPPSV 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 cptsv(n, nrhs, d, e, b, ldb, info)
CPTSV computes the solution to system of linear equations A * X = B for PT 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