59 SUBROUTINE cerrhe( PATH, NUNIT )
81 INTEGER i, info, j, n_err_bnds, nparams
82 REAL anrm, rcond, berr
86 REAL r( nmax ), r1( nmax ), r2( nmax ),
87 $ s( nmax ), err_bnds_n( nmax, 3 ),
88 $ err_bnds_c( nmax, 3 ), params( 1 )
89 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
90 $ w( 2*nmax ), x( nmax )
107 common / infoc / infot, nout, ok, lerr
108 common / srnamc / srnamt
111 INTRINSIC cmplx, real
116 WRITE( nout, fmt = * )
123 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
124 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
140 IF(
lsamen( 2, c2,
'HE' ) )
THEN
146 CALL
chetrf(
'/', 0, a, 1, ip, w, 1, info )
147 CALL
chkxer(
'CHETRF', infot, nout, lerr, ok )
149 CALL
chetrf(
'U', -1, a, 1, ip, w, 1, info )
150 CALL
chkxer(
'CHETRF', infot, nout, lerr, ok )
152 CALL
chetrf(
'U', 2, a, 1, ip, w, 4, info )
153 CALL
chkxer(
'CHETRF', infot, nout, lerr, ok )
159 CALL
chetf2(
'/', 0, a, 1, ip, info )
160 CALL
chkxer(
'CHETF2', infot, nout, lerr, ok )
162 CALL
chetf2(
'U', -1, a, 1, ip, info )
163 CALL
chkxer(
'CHETF2', infot, nout, lerr, ok )
165 CALL
chetf2(
'U', 2, a, 1, ip, info )
166 CALL
chkxer(
'CHETF2', infot, nout, lerr, ok )
172 CALL
chetri(
'/', 0, a, 1, ip, w, info )
173 CALL
chkxer(
'CHETRI', infot, nout, lerr, ok )
175 CALL
chetri(
'U', -1, a, 1, ip, w, info )
176 CALL
chkxer(
'CHETRI', infot, nout, lerr, ok )
178 CALL
chetri(
'U', 2, a, 1, ip, w, info )
179 CALL
chkxer(
'CHETRI', infot, nout, lerr, ok )
185 CALL
chetri2(
'/', 0, a, 1, ip, w, 1, info )
186 CALL
chkxer(
'CHETRI2', infot, nout, lerr, ok )
188 CALL
chetri2(
'U', -1, a, 1, ip, w, 1, info )
189 CALL
chkxer(
'CHETRI2', infot, nout, lerr, ok )
191 CALL
chetri2(
'U', 2, a, 1, ip, w, 1, info )
192 CALL
chkxer(
'CHETRI2', infot, nout, lerr, ok )
198 CALL
chetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
199 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
201 CALL
chetrs(
'U', -1, 0, a, 1, ip, b, 1, info )
202 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
204 CALL
chetrs(
'U', 0, -1, a, 1, ip, b, 1, info )
205 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
207 CALL
chetrs(
'U', 2, 1, a, 1, ip, b, 2, info )
208 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
210 CALL
chetrs(
'U', 2, 1, a, 2, ip, b, 1, info )
211 CALL
chkxer(
'CHETRS', infot, nout, lerr, ok )
217 CALL
cherfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
219 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
221 CALL
cherfs(
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
223 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
225 CALL
cherfs(
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
227 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
229 CALL
cherfs(
'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
231 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
233 CALL
cherfs(
'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
235 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
237 CALL
cherfs(
'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
239 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
241 CALL
cherfs(
'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
243 CALL
chkxer(
'CHERFS', infot, nout, lerr, ok )
249 CALL
checon(
'/', 0, a, 1, ip, anrm, rcond, w, info )
250 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
252 CALL
checon(
'U', -1, a, 1, ip, anrm, rcond, w, info )
253 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
255 CALL
checon(
'U', 2, a, 1, ip, anrm, rcond, w, info )
256 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
258 CALL
checon(
'U', 1, a, 1, ip, -anrm, rcond, w, info )
259 CALL
chkxer(
'CHECON', infot, nout, lerr, ok )
267 CALL
cherfsx(
'/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
268 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
269 $ params, w, r, info )
270 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
272 CALL
cherfsx(
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
273 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
274 $ params, w, r, info )
275 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
278 CALL
cherfsx(
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
279 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
280 $ params, w, r, info )
281 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
283 CALL
cherfsx(
'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
284 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
285 $ params, w, r, info )
286 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
288 CALL
cherfsx(
'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
289 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
290 $ params, w, r, info )
291 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
293 CALL
cherfsx(
'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
294 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
295 $ params, w, r, info )
296 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
298 CALL
cherfsx(
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
299 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
300 $ params, w, r, info )
301 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
303 CALL
cherfsx(
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
304 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
305 $ params, w, r, info )
306 CALL
chkxer(
'CHERFSX', infot, nout, lerr, ok )
311 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
317 CALL
chptrf(
'/', 0, a, ip, info )
318 CALL
chkxer(
'CHPTRF', infot, nout, lerr, ok )
320 CALL
chptrf(
'U', -1, a, ip, info )
321 CALL
chkxer(
'CHPTRF', infot, nout, lerr, ok )
327 CALL
chptri(
'/', 0, a, ip, w, info )
328 CALL
chkxer(
'CHPTRI', infot, nout, lerr, ok )
330 CALL
chptri(
'U', -1, a, ip, w, info )
331 CALL
chkxer(
'CHPTRI', infot, nout, lerr, ok )
337 CALL
chptrs(
'/', 0, 0, a, ip, b, 1, info )
338 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
340 CALL
chptrs(
'U', -1, 0, a, ip, b, 1, info )
341 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
343 CALL
chptrs(
'U', 0, -1, a, ip, b, 1, info )
344 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
346 CALL
chptrs(
'U', 2, 1, a, ip, b, 1, info )
347 CALL
chkxer(
'CHPTRS', infot, nout, lerr, ok )
353 CALL
chprfs(
'/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
355 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
357 CALL
chprfs(
'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
359 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
361 CALL
chprfs(
'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
363 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
365 CALL
chprfs(
'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
367 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
369 CALL
chprfs(
'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
371 CALL
chkxer(
'CHPRFS', infot, nout, lerr, ok )
377 CALL
chpcon(
'/', 0, a, ip, anrm, rcond, w, info )
378 CALL
chkxer(
'CHPCON', infot, nout, lerr, ok )
380 CALL
chpcon(
'U', -1, a, ip, anrm, rcond, w, info )
381 CALL
chkxer(
'CHPCON', infot, nout, lerr, ok )
383 CALL
chpcon(
'U', 1, a, ip, -anrm, rcond, w, info )
384 CALL
chkxer(
'CHPCON', infot, nout, lerr, ok )
389 CALL
alaesm( path, ok, nout )