82 REAL r( nmax ), r1( nmax ), r2( nmax )
83 COMPLEX a( nmax, nmax ), af( nmax, nmax ),
b( nmax ),
84 $ w( 2*nmax ), x( nmax )
102 COMMON / infoc / infot, nout, ok, lerr
103 COMMON / srnamc / srnamt
106 INTRINSIC cmplx, real
111 WRITE( nout, fmt = * )
118 a( i,
j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
119 af( i,
j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
135 IF(
lsamen( 2, c2,
'HE' ) )
THEN
141 CALL
chetrf(
'/', 0, a, 1, ip, w, 1, info )
142 CALL
chkxer(
'CHETRF', infot, nout, lerr, ok )
144 CALL
chetrf(
'U', -1, a, 1, ip, w, 1, info )
145 CALL
chkxer(
'CHETRF', infot, nout, lerr, ok )
147 CALL
chetrf(
'U', 2, a, 1, ip, w, 4, info )
148 CALL
chkxer(
'CHETRF', infot, nout, lerr, ok )
154 CALL
chetf2(
'/', 0, a, 1, ip, info )
155 CALL
chkxer(
'CHETF2', infot, nout, lerr, ok )
157 CALL
chetf2(
'U', -1, a, 1, ip, info )
158 CALL
chkxer(
'CHETF2', infot, nout, lerr, ok )
160 CALL
chetf2(
'U', 2, a, 1, ip, info )
161 CALL
chkxer(
'CHETF2', infot, nout, lerr, ok )
167 CALL
chetri(
'/', 0, a, 1, ip, w, info )
168 CALL
chkxer(
'CHETRI', infot, nout, lerr, ok )
170 CALL
chetri(
'U', -1, a, 1, ip, w, info )
171 CALL
chkxer(
'CHETRI', infot, nout, lerr, ok )
173 CALL
chetri(
'U', 2, a, 1, ip, w, info )
174 CALL
chkxer(
'CHETRI', infot, nout, lerr, ok )
180 CALL
chetri2(
'/', 0, a, 1, ip, w, 1, info )
181 CALL
chkxer(
'CHETRI2', infot, nout, lerr, ok )
183 CALL
chetri2(
'U', -1, a, 1, ip, w, 1, info )
184 CALL
chkxer(
'CHETRI2', infot, nout, lerr, ok )
186 CALL
chetri2(
'U', 2, a, 1, ip, w, 1, info )
187 CALL
chkxer(
'CHETRI2', infot, nout, lerr, ok )
193 CALL
chetrs(
'/', 0, 0, a, 1, ip,
b, 1, info )
194 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
196 CALL
chetrs(
'U', -1, 0, a, 1, ip,
b, 1, info )
197 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
199 CALL
chetrs(
'U', 0, -1, a, 1, ip,
b, 1, info )
200 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
202 CALL
chetrs(
'U', 2, 1, a, 1, ip,
b, 2, info )
203 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
205 CALL
chetrs(
'U', 2, 1, a, 2, ip,
b, 1, info )
206 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
212 CALL
cherfs(
'/', 0, 0, a, 1, af, 1, ip,
b, 1, x, 1, r1, r2, w,
214 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
216 CALL
cherfs(
'U', -1, 0, a, 1, af, 1, ip,
b, 1, x, 1, r1, r2,
218 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
220 CALL
cherfs(
'U', 0, -1, a, 1, af, 1, ip,
b, 1, x, 1, r1, r2,
222 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
224 CALL
cherfs(
'U', 2, 1, a, 1, af, 2, ip,
b, 2, x, 2, r1, r2, w,
226 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
228 CALL
cherfs(
'U', 2, 1, a, 2, af, 1, ip,
b, 2, x, 2, r1, r2, w,
230 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
232 CALL
cherfs(
'U', 2, 1, a, 2, af, 2, ip,
b, 1, x, 2, r1, r2, w,
234 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
236 CALL
cherfs(
'U', 2, 1, a, 2, af, 2, ip,
b, 2, x, 1, r1, r2, w,
238 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
244 CALL
checon(
'/', 0, a, 1, ip, anrm, rcond, w, info )
245 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
247 CALL
checon(
'U', -1, a, 1, ip, anrm, rcond, w, info )
248 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
250 CALL
checon(
'U', 2, a, 1, ip, anrm, rcond, w, info )
251 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
253 CALL
checon(
'U', 1, a, 1, ip, -anrm, rcond, w, info )
254 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
260 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
264 srnamt =
'CHETRF_ROOK'
267 CALL
chkxer(
'CHETRF_ROOK', infot, nout, lerr, ok )
270 CALL
chkxer(
'CHETRF_ROOK', infot, nout, lerr, ok )
273 CALL
chkxer(
'CHETRF_ROOK', infot, nout, lerr, ok )
277 srnamt =
'CHETF2_ROOK'
280 CALL
chkxer(
'CHETF2_ROOK', infot, nout, lerr, ok )
283 CALL
chkxer(
'CHETF2_ROOK', infot, nout, lerr, ok )
286 CALL
chkxer(
'CHETF2_ROOK', infot, nout, lerr, ok )
290 srnamt =
'CHETRI_ROOK'
293 CALL
chkxer(
'CHETRI_ROOK', infot, nout, lerr, ok )
296 CALL
chkxer(
'CHETRI_ROOK', infot, nout, lerr, ok )
299 CALL
chkxer(
'CHETRI_ROOK', infot, nout, lerr, ok )
303 srnamt =
'CHETRS_ROOK'
306 CALL
chkxer(
'CHETRS_ROOK', infot, nout, lerr, ok )
309 CALL
chkxer(
'CHETRS_ROOK', infot, nout, lerr, ok )
312 CALL
chkxer(
'CHETRS_ROOK', infot, nout, lerr, ok )
315 CALL
chkxer(
'CHETRS_ROOK', infot, nout, lerr, ok )
318 CALL
chkxer(
'CHETRS_ROOK', infot, nout, lerr, ok )
322 srnamt =
'CHECON_ROOK'
324 CALL
checon_rook(
'/', 0, a, 1, ip, anrm, rcond, w, info )
325 CALL
chkxer(
'CHECON_ROOK', infot, nout, lerr, ok )
327 CALL
checon_rook(
'U', -1, a, 1, ip, anrm, rcond, w, info )
328 CALL
chkxer(
'CHECON_ROOK', infot, nout, lerr, ok )
330 CALL
checon_rook(
'U', 2, a, 1, ip, anrm, rcond, w, info )
331 CALL
chkxer(
'CHECON_ROOK', infot, nout, lerr, ok )
333 CALL
checon_rook(
'U', 1, a, 1, ip, -anrm, rcond, w, info )
334 CALL
chkxer(
'CHECON_ROOK', infot, nout, lerr, ok )
340 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
346 CALL
chptrf(
'/', 0, a, ip, info )
347 CALL
chkxer(
'CHPTRF', infot, nout, lerr, ok )
349 CALL
chptrf(
'U', -1, a, ip, info )
350 CALL
chkxer(
'CHPTRF', infot, nout, lerr, ok )
356 CALL
chptri(
'/', 0, a, ip, w, info )
357 CALL
chkxer(
'CHPTRI', infot, nout, lerr, ok )
359 CALL
chptri(
'U', -1, a, ip, w, info )
360 CALL
chkxer(
'CHPTRI', infot, nout, lerr, ok )
366 CALL
chptrs(
'/', 0, 0, a, ip,
b, 1, info )
367 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
369 CALL
chptrs(
'U', -1, 0, a, ip,
b, 1, info )
370 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
372 CALL
chptrs(
'U', 0, -1, a, ip,
b, 1, info )
373 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
375 CALL
chptrs(
'U', 2, 1, a, ip,
b, 1, info )
376 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
382 CALL
chprfs(
'/', 0, 0, a, af, ip,
b, 1, x, 1, r1, r2, w, r,
384 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
386 CALL
chprfs(
'U', -1, 0, a, af, ip,
b, 1, x, 1, r1, r2, w, r,
388 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
390 CALL
chprfs(
'U', 0, -1, a, af, ip,
b, 1, x, 1, r1, r2, w, r,
392 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
394 CALL
chprfs(
'U', 2, 1, a, af, ip,
b, 1, x, 2, r1, r2, w, r,
396 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
398 CALL
chprfs(
'U', 2, 1, a, af, ip,
b, 2, x, 1, r1, r2, w, r,
400 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
406 CALL
chpcon(
'/', 0, a, ip, anrm, rcond, w, info )
407 CALL
chkxer(
'CHPCON', infot, nout, lerr, ok )
409 CALL
chpcon(
'U', -1, a, ip, anrm, rcond, w, info )
410 CALL
chkxer(
'CHPCON', infot, nout, lerr, ok )
412 CALL
chpcon(
'U', 1, a, ip, -anrm, rcond, w, info )
413 CALL
chkxer(
'CHPCON', infot, nout, lerr, ok )
418 CALL
alaesm( path, ok, nout )