69 parameter( nmax = 4, lw = 3*nmax )
74 REAL ANRM, CCOND, RCOND
77 INTEGER IP( NMAX ), IW( NMAX )
78 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
79 $ R1( NMAX ), R2( NMAX ), W( LW ), X( NMAX )
96 COMMON / infoc / infot, nout, ok, lerr
97 COMMON / srnamc / srnamt
105 WRITE( nout, fmt = * )
112 a( i, j ) = 1. / real( i+j )
113 af( i, j ) = 1. / real( i+j )
125 IF( lsamen( 2, c2,
'GE' ) )
THEN
134 CALL sgetrf( -1, 0, a, 1, ip, info )
135 CALL chkxer(
'SGETRF', infot, nout, lerr, ok )
137 CALL sgetrf( 0, -1, a, 1, ip, info )
138 CALL chkxer(
'SGETRF', infot, nout, lerr, ok )
140 CALL sgetrf( 2, 1, a, 1, ip, info )
141 CALL chkxer(
'SGETRF', infot, nout, lerr, ok )
147 CALL sgetf2( -1, 0, a, 1, ip, info )
148 CALL chkxer(
'SGETF2', infot, nout, lerr, ok )
150 CALL sgetf2( 0, -1, a, 1, ip, info )
151 CALL chkxer(
'SGETF2', infot, nout, lerr, ok )
153 CALL sgetf2( 2, 1, a, 1, ip, info )
154 CALL chkxer(
'SGETF2', infot, nout, lerr, ok )
160 CALL sgetri( -1, a, 1, ip, w, lw, info )
161 CALL chkxer(
'SGETRI', infot, nout, lerr, ok )
163 CALL sgetri( 2, a, 1, ip, w, lw, info )
164 CALL chkxer(
'SGETRI', infot, nout, lerr, ok )
170 CALL sgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
171 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
173 CALL sgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
174 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
176 CALL sgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
177 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
179 CALL sgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
180 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
182 CALL sgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
183 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
189 CALL sgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
191 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
193 CALL sgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
195 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
197 CALL sgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
199 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
201 CALL sgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
203 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
205 CALL sgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
207 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
209 CALL sgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
211 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
213 CALL sgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
215 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
221 CALL sgecon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
222 CALL chkxer(
'SGECON', infot, nout, lerr, ok )
224 CALL sgecon(
'1', -1, a, 1, anrm, rcond, w, iw, info )
225 CALL chkxer(
'SGECON', infot, nout, lerr, ok )
227 CALL sgecon(
'1', 2, a, 1, anrm, rcond, w, iw, info )
228 CALL chkxer(
'SGECON', infot, nout, lerr, ok )
234 CALL sgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
235 CALL chkxer(
'SGEEQU', infot, nout, lerr, ok )
237 CALL sgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
238 CALL chkxer(
'SGEEQU', infot, nout, lerr, ok )
240 CALL sgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
241 CALL chkxer(
'SGEEQU', infot, nout, lerr, ok )
243 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
252 CALL sgbtrf( -1, 0, 0, 0, a, 1, ip, info )
253 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
255 CALL sgbtrf( 0, -1, 0, 0, a, 1, ip, info )
256 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
258 CALL sgbtrf( 1, 1, -1, 0, a, 1, ip, info )
259 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
261 CALL sgbtrf( 1, 1, 0, -1, a, 1, ip, info )
262 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
264 CALL sgbtrf( 2, 2, 1, 1, a, 3, ip, info )
265 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
271 CALL sgbtf2( -1, 0, 0, 0, a, 1, ip, info )
272 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
274 CALL sgbtf2( 0, -1, 0, 0, a, 1, ip, info )
275 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
277 CALL sgbtf2( 1, 1, -1, 0, a, 1, ip, info )
278 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
280 CALL sgbtf2( 1, 1, 0, -1, a, 1, ip, info )
281 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
283 CALL sgbtf2( 2, 2, 1, 1, a, 3, ip, info )
284 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
290 CALL sgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
291 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
293 CALL sgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
294 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
296 CALL sgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
297 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
299 CALL sgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
300 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
302 CALL sgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
303 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
305 CALL sgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
306 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
308 CALL sgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
309 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
315 CALL sgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
317 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
319 CALL sgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
321 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
323 CALL sgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
325 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
327 CALL sgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
329 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
331 CALL sgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
333 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
335 CALL sgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
337 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
339 CALL sgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
341 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
343 CALL sgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
345 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
347 CALL sgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
349 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
355 CALL sgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, iw, info )
356 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
358 CALL sgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, iw,
360 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
362 CALL sgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, iw,
364 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
366 CALL sgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, iw,
368 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
370 CALL sgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, iw, info )
371 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
377 CALL sgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
379 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
381 CALL sgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
383 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
385 CALL sgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
387 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
389 CALL sgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
391 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
393 CALL sgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
395 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
400 CALL alaesm( path, ok, nout )