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 DOUBLE PRECISION RCOND
76
77
78 INTEGER IP( NMAX )
79 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
80 $ RF( NMAX ), RW( NMAX )
81 COMPLEX*16 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 dble, dcmplx
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 ) = dcmplx( 1.d0 / dble( i+j ),
119 $ -1.d0 / dble( i+j ) )
120 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
121 $ -1.d0 / dble( i+j ) )
122 10 CONTINUE
123 b( j ) = 0.d0
124 e( j ) = 0.d0
125 r1( j ) = 0.d0
126 r2( j ) = 0.d0
127 w( j ) = 0.d0
128 x( j ) = 0.d0
129 c( j ) = 0.d0
130 r( j ) = 0.d0
131 ip( j ) = j
132 20 CONTINUE
133 eq = ' '
134 ok = .true.
135
136 IF(
lsamen( 2, c2,
'GE' ) )
THEN
137
138
139
140 srnamt = 'ZGESV '
141 infot = 1
142 CALL zgesv( -1, 0, a, 1, ip, b, 1, info )
143 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
144 infot = 2
145 CALL zgesv( 0, -1, a, 1, ip, b, 1, info )
146 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
147 infot = 4
148 CALL zgesv( 2, 1, a, 1, ip, b, 2, info )
149 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
150 infot = 7
151 CALL zgesv( 2, 1, a, 2, ip, b, 1, info )
152 CALL chkxer(
'ZGESV ', infot, nout, lerr, ok )
153
154
155
156 srnamt = 'ZGESVX'
157 infot = 1
158 CALL zgesvx(
'/',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
159 $ x, 1, rcond, r1, r2, w, rw, info )
160 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
161 infot = 2
162 CALL zgesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
163 $ x, 1, rcond, r1, r2, w, rw, info )
164 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
165 infot = 3
166 CALL zgesvx(
'N',
'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
167 $ x, 1, rcond, r1, r2, w, rw, info )
168 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
169 infot = 4
170 CALL zgesvx(
'N',
'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
171 $ x, 1, rcond, r1, r2, w, rw, info )
172 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
173 infot = 6
174 CALL zgesvx(
'N',
'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
175 $ x, 2, rcond, r1, r2, w, rw, info )
176 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
177 infot = 8
178 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
179 $ x, 2, rcond, r1, r2, w, rw, info )
180 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
181 infot = 10
182 eq = '/'
183 CALL zgesvx(
'F',
'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
184 $ x, 1, rcond, r1, r2, w, rw, info )
185 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
186 infot = 11
187 eq = 'R'
188 CALL zgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
189 $ x, 1, rcond, r1, r2, w, rw, info )
190 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
191 infot = 12
192 eq = 'C'
193 CALL zgesvx(
'F',
'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
194 $ x, 1, rcond, r1, r2, w, rw, info )
195 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
196 infot = 14
197 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
198 $ x, 2, rcond, r1, r2, w, rw, info )
199 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
200 infot = 16
201 CALL zgesvx(
'N',
'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
202 $ x, 1, rcond, r1, r2, w, rw, info )
203 CALL chkxer(
'ZGESVX', infot, nout, lerr, ok )
204
205 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
206
207
208
209 srnamt = 'ZGBSV '
210 infot = 1
211 CALL zgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
212 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
213 infot = 2
214 CALL zgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
215 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
216 infot = 3
217 CALL zgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
218 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
219 infot = 4
220 CALL zgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
221 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
222 infot = 6
223 CALL zgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
224 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
225 infot = 9
226 CALL zgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
227 CALL chkxer(
'ZGBSV ', infot, nout, lerr, ok )
228
229
230
231 srnamt = 'ZGBSVX'
232 infot = 1
233 CALL zgbsvx(
'/',
'N', 0, 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(
'ZGBSVX', infot, nout, lerr, ok )
236 infot = 2
237 CALL zgbsvx(
'N',
'/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
238 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
239 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
240 infot = 3
241 CALL zgbsvx(
'N',
'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
242 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
243 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
244 infot = 4
245 CALL zgbsvx(
'N',
'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
246 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
247 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
248 infot = 5
249 CALL zgbsvx(
'N',
'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
250 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
251 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
252 infot = 6
253 CALL zgbsvx(
'N',
'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
254 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
255 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
256 infot = 8
257 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
258 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
259 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
260 infot = 10
261 CALL zgbsvx(
'N',
'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
262 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
263 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
264 infot = 12
265 eq = '/'
266 CALL zgbsvx(
'F',
'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
267 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
268 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
269 infot = 13
270 eq = 'R'
271 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
272 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
273 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
274 infot = 14
275 eq = 'C'
276 CALL zgbsvx(
'F',
'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
277 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
278 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
279 infot = 16
280 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
281 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
282 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
283 infot = 18
284 CALL zgbsvx(
'N',
'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
285 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
286 CALL chkxer(
'ZGBSVX', infot, nout, lerr, ok )
287
288 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
289
290
291
292 srnamt = 'ZGTSV '
293 infot = 1
294 CALL zgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
295 $ info )
296 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
297 infot = 2
298 CALL zgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
299 $ info )
300 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
301 infot = 7
302 CALL zgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
303 CALL chkxer(
'ZGTSV ', infot, nout, lerr, ok )
304
305
306
307 srnamt = 'ZGTSVX'
308 infot = 1
309 CALL zgtsvx(
'/',
'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
310 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
311 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
312 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
313 infot = 2
314 CALL zgtsvx(
'N',
'/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
315 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
316 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
317 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
318 infot = 3
319 CALL zgtsvx(
'N',
'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
320 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
321 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
322 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
323 infot = 4
324 CALL zgtsvx(
'N',
'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
325 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
326 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
327 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
328 infot = 14
329 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
330 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
331 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
332 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
333 infot = 16
334 CALL zgtsvx(
'N',
'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
335 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
336 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
337 CALL chkxer(
'ZGTSVX', infot, nout, lerr, ok )
338
339 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
340
341
342
343 srnamt = 'ZPOSV '
344 infot = 1
345 CALL zposv(
'/', 0, 0, a, 1, b, 1, info )
346 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
347 infot = 2
348 CALL zposv(
'U', -1, 0, a, 1, b, 1, info )
349 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
350 infot = 3
351 CALL zposv(
'U', 0, -1, a, 1, b, 1, info )
352 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
353 infot = 5
354 CALL zposv(
'U', 2, 0, a, 1, b, 2, info )
355 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
356 infot = 7
357 CALL zposv(
'U', 2, 0, a, 2, b, 1, info )
358 CALL chkxer(
'ZPOSV ', infot, nout, lerr, ok )
359
360
361
362 srnamt = 'ZPOSVX'
363 infot = 1
364 CALL zposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
365 $ rcond, r1, r2, w, rw, info )
366 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
367 infot = 2
368 CALL zposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
369 $ rcond, r1, r2, w, rw, info )
370 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
371 infot = 3
372 CALL zposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
373 $ rcond, r1, r2, w, rw, info )
374 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
375 infot = 4
376 CALL zposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
377 $ rcond, r1, r2, w, rw, info )
378 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
379 infot = 6
380 CALL zposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
381 $ rcond, r1, r2, w, rw, info )
382 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
383 infot = 8
384 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
385 $ rcond, r1, r2, w, rw, info )
386 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
387 infot = 9
388 eq = '/'
389 CALL zposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
390 $ rcond, r1, r2, w, rw, info )
391 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
392 infot = 10
393 eq = 'Y'
394 CALL zposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
395 $ rcond, r1, r2, w, rw, info )
396 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
397 infot = 12
398 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
399 $ rcond, r1, r2, w, rw, info )
400 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
401 infot = 14
402 CALL zposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
403 $ rcond, r1, r2, w, rw, info )
404 CALL chkxer(
'ZPOSVX', infot, nout, lerr, ok )
405
406 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
407
408
409
410 srnamt = 'ZPPSV '
411 infot = 1
412 CALL zppsv(
'/', 0, 0, a, b, 1, info )
413 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
414 infot = 2
415 CALL zppsv(
'U', -1, 0, a, b, 1, info )
416 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
417 infot = 3
418 CALL zppsv(
'U', 0, -1, a, b, 1, info )
419 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
420 infot = 6
421 CALL zppsv(
'U', 2, 0, a, b, 1, info )
422 CALL chkxer(
'ZPPSV ', infot, nout, lerr, ok )
423
424
425
426 srnamt = 'ZPPSVX'
427 infot = 1
428 CALL zppsvx(
'/',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
429 $ r1, r2, w, rw, info )
430 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
431 infot = 2
432 CALL zppsvx(
'N',
'/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
433 $ r1, r2, w, rw, info )
434 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
435 infot = 3
436 CALL zppsvx(
'N',
'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
437 $ r1, r2, w, rw, info )
438 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
439 infot = 4
440 CALL zppsvx(
'N',
'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
441 $ r1, r2, w, rw, info )
442 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
443 infot = 7
444 eq = '/'
445 CALL zppsvx(
'F',
'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
446 $ r1, r2, w, rw, info )
447 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
448 infot = 8
449 eq = 'Y'
450 CALL zppsvx(
'F',
'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
451 $ r1, r2, w, rw, info )
452 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
453 infot = 10
454 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
455 $ r1, r2, w, rw, info )
456 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
457 infot = 12
458 CALL zppsvx(
'N',
'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
459 $ r1, r2, w, rw, info )
460 CALL chkxer(
'ZPPSVX', infot, nout, lerr, ok )
461
462 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
463
464
465
466 srnamt = 'ZPBSV '
467 infot = 1
468 CALL zpbsv(
'/', 0, 0, 0, a, 1, b, 1, info )
469 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
470 infot = 2
471 CALL zpbsv(
'U', -1, 0, 0, a, 1, b, 1, info )
472 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
473 infot = 3
474 CALL zpbsv(
'U', 1, -1, 0, a, 1, b, 1, info )
475 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
476 infot = 4
477 CALL zpbsv(
'U', 0, 0, -1, a, 1, b, 1, info )
478 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
479 infot = 6
480 CALL zpbsv(
'U', 1, 1, 0, a, 1, b, 2, info )
481 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
482 infot = 8
483 CALL zpbsv(
'U', 2, 0, 0, a, 1, b, 1, info )
484 CALL chkxer(
'ZPBSV ', infot, nout, lerr, ok )
485
486
487
488 srnamt = 'ZPBSVX'
489 infot = 1
490 CALL zpbsvx(
'/',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
491 $ rcond, r1, r2, w, rw, info )
492 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
493 infot = 2
494 CALL zpbsvx(
'N',
'/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
495 $ rcond, r1, r2, w, rw, info )
496 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
497 infot = 3
498 CALL zpbsvx(
'N',
'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
499 $ 1, rcond, r1, r2, w, rw, info )
500 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
501 infot = 4
502 CALL zpbsvx(
'N',
'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
503 $ 1, rcond, r1, r2, w, rw, info )
504 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
505 infot = 5
506 CALL zpbsvx(
'N',
'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
507 $ 1, rcond, r1, r2, w, rw, info )
508 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
509 infot = 7
510 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
511 $ rcond, r1, r2, w, rw, info )
512 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
513 infot = 9
514 CALL zpbsvx(
'N',
'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
515 $ rcond, r1, r2, w, rw, info )
516 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
517 infot = 10
518 eq = '/'
519 CALL zpbsvx(
'F',
'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
520 $ rcond, r1, r2, w, rw, info )
521 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
522 infot = 11
523 eq = 'Y'
524 CALL zpbsvx(
'F',
'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
525 $ rcond, r1, r2, w, rw, info )
526 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
527 infot = 13
528 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
529 $ rcond, r1, r2, w, rw, info )
530 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
531 infot = 15
532 CALL zpbsvx(
'N',
'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
533 $ rcond, r1, r2, w, rw, info )
534 CALL chkxer(
'ZPBSVX', infot, nout, lerr, ok )
535
536 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
537
538
539
540 srnamt = 'ZPTSV '
541 infot = 1
542 CALL zptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
543 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
544 infot = 2
545 CALL zptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
546 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
547 infot = 6
548 CALL zptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
549 CALL chkxer(
'ZPTSV ', infot, nout, lerr, ok )
550
551
552
553 srnamt = 'ZPTSVX'
554 infot = 1
555 CALL zptsvx(
'/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
556 $ 1, rcond, r1, r2, w, rw, info )
557 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
558 infot = 2
559 CALL zptsvx(
'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
560 $ 1, rcond, r1, r2, w, rw, info )
561 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
562 infot = 3
563 CALL zptsvx(
'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
564 $ 1, rcond, r1, r2, w, rw, info )
565 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
566 infot = 9
567 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
568 $ 2, rcond, r1, r2, w, rw, info )
569 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
570 infot = 11
571 CALL zptsvx(
'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
572 $ 1, rcond, r1, r2, w, rw, info )
573 CALL chkxer(
'ZPTSVX', infot, nout, lerr, ok )
574
575 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
576
577
578
579 srnamt = 'ZHESV '
580 infot = 1
581 CALL zhesv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
582 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
583 infot = 2
584 CALL zhesv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
585 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
586 infot = 3
587 CALL zhesv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
588 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
589 infot = 5
590 CALL zhesv(
'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
591 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
592 infot = 8
593 CALL zhesv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
594 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
595 infot = 10
596 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
597 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
598 infot = 10
599 CALL zhesv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
600 CALL chkxer(
'ZHESV ', infot, nout, lerr, ok )
601
602
603
604 srnamt = 'ZHESVX'
605 infot = 1
606 CALL zhesvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
607 $ rcond, r1, r2, w, 1, rw, info )
608 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
609 infot = 2
610 CALL zhesvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
611 $ rcond, r1, r2, w, 1, rw, info )
612 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
613 infot = 3
614 CALL zhesvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
615 $ rcond, r1, r2, w, 1, rw, info )
616 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
617 infot = 4
618 CALL zhesvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
619 $ rcond, r1, r2, w, 1, rw, info )
620 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
621 infot = 6
622 CALL zhesvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
623 $ rcond, r1, r2, w, 4, rw, info )
624 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
625 infot = 8
626 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
627 $ rcond, r1, r2, w, 4, rw, info )
628 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
629 infot = 11
630 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
631 $ rcond, r1, r2, w, 4, rw, info )
632 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
633 infot = 13
634 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
635 $ rcond, r1, r2, w, 4, rw, info )
636 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
637 infot = 18
638 CALL zhesvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
639 $ rcond, r1, r2, w, 3, rw, info )
640 CALL chkxer(
'ZHESVX', infot, nout, lerr, ok )
641
642 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
643
644
645
646 srnamt = 'ZHESV_ROOK'
647 infot = 1
648 CALL zhesv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
649 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
650 infot = 2
651 CALL zhesv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
652 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
653 infot = 3
654 CALL zhesv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
655 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
656 infot = 8
657 CALL zhesv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
658 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
659 infot = 10
660 CALL zhesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
661 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
662 infot = 10
663 CALL zhesv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
664 CALL chkxer(
'ZHESV_ROOK', infot, nout, lerr, ok )
665
666 ELSE IF(
lsamen( 2, c2,
'HK' ) )
THEN
667
668
669
670
671
672
673
674
675
676
677
678 srnamt = 'ZHESV_RK'
679 infot = 1
680 CALL zhesv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
681 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
682 infot = 2
683 CALL zhesv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
684 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
685 infot = 3
686 CALL zhesv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
687 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
688 infot = 5
689 CALL zhesv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
690 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
691 infot = 9
692 CALL zhesv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
693 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
694 infot = 11
695 CALL zhesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
696 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
697 infot = 11
698 CALL zhesv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
699 CALL chkxer(
'ZHESV_RK', infot, nout, lerr, ok )
700
701 ELSE IF(
lsamen( 2, c2,
'HA' ) )
THEN
702
703
704
705 srnamt = 'ZHESV_AA'
706 infot = 1
707 CALL zhesv_aa(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
708 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
709 infot = 2
710 CALL zhesv_aa(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
711 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
712 infot = 3
713 CALL zhesv_aa(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
714 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
715 infot = 8
716 CALL zhesv_aa(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
717 CALL chkxer(
'ZHESV_AA', infot, nout, lerr, ok )
718
719 ELSE IF(
lsamen( 2, c2,
'H2' ) )
THEN
720
721
722
723 srnamt = 'ZHESV_AA_2STAGE'
724 infot = 1
725 CALL zhesv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
726 $ w, 1, info )
727 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
728 infot = 2
729 CALL zhesv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
730 $ w, 1, info )
731 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
732 infot = 3
733 CALL zhesv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
734 $ w, 1, info )
735 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
736 infot = 5
737 CALL zhesv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
738 $ w, 1, info )
739 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
740 infot = 11
741 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
742 $ w, 1, info )
743 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
744 infot = 7
745 CALL zhesv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
746 $ w, 1, info )
747 CALL chkxer(
'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
748
749 ELSE IF(
lsamen( 2, c2,
'S2' ) )
THEN
750
751
752
753 srnamt = 'ZSYSV_AA_2STAGE'
754 infot = 1
755 CALL zsysv_aa_2stage(
'/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
756 $ w, 1, info )
757 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
758 infot = 2
759 CALL zsysv_aa_2stage(
'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
760 $ w, 1, info )
761 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
762 infot = 3
763 CALL zsysv_aa_2stage(
'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
764 $ w, 1, info )
765 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
766 infot = 5
767 CALL zsysv_aa_2stage(
'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
768 $ w, 1, info )
769 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
770 infot = 11
771 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
772 $ w, 1, info )
773 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
774 infot = 7
775 CALL zsysv_aa_2stage(
'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
776 $ w, 1, info )
777 CALL chkxer(
'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
778
779 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
780
781
782
783 srnamt = 'ZHPSV '
784 infot = 1
785 CALL zhpsv(
'/', 0, 0, a, ip, b, 1, info )
786 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
787 infot = 2
788 CALL zhpsv(
'U', -1, 0, a, ip, b, 1, info )
789 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
790 infot = 3
791 CALL zhpsv(
'U', 0, -1, a, ip, b, 1, info )
792 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
793 infot = 7
794 CALL zhpsv(
'U', 2, 0, a, ip, b, 1, info )
795 CALL chkxer(
'ZHPSV ', infot, nout, lerr, ok )
796
797
798
799 srnamt = 'ZHPSVX'
800 infot = 1
801 CALL zhpsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
802 $ r2, w, rw, info )
803 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
804 infot = 2
805 CALL zhpsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
806 $ r2, w, rw, info )
807 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
808 infot = 3
809 CALL zhpsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
810 $ r2, w, rw, info )
811 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
812 infot = 4
813 CALL zhpsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
814 $ r2, w, rw, info )
815 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
816 infot = 9
817 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
818 $ r2, w, rw, info )
819 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
820 infot = 11
821 CALL zhpsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
822 $ r2, w, rw, info )
823 CALL chkxer(
'ZHPSVX', infot, nout, lerr, ok )
824
825 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
826
827
828
829 srnamt = 'ZSYSV '
830 infot = 1
831 CALL zsysv(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
832 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
833 infot = 2
834 CALL zsysv(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
835 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
836 infot = 3
837 CALL zsysv(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
838 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
839 infot = 8
840 CALL zsysv(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
841 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
842 infot = 10
843 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
844 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
845 infot = 10
846 CALL zsysv(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
847 CALL chkxer(
'ZSYSV ', infot, nout, lerr, ok )
848
849
850
851 srnamt = 'ZSYSVX'
852 infot = 1
853 CALL zsysvx(
'/',
'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
854 $ rcond, r1, r2, w, 1, rw, info )
855 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
856 infot = 2
857 CALL zsysvx(
'N',
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
858 $ rcond, r1, r2, w, 1, rw, info )
859 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
860 infot = 3
861 CALL zsysvx(
'N',
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
862 $ rcond, r1, r2, w, 1, rw, info )
863 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
864 infot = 4
865 CALL zsysvx(
'N',
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
866 $ rcond, r1, r2, w, 1, rw, info )
867 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
868 infot = 6
869 CALL zsysvx(
'N',
'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
870 $ rcond, r1, r2, w, 4, rw, info )
871 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
872 infot = 8
873 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
874 $ rcond, r1, r2, w, 4, rw, info )
875 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
876 infot = 11
877 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
878 $ rcond, r1, r2, w, 4, rw, info )
879 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
880 infot = 13
881 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
882 $ rcond, r1, r2, w, 4, rw, info )
883 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
884 infot = 18
885 CALL zsysvx(
'N',
'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
886 $ rcond, r1, r2, w, 3, rw, info )
887 CALL chkxer(
'ZSYSVX', infot, nout, lerr, ok )
888
889 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
890
891
892
893 srnamt = 'ZSYSV_ROOK'
894 infot = 1
895 CALL zsysv_rook(
'/', 0, 0, a, 1, ip, b, 1, w, 1, info )
896 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
897 infot = 2
898 CALL zsysv_rook(
'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
899 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
900 infot = 3
901 CALL zsysv_rook(
'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
902 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
903 infot = 8
904 CALL zsysv_rook(
'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
905 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
906 infot = 10
907 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
908 CALL chkxer(
'ZSYSV_ROOK', infot, nout, lerr, ok )
909 infot = 10
910 CALL zsysv_rook(
'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
911
912 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
913
914
915
916
917
918
919
920
921
922
923
924 srnamt = 'ZSYSV_RK'
925 infot = 1
926 CALL zsysv_rk(
'/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
927 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
928 infot = 2
929 CALL zsysv_rk(
'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
930 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
931 infot = 3
932 CALL zsysv_rk(
'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
933 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
934 infot = 5
935 CALL zsysv_rk(
'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
936 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
937 infot = 9
938 CALL zsysv_rk(
'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
939 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
940 infot = 11
941 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
942 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
943 infot = 11
944 CALL zsysv_rk(
'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
945 CALL chkxer(
'ZSYSV_RK', infot, nout, lerr, ok )
946
947 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
948
949
950
951 srnamt = 'ZSPSV '
952 infot = 1
953 CALL zspsv(
'/', 0, 0, a, ip, b, 1, info )
954 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
955 infot = 2
956 CALL zspsv(
'U', -1, 0, a, ip, b, 1, info )
957 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
958 infot = 3
959 CALL zspsv(
'U', 0, -1, a, ip, b, 1, info )
960 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
961 infot = 7
962 CALL zspsv(
'U', 2, 0, a, ip, b, 1, info )
963 CALL chkxer(
'ZSPSV ', infot, nout, lerr, ok )
964
965
966
967 srnamt = 'ZSPSVX'
968 infot = 1
969 CALL zspsvx(
'/',
'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
970 $ r2, w, rw, info )
971 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
972 infot = 2
973 CALL zspsvx(
'N',
'/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
974 $ r2, w, rw, info )
975 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
976 infot = 3
977 CALL zspsvx(
'N',
'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
978 $ r2, w, rw, info )
979 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
980 infot = 4
981 CALL zspsvx(
'N',
'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
982 $ r2, w, rw, info )
983 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
984 infot = 9
985 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
986 $ r2, w, rw, info )
987 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
988 infot = 11
989 CALL zspsvx(
'N',
'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
990 $ r2, w, rw, info )
991 CALL chkxer(
'ZSPSVX', infot, nout, lerr, ok )
992 END IF
993
994
995
996 IF( ok ) THEN
997 WRITE( nout, fmt = 9999 )path
998 ELSE
999 WRITE( nout, fmt = 9998 )path
1000 END IF
1001
1002 9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1003 9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1004 $ 'exits ***' )
1005
1006 RETURN
1007
1008
1009
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
logical function lsamen(N, CA, CB)
LSAMEN
subroutine zgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGBSVX computes the solution to system of linear equations A * X = B for GB matrices
subroutine zgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
ZGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver)
subroutine zgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver)
subroutine zgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGESVX computes the solution to system of linear equations A * X = B for GE matrices
subroutine zgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGTSVX computes the solution to system of linear equations A * X = B for GT matrices
subroutine zgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
ZGTSV computes the solution to system of linear equations A * X = B for GT matrices
subroutine zhesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_RK computes the solution to system of linear equations A * X = B for SY matrices
subroutine zhesv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_AA computes the solution to system of linear equations A * X = B for HE matrices
subroutine zhesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
subroutine zhesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
ZHESVX computes the solution to system of linear equations A * X = B for HE matrices
subroutine zhesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV computes the solution to system of linear equations A * X = B for HE matrices
subroutine zhesv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
ZHESV_AA_2STAGE computes the solution to system of linear equations A * X = B for HE matrices
subroutine zpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zhpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPSV computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZPBSV computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPSV computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zhpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZHPSV computes the solution to system of linear equations A * X = B for OTHER matrices
subroutine zposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
ZPOSV computes the solution to system of linear equations A * X = B for PO matrices
subroutine zposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPOSVX computes the solution to system of linear equations A * X = B for PO matrices
subroutine zptsv(N, NRHS, D, E, B, LDB, INFO)
ZPTSV computes the solution to system of linear equations A * X = B for PT matrices
subroutine zptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPTSVX computes the solution to system of linear equations A * X = B for PT matrices
subroutine zsysv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
ZSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
subroutine zsysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices
subroutine zsysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV computes the solution to system of linear equations A * X = B for SY matrices
subroutine zsysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices
subroutine zsysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices
subroutine zsysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
ZSYSVX computes the solution to system of linear equations A * X = B for SY matrices