78 REAL A( NMAX, NMAX ), B( NMAX ), R1( NMAX ),
79 $ R2( NMAX ), W( NMAX ), X( NMAX )
96 COMMON / infoc / infot, nout, ok, lerr
97 COMMON / srnamc / srnamt
102 WRITE( nout, fmt = * )
110 IF( lsamen( 2, c2,
'TR' ) )
THEN
118 CALL strtri(
'/',
'N', 0, a, 1, info )
119 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
121 CALL strtri(
'U',
'/', 0, a, 1, info )
122 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
124 CALL strtri(
'U',
'N', -1, a, 1, info )
125 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
127 CALL strtri(
'U',
'N', 2, a, 1, info )
128 CALL chkxer(
'STRTRI', infot, nout, lerr, ok )
134 CALL strti2(
'/',
'N', 0, a, 1, info )
135 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
137 CALL strti2(
'U',
'/', 0, a, 1, info )
138 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
140 CALL strti2(
'U',
'N', -1, a, 1, info )
141 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
143 CALL strti2(
'U',
'N', 2, a, 1, info )
144 CALL chkxer(
'STRTI2', infot, nout, lerr, ok )
150 CALL strtrs(
'/',
'N',
'N',
151 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
153 CALL strtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
154 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
156 CALL strtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
157 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
159 CALL strtrs(
'U', 'n
', 'n
', -1, 0, A, 1, X, 1, INFO )
160 CALL CHKXER( 'strtrs', INFOT, NOUT, LERR, OK )
162 CALL STRTRS( 'u
', 'n
', 'n', 0, -1, a, 1, x, 1, info )
163 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
165 CALL strtrs(
'U',
'N',
'N', 2, 1, a, 1, x, 2, info )
166 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
168 CALL strtrs(
'U',
'N',
'N', 2, 1, a, 2, x, 1, info )
169 CALL chkxer(
'STRTRS', infot, nout, lerr, ok )
175 CALL STRRFS( '/
', 'n
', 'n
', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
177 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
179 CALL STRRFS( 'u
', '/
', 'n
', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
181 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
183 CALL STRRFS( 'u
', 'n
', '/
', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
185 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
187 CALL STRRFS( 'u
', 'n
', 'n
', -1, 0, A, 1, B, 1, X, 1, R1, R2, W,
189 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
191 CALL STRRFS( 'u
', 'n
', 'n
', 0, -1, A, 1, B, 1, X, 1, R1, R2, W,
193 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
195 CALL STRRFS( 'u
', 'n
', 'n
', 2, 1, A, 1, B, 2, X, 2, R1, R2, W,
197 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
199 CALL STRRFS( 'u
', 'n
', 'n
', 2, 1, A, 2, B, 1, X, 2, R1, R2, W,
201 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
203 CALL STRRFS( 'u
', 'n
', 'n
', 2, 1, A, 2, B, 2, X, 1, R1, R2, W,
205 CALL CHKXER( 'strrfs', INFOT, NOUT, LERR, OK )
211 CALL STRCON( '/
', 'u
', 'n
', 0, A, 1, RCOND, W, IW, INFO )
212 CALL CHKXER( 'strcon', INFOT, NOUT, LERR, OK )
214 CALL STRCON( '1
', '/
', 'n
', 0, A, 1, RCOND, W, IW, INFO )
215 CALL CHKXER( 'strcon', INFOT, NOUT, LERR, OK )
217 CALL STRCON( '1
', 'u
', '/
', 0, A, 1, RCOND, W, IW, INFO )
218 CALL CHKXER( 'strcon', INFOT, NOUT, LERR, OK )
220 CALL STRCON( '1
', 'u
', 'n
', -1, A, 1, RCOND, W, IW, INFO )
221 CALL CHKXER( 'strcon', INFOT, NOUT, LERR, OK )
223 CALL STRCON( '1
', 'u
', 'n
', 2, A, 1, RCOND, W, IW, INFO )
224 CALL CHKXER( 'strcon', INFOT, NOUT, LERR, OK )
230 CALL SLATRS( '/
', 'n
', 'n
', 'n
', 0, A, 1, X, SCALE, W, INFO )
231 CALL CHKXER( 'slatrs', INFOT, NOUT, LERR, OK )
233 CALL SLATRS( 'u
', '/
', 'n
', 'n
', 0, A, 1, X, SCALE, W, INFO )
234 CALL CHKXER( 'slatrs', INFOT, NOUT, LERR, OK )
236 CALL SLATRS( 'u
', 'n
', '/
', 'n
', 0, A, 1, X, SCALE, W, INFO )
237 CALL CHKXER( 'slatrs', INFOT, NOUT, LERR, OK )
239 CALL SLATRS( 'u
', 'n
', 'n
', '/
', 0, A, 1, X, SCALE, W, INFO )
240 CALL CHKXER( 'slatrs', INFOT, NOUT, LERR, OK )
242 CALL SLATRS( 'u
', 'n
', 'n
', 'n
', -1, A, 1, X, SCALE, W, INFO )
243 CALL CHKXER( 'slatrs', INFOT, NOUT, LERR, OK )
245 CALL SLATRS( 'u
', 'n
', 'n
', 'n
', 2, A, 1, X, SCALE, W, INFO )
246 CALL CHKXER( 'slatrs', INFOT, NOUT, LERR, OK )
248 ELSE IF( LSAMEN( 2, C2, 'tp
' ) ) THEN
256 CALL STPTRI( '/
', 'n
', 0, A, INFO )
257 CALL CHKXER( 'stptri', INFOT, NOUT, LERR, OK )
259 CALL STPTRI( 'u
', '/
', 0, A, INFO )
260 CALL CHKXER( 'stptri', INFOT, NOUT, LERR, OK )
262 CALL STPTRI( 'u
', 'n
', -1, A, INFO )
263 CALL CHKXER( 'stptri', INFOT, NOUT, LERR, OK )
269 CALL STPTRS( '/
', 'n
', 'n
', 0, 0, A, X, 1, INFO )
270 CALL CHKXER( 'stptrs', INFOT, NOUT, LERR, OK )
272 CALL STPTRS( 'u
', '/
', 'n
', 0, 0, A, X, 1, INFO )
273 CALL CHKXER( 'stptrs', INFOT, NOUT, LERR, OK )
275 CALL STPTRS( 'u
', 'n
', '/
', 0, 0, A, X, 1, INFO )
276 CALL CHKXER( 'stptrs', INFOT, NOUT, LERR, OK )
278 CALL STPTRS( 'u
', 'n
', 'n
', -1, 0, A, X, 1, INFO )
279 CALL CHKXER( 'stptrs', INFOT, NOUT, LERR, OK )
281 CALL STPTRS( 'u
', 'n
', 'n
', 0, -1, A, X, 1, INFO )
282 CALL CHKXER( 'stptrs', INFOT, NOUT, LERR, OK )
284 CALL STPTRS( 'u
', 'n
', 'n
', 2, 1, A, X, 1, INFO )
285 CALL CHKXER( 'stptrs', INFOT, NOUT, LERR, OK )
291 CALL stprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
293 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
295 CALL stprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
297 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
299 CALL stprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
301 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
303 CALL stprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
305 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
307 CALL stprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
309 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
311 CALL stprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, iw,
313 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
315 CALL stprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, iw,
317 CALL chkxer(
'STPRFS', infot, nout, lerr, ok )
323 CALL stpcon(
'/',
'U',
'N', 0, a, rcond, w, iw, info )
324 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
326 CALL stpcon(
'1',
'/',
'N', 0, a, rcond, w, iw, info )
327 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
329 CALL stpcon(
'1',
'U',
'/', 0, a, rcond, w, iw, info )
330 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
332 CALL stpcon(
'1',
'U',
'N', -1, a, rcond, w, iw, info )
333 CALL chkxer(
'STPCON', infot, nout, lerr, ok )
339 CALL slatps(
'/',
'N',
'N',
'N', 0, a, x, scale, w, info )
340 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
342 CALL slatps(
'U',
'/',
'N',
'N', 0, a, x, scale, w, info )
343 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
345 CALL slatps(
'U',
'N',
'/',
'N', 0, a, x, scale, w, info )
346 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
348 CALL slatps(
'U',
'N',
'N',
'/', 0, a, x, scale, w, info )
349 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
351 CALL slatps(
'U',
'N',
'N',
'N', -1, a, x, scale, w, info )
352 CALL chkxer(
'SLATPS', infot, nout, lerr, ok )
354 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
362 CALL STBTRS( '/
', 'n
', 'n
', 0, 0, 0, A, 1, X, 1, INFO )
363 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
365 CALL STBTRS( 'u
', '/
', 'n
', 0, 0, 0, A, 1, X, 1, INFO )
366 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
368 CALL STBTRS( 'u
', 'n
', '/
', 0, 0, 0, A, 1, X, 1, INFO )
369 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
371 CALL STBTRS( 'u
', 'n
', 'n
', -1, 0, 0, A, 1, X, 1, INFO )
372 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
374 CALL STBTRS( 'u
', 'n
', 'n
', 0, -1, 0, A, 1, X, 1, INFO )
375 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
377 CALL STBTRS( 'u
', 'n
', 'n
', 0, 0, -1, A, 1, X, 1, INFO )
378 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
380 CALL STBTRS( 'u
', 'n
', 'n
', 2, 1, 1, A, 1, X, 2, INFO )
381 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
383 CALL STBTRS( 'u
', 'n
', 'n
', 2, 0, 1, A, 1, X, 1, INFO )
384 CALL CHKXER( 'stbtrs', INFOT, NOUT, LERR, OK )
390 CALL STBRFS( '/
', 'n
', 'n
', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
392 CALL CHKXER( 'stbrfs', INFOT, NOUT, LERR, OK )
394 CALL STBRFS( 'u
', '/
', 'n
', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
396 CALL CHKXER( 'stbrfs', INFOT, NOUT, LERR, OK )
398 CALL STBRFS( 'u
', 'n
', '/
', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
400 CALL CHKXER( 'stbrfs', INFOT, NOUT, LERR, OK )
402 CALL STBRFS( 'u
', 'n
', 'n
', -1, 0, 0, A, 1, B, 1, X, 1, R1, R2,
404 CALL CHKXER( 'stbrfs', INFOT, NOUT, LERR, OK )
406 CALL STBRFS( 'u
', 'n
', 'n
', 0, -1, 0, A, 1, B, 1, X, 1, R1, R2,
408 CALL CHKXER( 'stbrfs', INFOT, NOUT, LERR, OK )
410 CALL STBRFS( 'u
', 'n
', 'n
', 0, 0, -1, A, 1, B, 1, X, 1, R1, R2,
412 CALL CHKXER( 'stbrfs', INFOT, NOUT, LERR, OK )
414 CALL STBRFS( 'u
', 'n',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
416 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
418 CALL stbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
420 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
422 CALL stbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
424 CALL chkxer(
'STBRFS', infot, nout, lerr, ok )
430 CALL stbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, iw, info )
431 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
433 CALL stbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, iw, info )
434 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
436 CALL stbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, iw, info )
437 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
439 CALL stbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, iw, info )
440 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
442 CALL stbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, iw, info )
445 CALL STBCON( '1
', 'u
', 'n
', 2, 1, A, 1, RCOND, W, IW, INFO )
446 CALL CHKXER( 'stbcon', INFOT, NOUT, LERR, OK )
452 CALL SLATBS( '/
', 'n
', 'n
', 'n
', 0, 0, A, 1, X, SCALE, W,
454 CALL CHKXER( 'slatbs', INFOT, NOUT, LERR, OK )
456 CALL SLATBS( 'u
', '/',
'N',
'N', 0, 0, a, 1, x, scale, w,
458 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
460 CALL slatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, w,
462 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
464 CALL slatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, w,
466 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
468 CALL slatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, w,
470 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
472 CALL slatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, w,
476 CALL SLATBS( 'u
', 'n
', 'n
', 'n
', 2, 1, A, 1, X, SCALE, W,
478 CALL CHKXER( 'slatbs', INFOT, NOUT, LERR, OK )
483 CALL ALAESM( PATH, OK, NOUT )