73 REAL RCOND, SCALE, SCALES(0)
76 REAL R1( NMAX ), R2( NMAX ), RW( NMAX )
77 COMPLEX A( NMAX, NMAX ), B( NMAX ), W( NMAX ),
96 COMMON / infoc / infot, nout, ok, lerr
97 COMMON / srnamc / srnamt
102 WRITE( nout, fmt = * )
112 IF( lsamen( 2, c2,
'TR' ) )
THEN
118 CALL ctrtri(
'/',
'N', 0, a, 1, info )
119 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
121 CALL ctrtri(
'U',
'/', 0, a, 1, info )
122 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
124 CALL ctrtri(
'U',
'N', -1, a, 1, info )
125 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
127 CALL ctrtri(
'U',
'N', 2, a, 1, info )
128 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
134 CALL ctrti2(
'/',
'N', 0, a, 1, info )
135 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
137 CALL ctrti2(
'U',
'/', 0, a, 1, info )
138 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
140 CALL ctrti2(
'U',
'N', -1, a, 1, info )
141 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
143 CALL ctrti2(
'U',
'N', 2, a, 1, info )
144 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
151 CALL ctrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
152 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
154 CALL ctrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
155 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
157 CALL ctrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
158 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
160 CALL ctrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
161 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
163 CALL ctrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
164 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
171 CALL ctrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
173 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
175 CALL ctrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
177 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
179 CALL ctrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
181 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
183 CALL ctrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
185 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
187 CALL ctrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
189 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
191 CALL ctrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
193 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
195 CALL ctrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
197 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
199 CALL ctrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
201 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
207 CALL ctrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, rw, info )
208 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
210 CALL ctrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, rw, info )
211 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
213 CALL ctrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, rw, info )
214 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
216 CALL ctrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, rw, info )
217 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
219 CALL ctrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, rw, info )
220 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
226 CALL clatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, rw, info )
227 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
229 CALL clatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, rw, info )
230 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
232 CALL clatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, rw, info )
233 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
235 CALL clatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, rw, info )
236 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
238 CALL clatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, rw, info )
239 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
241 CALL clatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, rw, info )
242 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
248 CALL clatrs3(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, 1, scales,
249 $ rw, rw( 2 ), 1, info )
250 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
252 CALL clatrs3(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, 1, scales,
253 $ rw, rw( 2 ), 1, info )
254 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
256 CALL clatrs3(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, 1, scales,
257 $ rw, rw( 2 ), 1, info )
258 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
260 CALL clatrs3(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, 1, scales,
261 $ rw, rw( 2 ), 1, info )
262 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
264 CALL clatrs3(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, 1, scales,
265 $ rw, rw( 2 ), 1, info )
266 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
268 CALL clatrs3(
'U',
'N',
'N',
'N', 0, -1, a, 1, x, 1, scales,
269 $ rw, rw( 2 ), 1, info )
270 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
272 CALL clatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 1, x, 1, scales,
273 $ rw, rw( 2 ), 1, info )
274 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
276 CALL clatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 2, x, 1, scales,
277 $ rw, rw( 2 ), 1, info )
278 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
280 CALL clatrs3(
'U',
'N',
'N',
'N', 1, 0, a, 1, x, 1, scales,
281 $ rw, rw( 2 ), 0, info )
282 CALL chkxer(
'CLATRS3', infot, nout, lerr, ok )
286 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
292 CALL ctptri(
'/',
'N', 0, a, info )
293 CALL chkxer(
'CTPTRI', infot, nout, lerr, ok )
295 CALL ctptri(
'U',
'/', 0, a, info )
296 CALL chkxer(
'CTPTRI', infot, nout, lerr, ok )
298 CALL ctptri(
'U',
'N', -1, a, info )
299 CALL chkxer(
'CTPTRI', infot, nout, lerr, ok )
305 CALL ctptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
306 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
308 CALL ctptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
309 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
311 CALL ctptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
312 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
314 CALL ctptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
315 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
317 CALL ctptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
318 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
320 CALL ctptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
321 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
327 CALL ctprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
329 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
331 CALL ctprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
333 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
335 CALL ctprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
337 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
339 CALL ctprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
341 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
343 CALL ctprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
345 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
347 CALL ctprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, rw,
349 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
351 CALL ctprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, rw,
353 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
359 CALL ctpcon(
'/',
'U',
'N', 0, a, rcond, w, rw, info )
360 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
362 CALL ctpcon(
'1',
'/',
'N', 0, a, rcond, w, rw, info )
363 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
365 CALL ctpcon(
'1',
'U',
'/', 0, a, rcond, w, rw, info )
366 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
368 CALL ctpcon(
'1',
'U',
'N', -1, a, rcond, w, rw, info )
369 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
375 CALL clatps(
'/',
'N',
'N',
'N', 0, a, x, scale, rw, info )
376 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
378 CALL clatps(
'U',
'/',
'N',
'N', 0, a, x, scale, rw, info )
379 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
381 CALL clatps(
'U',
'N',
'/',
'N', 0, a, x, scale, rw, info )
382 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
384 CALL clatps(
'U',
'N',
'N',
'/', 0, a, x, scale, rw, info )
385 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
387 CALL clatps(
'U',
'N',
'N',
'N', -1, a, x, scale, rw, info )
388 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
392 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
398 CALL ctbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
399 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
401 CALL ctbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
402 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
404 CALL ctbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
405 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
407 CALL ctbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
408 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
410 CALL ctbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
411 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
413 CALL ctbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
414 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
416 CALL ctbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
417 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
419 CALL ctbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
420 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
426 CALL ctbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
428 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
430 CALL ctbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
432 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
434 CALL ctbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
436 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
438 CALL ctbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
440 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
442 CALL ctbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
444 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
446 CALL ctbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
448 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
450 CALL ctbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
452 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
454 CALL ctbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
456 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
458 CALL ctbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
460 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
466 CALL ctbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, rw, info )
467 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
469 CALL ctbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, rw, info )
470 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
472 CALL ctbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, rw, info )
473 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
475 CALL ctbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, rw, info )
476 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
478 CALL ctbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, rw, info )
479 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
481 CALL ctbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, rw, info )
482 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
488 CALL clatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, rw,
490 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
492 CALL clatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, rw,
494 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
496 CALL clatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, rw,
498 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
500 CALL clatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, rw,
502 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
504 CALL clatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, rw,
506 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
508 CALL clatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, rw,
510 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
512 CALL clatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, rw,
514 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
519 CALL alaesm( path, ok, nout )