74 DOUBLE PRECISION RCOND, SCALE
78 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX ), ( NMAX ),
79 $ R2( NMAX ), W( ), 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 dtrtri(
'/',
'N', 0, a, 1, info )
119 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
121 CALL dtrtri(
'U',
'/', 0, a, 1, info )
122 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
124 CALL dtrtri(
'U',
'N', -1, a, 1, info )
125 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
127 CALL dtrtri(
'U',
'N', 2, a, 1, info )
128 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
134 CALL dtrti2(
'/',
'N', 0, a, 1, info )
135 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
137 CALL dtrti2(
'U',
'/', 0, a, 1, info )
138 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
140 CALL dtrti2(
'U',
'N', -1, a, 1, info )
141 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
143 CALL dtrti2(
'U',
'N', 2, a, 1, info )
144 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
150 CALL dtrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
151 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
153 CALL dtrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
154 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
156 CALL dtrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
157 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
159 CALL dtrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
160 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
162 CALL dtrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
163 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
165 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 1, x, 2, info )
166 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
168 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 2, x, 1, info )
169 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
175 CALL dtrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
177 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
179 CALL dtrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
181 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
183 CALL dtrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
185 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
187 CALL dtrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
189 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
191 CALL dtrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
193 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
195 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
197 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
199 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
201 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
203 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
205 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
211 CALL dtrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, iw, info )
212 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
214 CALL dtrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, iw, info )
215 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
217 CALL dtrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, iw, info )
218 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
220 CALL dtrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, iw, info )
221 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
223 CALL dtrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, iw, info )
224 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
230 CALL dlatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, w, info )
231 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
233 CALL dlatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, w, info )
234 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
236 CALL dlatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, w, info )
237 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
239 CALL dlatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, w, info )
240 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
242 CALL dlatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, w, info )
243 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
245 CALL dlatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, w, info )
246 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
248 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
256 CALL dtptri(
'/',
'N', 0, a, info )
257 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
259 CALL dtptri(
'U',
'/', 0, a, info )
260 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
262 CALL dtptri( 'u
', 'n
', -1, A, INFO )
263 CALL CHKXER( 'dtptri', INFOT, NOUT, LERR, OK )
269 CALL DTPTRS( '/
', 'n
', 'n
', 0, 0, A, X, 1, INFO )
270 CALL CHKXER( 'dtptrs', INFOT, NOUT, LERR, OK )
272 CALL DTPTRS( 'u
', '/
', 'n
', 0, 0, A, X, 1, INFO )
273 CALL CHKXER( 'dtptrs', INFOT, NOUT, LERR, OK )
275 CALL DTPTRS( 'u
', 'n
', '/
', 0, 0, A, X, 1, INFO )
276 CALL CHKXER( 'dtptrs', INFOT, NOUT, LERR, OK )
278 CALL DTPTRS( 'u
', 'n
', 'n
', -1, 0, A, X, 1, INFO )
279 CALL CHKXER( 'dtptrs', INFOT, NOUT, LERR, OK )
281 CALL DTPTRS( 'u
', 'n
', 'n
', 0, -1, A, X, 1, INFO )
282 CALL CHKXER( 'dtptrs', INFOT, NOUT, LERR, OK )
284 CALL DTPTRS( 'u
', 'n
', 'n
', 2, 1, A, X, 1, INFO )
285 CALL CHKXER( 'dtptrs', INFOT, NOUT, LERR, OK )
291 CALL DTPRFS( '/
', 'n
', 'n
', 0, 0, A, B, 1, X, 1, R1, R2, W, IW,
293 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
295 CALL DTPRFS( 'u
', '/
', 'n
', 0, 0, A, B, 1, X, 1, R1, R2, W, IW,
297 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
299 CALL DTPRFS( 'u
', 'n
', '/
', 0, 0, A, B, 1, X, 1, R1, R2, W, IW,
301 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
303 CALL DTPRFS( 'u
', 'n
', 'n
', -1, 0, A, B, 1, X, 1, R1, R2, W,
305 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
307 CALL DTPRFS( 'u
', 'n
', 'n
', 0, -1, A, B, 1, X, 1, R1, R2, W,
309 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
311 CALL DTPRFS( 'u
', 'n
', 'n
', 2, 1, A, B, 1, X, 2, R1, R2, W, IW,
313 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
315 CALL DTPRFS( 'u
', 'n
', 'n
', 2, 1, A, B, 2, X, 1, R1, R2, W, IW,
317 CALL CHKXER( 'dtprfs', INFOT, NOUT, LERR, OK )
323 CALL DTPCON( '/
', 'u
', 'n
', 0, A, RCOND, W, IW, INFO )
324 CALL CHKXER( 'dtpcon', INFOT, NOUT, LERR, OK )
326 CALL DTPCON( '1
', '/
', 'n
', 0, A, RCOND, W, IW, INFO )
327 CALL CHKXER( 'dtpcon', INFOT, NOUT, LERR, OK )
329 CALL DTPCON( '1
', 'u',
'/', 0, a, rcond, w, iw, info )
330 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
332 CALL dtpcon(
'1',
'U',
'N', -1, a, rcond, w, iw, info )
333 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
339 CALL dlatps(
'/',
'N',
'N',
'N', 0, a, x, scale, w, info )
340 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
342 CALL dlatps(
'U',
'/',
'N',
'N', 0, a, x, scale, w, info )
343 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
345 CALL dlatps(
'U', 'n
', '/',
'N', 0, a, x, scale, w, info )
346 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
348 CALL dlatps(
'U',
'N',
'N',
'/', 0, a, x, scale, w, info )
349 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
351 CALL dlatps(
'U',
'N',
'N',
'N', -1, a, x, scale, w, info )
352 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
354 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
362 CALL dtbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
363 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
365 CALL dtbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
366 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
368 CALL dtbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
369 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
371 CALL dtbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
372 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
374 CALL dtbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
375 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
377 CALL dtbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
378 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
380 CALL dtbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
381 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
383 CALL dtbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
384 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
390 CALL dtbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
392 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
394 CALL dtbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
396 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
398 CALL dtbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
400 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
402 CALL dtbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
404 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
406 CALL dtbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
408 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
410 CALL dtbrfs( 'u
', 'n
', 'n
', 0, 0, -1, A, 1, B, 1, X, 1, R1, R2,
412 CALL CHKXER( 'dtbrfs', INFOT, NOUT, LERR, OK )
414 CALL DTBRFS( 'u
', 'n
', 'n
', 2, 1, 1, A, 1, B, 2, X, 2, R1, R2,
416 CALL CHKXER( 'dtbrfs', INFOT, NOUT, LERR, OK )
418 CALL DTBRFS( 'u
', 'n
', 'n
', 2, 1, 1, A, 2, B, 1, X, 2, R1, R2,
420 CALL CHKXER( 'dtbrfs', INFOT, NOUT, LERR, OK )
422 CALL DTBRFS( 'u
', 'n
', 'n
', 2, 1, 1, A, 2, B, 2, X, 1, R1, R2,
424 CALL CHKXER( 'dtbrfs', INFOT, NOUT, LERR, OK )
430 CALL DTBCON( '/',
'U',
'N', 0, 0, a, 1, rcond, w, iw, info )
431 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
433 CALL dtbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, iw, info )
434 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
436 CALL dtbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, iw, info )
437 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
439 CALL dtbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, iw, info )
440 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
442 CALL dtbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, iw, info )
443 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
445 CALL dtbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, iw, info )
446 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
452 CALL dlatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, w,
454 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
456 CALL dlatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, w,
458 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
460 CALL dlatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, w,
462 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
464 CALL dlatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, w,
466 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
468 CALL dlatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, w,
470 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
472 CALL dlatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, w,
474 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
476 CALL dlatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, w,
478 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
483 CALL alaesm( path, ok, nout )