74 DOUBLE PRECISION RCOND, SCALE, SCALES(0)
78 DOUBLE PRECISION 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 dtrtri(
'/',
'N', 0, a, 1, info )
120 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
122 CALL dtrtri(
'U',
'/', 0, a, 1, info )
123 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
125 CALL dtrtri(
'U',
'N', -1, a, 1, info )
126 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
128 CALL dtrtri(
'U',
'N', 2, a, 1, info )
129 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
135 CALL dtrti2(
'/',
'N', 0, a, 1, info )
136 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
138 CALL dtrti2(
'U',
'/', 0, a, 1, info )
139 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
141 CALL dtrti2(
'U',
'N', -1, a, 1, info )
142 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
144 CALL dtrti2(
'U',
'N', 2, a, 1, info )
145 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
151 CALL dtrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
152 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
154 CALL dtrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
155 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
157 CALL dtrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
158 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
160 CALL dtrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
161 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
163 CALL dtrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
164 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
166 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 1, x, 2, info )
167 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
169 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 2, x, 1, info )
170 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
176 CALL dtrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
178 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
180 CALL dtrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
182 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
184 CALL dtrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
186 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
188 CALL dtrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
190 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
192 CALL dtrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
194 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
196 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
198 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
200 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
202 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
204 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
206 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
212 CALL dtrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, iw, info )
213 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
215 CALL dtrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, iw, info )
216 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
218 CALL dtrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, iw, info )
219 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
221 CALL dtrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, iw, info )
222 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
224 CALL dtrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, iw, info )
225 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
231 CALL dlatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, w, info )
232 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
234 CALL dlatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, w, info )
235 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
237 CALL dlatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, w, info )
238 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
240 CALL dlatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, w, info )
241 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
243 CALL dlatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, w, info )
244 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
246 CALL dlatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, w, info )
247 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
253 CALL dlatrs3(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, 1, scales,
254 $ w, w( 2 ), 1, info )
255 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
257 CALL dlatrs3(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, 1, scales,
258 $ w, w( 2 ), 1, info )
259 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
261 CALL dlatrs3(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, 1, scales,
262 $ w, w( 2 ), 1, info )
263 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
265 CALL dlatrs3(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, 1, scales,
266 $ w, w( 2 ), 1, info )
267 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
269 CALL dlatrs3(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, 1, scales,
270 $ w, w( 2 ), 1, info )
271 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
273 CALL dlatrs3(
'U',
'N',
'N',
'N', 0, -1, a, 1, x, 1, scales,
274 $ w, w( 2 ), 1, info )
275 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
277 CALL dlatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 1, x, 1, scales,
278 $ w, w( 2 ), 1, info )
279 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
281 CALL dlatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 2, x, 1, scales,
282 $ w, w( 2 ), 1, info )
283 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
285 CALL dlatrs3(
'U',
'N',
'N',
'N', 1, 0, a, 1, x, 1, scales,
286 $ w, w( 2 ), 0, info )
287 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
289 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
297 CALL dtptri(
'/',
'N', 0, a, info )
298 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
300 CALL dtptri(
'U',
'/', 0, a, info )
301 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
303 CALL dtptri(
'U',
'N', -1, a, info )
304 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
310 CALL dtptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
311 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
313 CALL dtptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
314 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
316 CALL dtptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
317 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
319 CALL dtptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
320 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
322 CALL dtptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
323 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
325 CALL dtptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
326 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
332 CALL dtprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
334 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
336 CALL dtprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
338 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
340 CALL dtprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
342 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
344 CALL dtprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
346 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
348 CALL dtprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
350 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
352 CALL dtprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, iw,
354 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
356 CALL dtprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, iw,
358 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
364 CALL dtpcon(
'/',
'U',
'N', 0, a, rcond, w, iw, info )
365 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
367 CALL dtpcon(
'1',
'/',
'N', 0, a, rcond, w, iw, info )
368 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
370 CALL dtpcon(
'1',
'U',
'/', 0, a, rcond, w, iw, info )
371 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
373 CALL dtpcon(
'1',
'U',
'N', -1, a, rcond, w, iw, info )
374 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
380 CALL dlatps(
'/',
'N',
'N',
'N', 0, a, x, scale, w, info )
381 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
383 CALL dlatps(
'U',
'/',
'N',
'N', 0, a, x, scale, w, info )
384 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
386 CALL dlatps(
'U',
'N',
'/',
'N', 0, a, x, scale, w, info )
387 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
389 CALL dlatps(
'U',
'N',
'N',
'/', 0, a, x, scale, w, info )
390 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
392 CALL dlatps(
'U',
'N',
'N',
'N', -1, a, x, scale, w, info )
393 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
395 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
403 CALL dtbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
404 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
406 CALL dtbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
407 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
409 CALL dtbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
410 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
412 CALL dtbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
413 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
415 CALL dtbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
416 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
418 CALL dtbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
419 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
421 CALL dtbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
422 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
424 CALL dtbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
425 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
431 CALL dtbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
433 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
435 CALL dtbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
437 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
439 CALL dtbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
441 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
443 CALL dtbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
445 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
447 CALL dtbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
449 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
451 CALL dtbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
453 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
455 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
457 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
459 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
461 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
463 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
465 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
471 CALL dtbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, iw, info )
472 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
474 CALL dtbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, iw, info )
475 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
477 CALL dtbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, iw, info )
478 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
480 CALL dtbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, iw, info )
481 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
483 CALL dtbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, iw, info )
484 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
486 CALL dtbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, iw, info )
487 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
493 CALL dlatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, w,
495 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
497 CALL dlatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, w,
499 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
501 CALL dlatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, w,
503 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
505 CALL dlatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, w,
507 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
509 CALL dlatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, w,
511 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
513 CALL dlatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, w,
515 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
517 CALL dlatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, w,
519 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
524 CALL alaesm( path, ok, nout )