72 parameter( nmax = 4, lw = 3*nmax )
77 DOUBLE PRECISION anrm, ccond, rcond
80 INTEGER ip( nmax ), iw( nmax )
81 DOUBLE PRECISION a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
82 $ r1( nmax ), r2( nmax ), w( lw ), x( nmax )
99 common / infoc / infot, nout, ok, lerr
100 common / srnamc / srnamt
108 WRITE( nout, fmt = * )
115 a( i, j ) = 1.d0 / dble( i+j )
116 af( i, j ) = 1.d0 / dble( i+j )
128 IF(
lsamen( 2, c2,
'GE' ) )
THEN
137 CALL
dgetrf( -1, 0, a, 1, ip, info )
138 CALL
chkxer(
'DGETRF', infot, nout, lerr, ok )
140 CALL
dgetrf( 0, -1, a, 1, ip, info )
141 CALL
chkxer(
'DGETRF', infot, nout, lerr, ok )
143 CALL
dgetrf( 2, 1, a, 1, ip, info )
144 CALL
chkxer(
'DGETRF', infot, nout, lerr, ok )
150 CALL
dgetf2( -1, 0, a, 1, ip, info )
151 CALL
chkxer(
'DGETF2', infot, nout, lerr, ok )
153 CALL
dgetf2( 0, -1, a, 1, ip, info )
154 CALL
chkxer(
'DGETF2', infot, nout, lerr, ok )
156 CALL
dgetf2( 2, 1, a, 1, ip, info )
157 CALL
chkxer(
'DGETF2', infot, nout, lerr, ok )
163 CALL
dgetri( -1, a, 1, ip, w, lw, info )
164 CALL
chkxer(
'DGETRI', infot, nout, lerr, ok )
166 CALL
dgetri( 2, a, 1, ip, w, lw, info )
167 CALL
chkxer(
'DGETRI', infot, nout, lerr, ok )
173 CALL
dgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
174 CALL
chkxer(
'DGETRS', infot, nout, lerr, ok )
176 CALL
dgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
177 CALL
chkxer(
'DGETRS', infot, nout, lerr, ok )
179 CALL
dgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
180 CALL
chkxer(
'DGETRS', infot, nout, lerr, ok )
182 CALL
dgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
183 CALL
chkxer(
'DGETRS', infot, nout, lerr, ok )
185 CALL
dgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
186 CALL
chkxer(
'DGETRS', infot, nout, lerr, ok )
192 CALL
dgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
194 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
196 CALL
dgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
198 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
200 CALL
dgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
202 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
204 CALL
dgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
206 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
208 CALL
dgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
210 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
212 CALL
dgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
214 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
216 CALL
dgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
218 CALL
chkxer(
'DGERFS', infot, nout, lerr, ok )
224 CALL
dgecon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
225 CALL
chkxer(
'DGECON', infot, nout, lerr, ok )
227 CALL
dgecon(
'1', -1, a, 1, anrm, rcond, w, iw, info )
228 CALL
chkxer(
'DGECON', infot, nout, lerr, ok )
230 CALL
dgecon(
'1', 2, a, 1, anrm, rcond, w, iw, info )
231 CALL
chkxer(
'DGECON', infot, nout, lerr, ok )
237 CALL
dgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
238 CALL
chkxer(
'DGEEQU', infot, nout, lerr, ok )
240 CALL
dgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
241 CALL
chkxer(
'DGEEQU', infot, nout, lerr, ok )
243 CALL
dgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
244 CALL
chkxer(
'DGEEQU', infot, nout, lerr, ok )
246 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
255 CALL
dgbtrf( -1, 0, 0, 0, a, 1, ip, info )
256 CALL
chkxer(
'DGBTRF', infot, nout, lerr, ok )
258 CALL
dgbtrf( 0, -1, 0, 0, a, 1, ip, info )
259 CALL
chkxer(
'DGBTRF', infot, nout, lerr, ok )
261 CALL
dgbtrf( 1, 1, -1, 0, a, 1, ip, info )
262 CALL
chkxer(
'DGBTRF', infot, nout, lerr, ok )
264 CALL
dgbtrf( 1, 1, 0, -1, a, 1, ip, info )
265 CALL
chkxer(
'DGBTRF', infot, nout, lerr, ok )
267 CALL
dgbtrf( 2, 2, 1, 1, a, 3, ip, info )
268 CALL
chkxer(
'DGBTRF', infot, nout, lerr, ok )
274 CALL
dgbtf2( -1, 0, 0, 0, a, 1, ip, info )
275 CALL
chkxer(
'DGBTF2', infot, nout, lerr, ok )
277 CALL
dgbtf2( 0, -1, 0, 0, a, 1, ip, info )
278 CALL
chkxer(
'DGBTF2', infot, nout, lerr, ok )
280 CALL
dgbtf2( 1, 1, -1, 0, a, 1, ip, info )
281 CALL
chkxer(
'DGBTF2', infot, nout, lerr, ok )
283 CALL
dgbtf2( 1, 1, 0, -1, a, 1, ip, info )
284 CALL
chkxer(
'DGBTF2', infot, nout, lerr, ok )
286 CALL
dgbtf2( 2, 2, 1, 1, a, 3, ip, info )
287 CALL
chkxer(
'DGBTF2', infot, nout, lerr, ok )
293 CALL
dgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
294 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
296 CALL
dgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
297 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
299 CALL
dgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
300 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
302 CALL
dgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
303 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
305 CALL
dgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
306 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
308 CALL
dgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
309 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
311 CALL
dgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
312 CALL
chkxer(
'DGBTRS', infot, nout, lerr, ok )
318 CALL
dgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
320 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
322 CALL
dgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
324 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
326 CALL
dgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
328 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
330 CALL
dgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
332 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
334 CALL
dgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
336 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
338 CALL
dgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
340 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
342 CALL
dgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
344 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
346 CALL
dgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
348 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
350 CALL
dgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
352 CALL
chkxer(
'DGBRFS', infot, nout, lerr, ok )
358 CALL
dgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, iw, info )
359 CALL
chkxer(
'DGBCON', infot, nout, lerr, ok )
361 CALL
dgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, iw,
363 CALL
chkxer(
'DGBCON', infot, nout, lerr, ok )
365 CALL
dgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, iw,
367 CALL
chkxer(
'DGBCON', infot, nout, lerr, ok )
369 CALL
dgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, iw,
371 CALL
chkxer(
'DGBCON', infot, nout, lerr, ok )
373 CALL
dgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, iw, info )
374 CALL
chkxer(
'DGBCON', infot, nout, lerr, ok )
380 CALL
dgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
382 CALL
chkxer(
'DGBEQU', infot, nout, lerr, ok )
384 CALL
dgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
386 CALL
chkxer(
'DGBEQU', infot, nout, lerr, ok )
388 CALL
dgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
390 CALL
chkxer(
'DGBEQU', infot, nout, lerr, ok )
392 CALL
dgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
394 CALL
chkxer(
'DGBEQU', infot, nout, lerr, ok )
396 CALL
dgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
398 CALL
chkxer(
'DGBEQU', infot, nout, lerr, ok )
403 CALL
alaesm( path, ok, nout )