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
', 0, 0, A, 1, X, 1, INFO )
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 )
443 CALL chkxer(
'STBCON', infot, nout, lerr, ok )
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,
474 CALL chkxer(
'SLATBS', infot, nout, lerr, ok )
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 )