74 REAL RCOND, SCALE, SCALES(0)
78 REAL A( NMAX, NMAX ), B( NMAX ), R1( NMAX ),
79 $ R2( NMAX ), W( NMAX ), X( NMAX )
97 COMMON / infoc / infot, nout, ok, lerr
98 COMMON / srnamc / srnamt
103 WRITE( nout, fmt = * )
111 IF( lsamen( 2, c2,
'TR' ) )
THEN
119 CALL strtri(
'/',
'N', 0, a, 1, info )
120 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
122 CALL strtri(
'U',
'/', 0, a, 1, info )
123 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
125 CALL strtri(
'U',
'N', -1, a, 1, info )
126 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
128 CALL strtri(
'U',
'N', 2, a, 1, info )
129 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
135 CALL strti2(
'/',
'N', 0, a, 1, info )
136 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
138 CALL strti2(
'U',
'/', 0, a, 1, info )
139 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
141 CALL strti2(
'U',
'N', -1, a, 1, info )
142 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
144 CALL strti2(
'U',
'N', 2, a, 1, info )
145 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
151 CALL strtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
152 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
154 CALL strtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
155 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
157 CALL strtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
158 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
160 CALL strtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
161 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
163 CALL strtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
164 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
166 CALL strtrs(
'U',
'N',
'N', 2, 1, a, 1, x, 2, info )
167 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
169 CALL strtrs(
'U',
'N',
'N', 2, 1, a, 2, x, 1, info )
170 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
176 CALL strrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
178 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
180 CALL strrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
182 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
184 CALL strrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
186 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
188 CALL strrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
190 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
192 CALL strrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
194 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
196 CALL strrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
198 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
200 CALL strrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
202 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
204 CALL strrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
206 CALL chkxer(
'STRRFS', infot, nout, lerr, ok )
212 CALL strcon(
'/',
'U',
'N', 0, a, 1, rcond, w, iw, info )
213 CALL chkxer(
'STRCON', infot, nout, lerr, ok )
215 CALL strcon(
'1',
'/',
'N', 0, a, 1, rcond, w, iw, info )
216 CALL chkxer(
'STRCON', infot, nout, lerr, ok )
218 CALL strcon(
'1',
'U',
'/', 0, a, 1, rcond, w, iw, info )
219 CALL chkxer(
'STRCON', infot, nout, lerr, ok )
221 CALL strcon(
'1',
'U',
'N', -1, a, 1, rcond, w, iw, info )
222 CALL chkxer(
'STRCON', infot, nout, lerr, ok )
224 CALL strcon(
'1',
'U',
'N', 2, a, 1, rcond, w, iw, info )
225 CALL chkxer(
'STRCON', infot, nout, lerr, ok )
231 CALL slatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, w, info )
232 CALL chkxer(
'SLATRS', infot, nout, lerr, ok )
234 CALL slatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, w, info )
235 CALL chkxer(
'SLATRS', infot, nout, lerr, ok )
237 CALL slatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, w, info )
238 CALL chkxer(
'SLATRS', infot, nout, lerr, ok )
240 CALL slatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, w, info )
241 CALL chkxer(
'SLATRS', infot, nout, lerr, ok )
243 CALL slatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, w, info )
244 CALL chkxer(
'SLATRS', infot, nout, lerr, ok )
246 CALL slatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, w, info )
247 CALL chkxer(
'SLATRS', infot, nout, lerr, ok )
253 CALL slatrs3(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, 1, scales,
254 $ w, w( 2 ), 1, info )
255 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
257 CALL slatrs3(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, 1, scales,
258 $ w, w( 2 ), 1, info )
259 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
261 CALL slatrs3(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, 1, scales,
262 $ w, w( 2 ), 1, info )
263 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
265 CALL slatrs3(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, 1, scales,
266 $ w, w( 2 ), 1, info )
267 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
269 CALL slatrs3(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, 1, scales,
270 $ w, w( 2 ), 1, info )
271 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
273 CALL slatrs3(
'U',
'N',
'N',
'N', 0, -1, a, 1, x, 1, scales,
274 $ w, w( 2 ), 1, info )
275 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
277 CALL slatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 1, x, 1, scales,
278 $ w, w( 2 ), 1, info )
279 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
281 CALL slatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 2, x, 1, scales,
282 $ w, w( 2 ), 1, info )
283 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
285 CALL slatrs3(
'U',
'N',
'N',
'N', 1, 0, a, 1, x, 1, scales,
286 $ w, w( 2 ), 0, info )
287 CALL chkxer(
'SLATRS3', infot, nout, lerr, ok )
289 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
297 CALL stptri(
'/',
'N', 0, a, info )
298 CALL chkxer(
'STPTRI', infot, nout, lerr, ok )
300 CALL stptri(
'U',
'/', 0, a, info )
301 CALL chkxer(
'STPTRI', infot, nout, lerr, ok )
303 CALL stptri(
'U',
'N', -1, a, info )
304 CALL chkxer(
'STPTRI', infot, nout, lerr, ok )
310 CALL stptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
311 CALL chkxer(
'STPTRS', infot, nout, lerr, ok )
313 CALL stptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
314 CALL chkxer(
'STPTRS', infot, nout, lerr, ok )
316 CALL stptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
317 CALL chkxer(
'STPTRS', infot, nout, lerr, ok )
319 CALL stptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
320 CALL chkxer(
'STPTRS', infot, nout, lerr, ok )
322 CALL stptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
323 CALL chkxer(
'STPTRS', infot, nout, lerr, ok )
325 CALL stptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
326 CALL chkxer(
'STPTRS', infot, nout, lerr, ok )
332 CALL stprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
334 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
336 CALL stprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
338 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
340 CALL stprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
342 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
344 CALL stprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
346 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
348 CALL stprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
350 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
352 CALL stprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, iw,
354 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
356 CALL stprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, iw,
358 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
364 CALL stpcon(
'/',
'U',
'N', 0, a, rcond, w, iw, info )
365 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
367 CALL stpcon(
'1',
'/',
'N', 0, a, rcond, w, iw, info )
368 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
370 CALL stpcon(
'1',
'U',
'/', 0, a, rcond, w, iw, info )
371 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
373 CALL stpcon(
'1',
'U',
'N', -1, a, rcond, w, iw, info )
374 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
380 CALL slatps(
'/',
'N',
'N',
'N', 0, a, x, scale, w, info )
381 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
383 CALL slatps(
'U',
'/',
'N',
'N', 0, a, x, scale, w, info )
384 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
386 CALL slatps(
'U',
'N',
'/',
'N', 0, a, x, scale, w, info )
387 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
389 CALL slatps(
'U',
'N',
'N',
'/', 0, a, x, scale, w, info )
390 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
392 CALL slatps(
'U',
'N',
'N',
'N', -1, a, x, scale, w, info )
393 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
395 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
403 CALL stbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
404 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
406 CALL stbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
407 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
409 CALL stbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
410 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
412 CALL stbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
413 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
415 CALL stbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
416 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
418 CALL stbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
419 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
421 CALL stbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
422 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
424 CALL stbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
425 CALL chkxer(
'STBTRS', infot, nout, lerr, ok )
431 CALL stbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
433 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
435 CALL stbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
437 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
439 CALL stbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
441 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
443 CALL stbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
445 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
447 CALL stbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
449 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
451 CALL stbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
453 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
455 CALL stbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
457 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
459 CALL stbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
461 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
463 CALL stbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
465 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
471 CALL stbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, iw, info )
472 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
474 CALL stbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, iw, info )
475 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
477 CALL stbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, iw, info )
478 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
480 CALL stbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, iw, info )
481 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
483 CALL stbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, iw, info )
484 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
486 CALL stbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, iw, info )
487 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
493 CALL slatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, w,
495 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
497 CALL slatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, w,
499 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
501 CALL slatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, w,
503 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
505 CALL slatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, w,
507 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
509 CALL slatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, w,
511 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
513 CALL slatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, w,
515 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
517 CALL slatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, w,
519 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
524 CALL alaesm( path, ok, nout )