LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
zerrhex.f
Go to the documentation of this file.
1*> \brief \b ZERRHEX
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8* Definition:
9* ===========
10*
11* SUBROUTINE ZERRHE( PATH, NUNIT )
12*
13* .. Scalar Arguments ..
14* CHARACTER*3 PATH
15* INTEGER NUNIT
16* ..
17*
18*
19*> \par Purpose:
20* =============
21*>
22*> \verbatim
23*>
24*> ZERRHE tests the error exits for the COMPLEX*16 routines
25*> for Hermitian indefinite matrices.
26*>
27*> Note that this file is used only when the XBLAS are available,
28*> otherwise zerrhe.f defines this subroutine.
29*> \endverbatim
30*
31* Arguments:
32* ==========
33*
34*> \param[in] PATH
35*> \verbatim
36*> PATH is CHARACTER*3
37*> The LAPACK path name for the routines to be tested.
38*> \endverbatim
39*>
40*> \param[in] NUNIT
41*> \verbatim
42*> NUNIT is INTEGER
43*> The unit number for output.
44*> \endverbatim
45*
46* Authors:
47* ========
48*
49*> \author Univ. of Tennessee
50*> \author Univ. of California Berkeley
51*> \author Univ. of Colorado Denver
52*> \author NAG Ltd.
53*
54*> \ingroup complex16_lin
55*
56* =====================================================================
57 SUBROUTINE zerrhe( PATH, NUNIT )
58*
59* -- LAPACK test routine --
60* -- LAPACK is a software package provided by Univ. of Tennessee, --
61* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
62*
63* .. Scalar Arguments ..
64 CHARACTER*3 PATH
65 INTEGER NUNIT
66* ..
67*
68* =====================================================================
69*
70*
71* .. Parameters ..
72 INTEGER NMAX
73 parameter( nmax = 4 )
74* ..
75* .. Local Scalars ..
76 CHARACTER EQ
77 CHARACTER*2 C2
78 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
79 DOUBLE PRECISION ANRM, RCOND, BERR
80* ..
81* .. Local Arrays ..
82 INTEGER IP( NMAX )
83 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX ),
84 $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
85 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
86 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
87 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
88* ..
89* .. External Functions ..
90 LOGICAL LSAMEN
91 EXTERNAL lsamen
92* ..
93* .. External Subroutines ..
100* ..
101* .. Scalars in Common ..
102 LOGICAL LERR, OK
103 CHARACTER*32 SRNAMT
104 INTEGER INFOT, NOUT
105* ..
106* .. Common blocks ..
107 COMMON / infoc / infot, nout, ok, lerr
108 COMMON / srnamc / srnamt
109* ..
110* .. Intrinsic Functions ..
111 INTRINSIC dble, dcmplx
112* ..
113* .. Executable Statements ..
114*
115 nout = nunit
116 WRITE( nout, fmt = * )
117 c2 = path( 2: 3 )
118*
119* Set the variables to innocuous values.
120*
121 DO 20 j = 1, nmax
122 DO 10 i = 1, nmax
123 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
124 $ -1.d0 / dble( i+j ) )
125 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
126 $ -1.d0 / dble( i+j ) )
127 10 CONTINUE
128 b( j ) = 0.d0
129 e( j ) = 0.d0
130 r1( j ) = 0.d0
131 r2( j ) = 0.d0
132 w( j ) = 0.d0
133 x( j ) = 0.d0
134 s( j ) = 0.d0
135 ip( j ) = j
136 20 CONTINUE
137 anrm = 1.0d0
138 ok = .true.
139*
140* Test error exits of the routines that use factorization
141* of a Hermitian indefinite matrix with partial
142* (Bunch-Kaufman) diagonal pivoting method.
143*
144 IF( lsamen( 2, c2, 'HE' ) ) THEN
145*
146* ZHETRF
147*
148 srnamt = 'ZHETRF'
149 infot = 1
150 CALL zhetrf( '/', 0, a, 1, ip, w, 1, info )
151 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
152 infot = 2
153 CALL zhetrf( 'U', -1, a, 1, ip, w, 1, info )
154 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
155 infot = 4
156 CALL zhetrf( 'U', 2, a, 1, ip, w, 4, info )
157 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
158 infot = 7
159 CALL zhetrf( 'U', 0, a, 1, ip, w, 0, info )
160 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
161 infot = 7
162 CALL zhetrf( 'U', 0, a, 1, ip, w, -2, info )
163 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
164*
165* ZHETF2
166*
167 srnamt = 'ZHETF2'
168 infot = 1
169 CALL zhetf2( '/', 0, a, 1, ip, info )
170 CALL chkxer( 'ZHETF2', infot, nout, lerr, ok )
171 infot = 2
172 CALL zhetf2( 'U', -1, a, 1, ip, info )
173 CALL chkxer( 'ZHETF2', infot, nout, lerr, ok )
174 infot = 4
175 CALL zhetf2( 'U', 2, a, 1, ip, info )
176 CALL chkxer( 'ZHETF2', infot, nout, lerr, ok )
177*
178* ZHETRI
179*
180 srnamt = 'ZHETRI'
181 infot = 1
182 CALL zhetri( '/', 0, a, 1, ip, w, info )
183 CALL chkxer( 'ZHETRI', infot, nout, lerr, ok )
184 infot = 2
185 CALL zhetri( 'U', -1, a, 1, ip, w, info )
186 CALL chkxer( 'ZHETRI', infot, nout, lerr, ok )
187 infot = 4
188 CALL zhetri( 'U', 2, a, 1, ip, w, info )
189 CALL chkxer( 'ZHETRI', infot, nout, lerr, ok )
190*
191* ZHETRI2
192*
193 srnamt = 'ZHETRI2'
194 infot = 1
195 CALL zhetri2( '/', 0, a, 1, ip, w, 1, info )
196 CALL chkxer( 'ZHETRI2', infot, nout, lerr, ok )
197 infot = 2
198 CALL zhetri2( 'U', -1, a, 1, ip, w, 1, info )
199 CALL chkxer( 'ZHETRI2', infot, nout, lerr, ok )
200 infot = 4
201 CALL zhetri2( 'U', 2, a, 1, ip, w, 1, info )
202 CALL chkxer( 'ZHETRI2', infot, nout, lerr, ok )
203*
204* ZHETRI2X
205*
206 srnamt = 'ZHETRI2X'
207 infot = 1
208 CALL zhetri2x( '/', 0, a, 1, ip, w, 1, info )
209 CALL chkxer( 'ZHETRI2X', infot, nout, lerr, ok )
210 infot = 2
211 CALL zhetri2x( 'U', -1, a, 1, ip, w, 1, info )
212 CALL chkxer( 'ZHETRI2X', infot, nout, lerr, ok )
213 infot = 4
214 CALL zhetri2x( 'U', 2, a, 1, ip, w, 1, info )
215 CALL chkxer( 'ZHETRI2X', infot, nout, lerr, ok )
216*
217* ZHETRS
218*
219 srnamt = 'ZHETRS'
220 infot = 1
221 CALL zhetrs( '/', 0, 0, a, 1, ip, b, 1, info )
222 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
223 infot = 2
224 CALL zhetrs( 'U', -1, 0, a, 1, ip, b, 1, info )
225 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
226 infot = 3
227 CALL zhetrs( 'U', 0, -1, a, 1, ip, b, 1, info )
228 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
229 infot = 5
230 CALL zhetrs( 'U', 2, 1, a, 1, ip, b, 2, info )
231 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
232 infot = 8
233 CALL zhetrs( 'U', 2, 1, a, 2, ip, b, 1, info )
234 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
235*
236* ZHERFS
237*
238 srnamt = 'ZHERFS'
239 infot = 1
240 CALL zherfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
241 $ r, info )
242 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
243 infot = 2
244 CALL zherfs( 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
245 $ w, r, info )
246 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
247 infot = 3
248 CALL zherfs( 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
249 $ w, r, info )
250 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
251 infot = 5
252 CALL zherfs( 'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
253 $ r, info )
254 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
255 infot = 7
256 CALL zherfs( 'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
257 $ r, info )
258 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
259 infot = 10
260 CALL zherfs( 'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
261 $ r, info )
262 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
263 infot = 12
264 CALL zherfs( 'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
265 $ r, info )
266 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
267*
268* ZHERFSX
269*
270 n_err_bnds = 3
271 nparams = 0
272 srnamt = 'ZHERFSX'
273 infot = 1
274 CALL zherfsx( '/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
275 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
276 $ params, w, r, info )
277 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
278 infot = 2
279 CALL zherfsx( 'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
280 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
281 $ params, w, r, info )
282 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
283 eq = 'N'
284 infot = 3
285 CALL zherfsx( 'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
286 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
287 $ params, w, r, info )
288 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
289 infot = 4
290 CALL zherfsx( 'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
291 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
292 $ params, w, r, info )
293 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
294 infot = 6
295 CALL zherfsx( 'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
296 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
297 $ params, w, r, info )
298 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
299 infot = 8
300 CALL zherfsx( 'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
301 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
302 $ params, w, r, info )
303 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
304 infot = 12
305 CALL zherfsx( 'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
306 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
307 $ params, w, r, info )
308 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
309 infot = 14
310 CALL zherfsx( 'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
311 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
312 $ params, w, r, info )
313 CALL chkxer( 'ZHERFSX', infot, nout, lerr, ok )
314*
315* ZHECON
316*
317 srnamt = 'ZHECON'
318 infot = 1
319 CALL zhecon( '/', 0, a, 1, ip, anrm, rcond, w, info )
320 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
321 infot = 2
322 CALL zhecon( 'U', -1, a, 1, ip, anrm, rcond, w, info )
323 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
324 infot = 4
325 CALL zhecon( 'U', 2, a, 1, ip, anrm, rcond, w, info )
326 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
327 infot = 6
328 CALL zhecon( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
329 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
330*
331 ELSE IF( lsamen( 2, c2, 'HR' ) ) THEN
332*
333* Test error exits of the routines that use factorization
334* of a Hermitian indefinite matrix with rook
335* (bounded Bunch-Kaufman) diagonal pivoting method.
336*
337* ZHETRF_ROOK
338*
339 srnamt = 'ZHETRF_ROOK'
340 infot = 1
341 CALL zhetrf_rook( '/', 0, a, 1, ip, w, 1, info )
342 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
343 infot = 2
344 CALL zhetrf_rook( 'U', -1, a, 1, ip, w, 1, info )
345 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
346 infot = 4
347 CALL zhetrf_rook( 'U', 2, a, 1, ip, w, 4, info )
348 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
349 infot = 7
350 CALL zhetrf_rook( 'U', 0, a, 1, ip, w, 0, info )
351 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
352 infot = 7
353 CALL zhetrf_rook( 'U', 0, a, 1, ip, w, -2, info )
354 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
355*
356* ZHETF2_ROOK
357*
358 srnamt = 'ZHETF2_ROOK'
359 infot = 1
360 CALL zhetf2_rook( '/', 0, a, 1, ip, info )
361 CALL chkxer( 'ZHETF2_ROOK', infot, nout, lerr, ok )
362 infot = 2
363 CALL zhetf2_rook( 'U', -1, a, 1, ip, info )
364 CALL chkxer( 'ZHETF2_ROOK', infot, nout, lerr, ok )
365 infot = 4
366 CALL zhetf2_rook( 'U', 2, a, 1, ip, info )
367 CALL chkxer( 'ZHETF2_ROOK', infot, nout, lerr, ok )
368*
369* ZHETRI_ROOK
370*
371 srnamt = 'ZHETRI_ROOK'
372 infot = 1
373 CALL zhetri_rook( '/', 0, a, 1, ip, w, info )
374 CALL chkxer( 'ZHETRI_ROOK', infot, nout, lerr, ok )
375 infot = 2
376 CALL zhetri_rook( 'U', -1, a, 1, ip, w, info )
377 CALL chkxer( 'ZHETRI_ROOK', infot, nout, lerr, ok )
378 infot = 4
379 CALL zhetri_rook( 'U', 2, a, 1, ip, w, info )
380 CALL chkxer( 'ZHETRI_ROOK', infot, nout, lerr, ok )
381*
382* ZHETRS_ROOK
383*
384 srnamt = 'ZHETRS_ROOK'
385 infot = 1
386 CALL zhetrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
387 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
388 infot = 2
389 CALL zhetrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
390 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
391 infot = 3
392 CALL zhetrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
393 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
394 infot = 5
395 CALL zhetrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
396 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
397 infot = 8
398 CALL zhetrs_rook( 'U', 2, 1, a, 2, ip, b, 1, info )
399 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
400*
401* ZHECON_ROOK
402*
403 srnamt = 'ZHECON_ROOK'
404 infot = 1
405 CALL zhecon_rook( '/', 0, a, 1, ip, anrm, rcond, w, info )
406 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
407 infot = 2
408 CALL zhecon_rook( 'U', -1, a, 1, ip, anrm, rcond, w, info )
409 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
410 infot = 4
411 CALL zhecon_rook( 'U', 2, a, 1, ip, anrm, rcond, w, info )
412 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
413 infot = 6
414 CALL zhecon_rook( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
415 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
416*
417 ELSE IF( lsamen( 2, c2, 'HK' ) ) THEN
418*
419* Test error exits of the routines that use factorization
420* of a symmetric indefinite matrix with rook
421* (bounded Bunch-Kaufman) pivoting with the new storage
422* format for factors L ( or U) and D.
423*
424* L (or U) is stored in A, diagonal of D is stored on the
425* diagonal of A, subdiagonal of D is stored in a separate array E.
426*
427* ZHETRF_RK
428*
429 srnamt = 'ZHETRF_RK'
430 infot = 1
431 CALL zhetrf_rk( '/', 0, a, 1, e, ip, w, 1, info )
432 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
433 infot = 2
434 CALL zhetrf_rk( 'U', -1, a, 1, e, ip, w, 1, info )
435 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
436 infot = 4
437 CALL zhetrf_rk( 'U', 2, a, 1, e, ip, w, 4, info )
438 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
439 infot = 8
440 CALL zhetrf_rk( 'U', 0, a, 1, e, ip, w, 0, info )
441 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
442 infot = 8
443 CALL zhetrf_rk( 'U', 0, a, 1, e, ip, w, -2, info )
444 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
445*
446* ZHETF2_RK
447*
448 srnamt = 'ZHETF2_RK'
449 infot = 1
450 CALL zhetf2_rk( '/', 0, a, 1, e, ip, info )
451 CALL chkxer( 'ZHETF2_RK', infot, nout, lerr, ok )
452 infot = 2
453 CALL zhetf2_rk( 'U', -1, a, 1, e, ip, info )
454 CALL chkxer( 'ZHETF2_RK', infot, nout, lerr, ok )
455 infot = 4
456 CALL zhetf2_rk( 'U', 2, a, 1, e, ip, info )
457 CALL chkxer( 'ZHETF2_RK', infot, nout, lerr, ok )
458*
459* ZHETRI_3
460*
461 srnamt = 'ZHETRI_3'
462 infot = 1
463 CALL zhetri_3( '/', 0, a, 1, e, ip, w, 1, info )
464 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
465 infot = 2
466 CALL zhetri_3( 'U', -1, a, 1, e, ip, w, 1, info )
467 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
468 infot = 4
469 CALL zhetri_3( 'U', 2, a, 1, e, ip, w, 1, info )
470 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
471 infot = 8
472 CALL zhetri_3( 'U', 0, a, 1, e, ip, w, 0, info )
473 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
474 infot = 8
475 CALL zhetri_3( 'U', 0, a, 1, e, ip, w, -2, info )
476 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
477*
478* ZHETRI_3X
479*
480 srnamt = 'ZHETRI_3X'
481 infot = 1
482 CALL zhetri_3x( '/', 0, a, 1, e, ip, w, 1, info )
483 CALL chkxer( 'ZHETRI_3X', infot, nout, lerr, ok )
484 infot = 2
485 CALL zhetri_3x( 'U', -1, a, 1, e, ip, w, 1, info )
486 CALL chkxer( 'ZHETRI_3X', infot, nout, lerr, ok )
487 infot = 4
488 CALL zhetri_3x( 'U', 2, a, 1, e, ip, w, 1, info )
489 CALL chkxer( 'ZHETRI_3X', infot, nout, lerr, ok )
490*
491* ZHETRS_3
492*
493 srnamt = 'ZHETRS_3'
494 infot = 1
495 CALL zhetrs_3( '/', 0, 0, a, 1, e, ip, b, 1, info )
496 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
497 infot = 2
498 CALL zhetrs_3( 'U', -1, 0, a, 1, e, ip, b, 1, info )
499 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
500 infot = 3
501 CALL zhetrs_3( 'U', 0, -1, a, 1, e, ip, b, 1, info )
502 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
503 infot = 5
504 CALL zhetrs_3( 'U', 2, 1, a, 1, e, ip, b, 2, info )
505 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
506 infot = 9
507 CALL zhetrs_3( 'U', 2, 1, a, 2, e, ip, b, 1, info )
508 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
509*
510* ZHECON_3
511*
512 srnamt = 'ZHECON_3'
513 infot = 1
514 CALL zhecon_3( '/', 0, a, 1, e, ip, anrm, rcond, w, info )
515 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
516 infot = 2
517 CALL zhecon_3( 'U', -1, a, 1, e, ip, anrm, rcond, w, info )
518 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
519 infot = 4
520 CALL zhecon_3( 'U', 2, a, 1, e, ip, anrm, rcond, w, info )
521 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
522 infot = 7
523 CALL zhecon_3( 'U', 1, a, 1, e, ip, -1.0d0, rcond, w, info)
524 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
525*
526 ELSE IF( lsamen( 2, c2, 'HP' ) ) THEN
527*
528* Test error exits of the routines that use factorization
529* of a Hermitian indefinite packed matrix with partial
530* (Bunch-Kaufman) diagonal pivoting method.
531*
532* ZHPTRF
533*
534 srnamt = 'ZHPTRF'
535 infot = 1
536 CALL zhptrf( '/', 0, a, ip, info )
537 CALL chkxer( 'ZHPTRF', infot, nout, lerr, ok )
538 infot = 2
539 CALL zhptrf( 'U', -1, a, ip, info )
540 CALL chkxer( 'ZHPTRF', infot, nout, lerr, ok )
541*
542* ZHPTRI
543*
544 srnamt = 'ZHPTRI'
545 infot = 1
546 CALL zhptri( '/', 0, a, ip, w, info )
547 CALL chkxer( 'ZHPTRI', infot, nout, lerr, ok )
548 infot = 2
549 CALL zhptri( 'U', -1, a, ip, w, info )
550 CALL chkxer( 'ZHPTRI', infot, nout, lerr, ok )
551*
552* ZHPTRS
553*
554 srnamt = 'ZHPTRS'
555 infot = 1
556 CALL zhptrs( '/', 0, 0, a, ip, b, 1, info )
557 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
558 infot = 2
559 CALL zhptrs( 'U', -1, 0, a, ip, b, 1, info )
560 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
561 infot = 3
562 CALL zhptrs( 'U', 0, -1, a, ip, b, 1, info )
563 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
564 infot = 7
565 CALL zhptrs( 'U', 2, 1, a, ip, b, 1, info )
566 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
567*
568* ZHPRFS
569*
570 srnamt = 'ZHPRFS'
571 infot = 1
572 CALL zhprfs( '/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
573 $ info )
574 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
575 infot = 2
576 CALL zhprfs( 'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
577 $ info )
578 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
579 infot = 3
580 CALL zhprfs( 'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
581 $ info )
582 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
583 infot = 8
584 CALL zhprfs( 'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
585 $ info )
586 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
587 infot = 10
588 CALL zhprfs( 'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
589 $ info )
590 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
591*
592* ZHPCON
593*
594 srnamt = 'ZHPCON'
595 infot = 1
596 CALL zhpcon( '/', 0, a, ip, anrm, rcond, w, info )
597 CALL chkxer( 'ZHPCON', infot, nout, lerr, ok )
598 infot = 2
599 CALL zhpcon( 'U', -1, a, ip, anrm, rcond, w, info )
600 CALL chkxer( 'ZHPCON', infot, nout, lerr, ok )
601 infot = 5
602 CALL zhpcon( 'U', 1, a, ip, -anrm, rcond, w, info )
603 CALL chkxer( 'ZHPCON', infot, nout, lerr, ok )
604 END IF
605*
606* Print a summary line.
607*
608 CALL alaesm( path, ok, nout )
609*
610 RETURN
611*
612* End of ZERRHEX
613*
614 END
subroutine alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3224
subroutine zhecon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)
ZHECON_3
Definition zhecon_3.f:166
subroutine zhecon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZHECON_ROOK estimates the reciprocal of the condition number fort HE matrices using factorization obt...
subroutine zhecon(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZHECON
Definition zhecon.f:125
subroutine zherfs(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZHERFS
Definition zherfs.f:192
subroutine zherfsx(uplo, equed, n, nrhs, a, lda, af, ldaf, ipiv, s, b, ldb, x, ldx, rcond, berr, n_err_bnds, err_bnds_norm, err_bnds_comp, nparams, params, work, rwork, info)
ZHERFSX
Definition zherfsx.f:401
subroutine zhetf2_rk(uplo, n, a, lda, e, ipiv, info)
ZHETF2_RK computes the factorization of a complex Hermitian indefinite matrix using the bounded Bunch...
Definition zhetf2_rk.f:241
subroutine zhetf2_rook(uplo, n, a, lda, ipiv, info)
ZHETF2_ROOK computes the factorization of a complex Hermitian indefinite matrix using the bounded Bun...
subroutine zhetf2(uplo, n, a, lda, ipiv, info)
ZHETF2 computes the factorization of a complex Hermitian matrix, using the diagonal pivoting method (...
Definition zhetf2.f:191
subroutine zhetrf_rk(uplo, n, a, lda, e, ipiv, work, lwork, info)
ZHETRF_RK computes the factorization of a complex Hermitian indefinite matrix using the bounded Bunch...
Definition zhetrf_rk.f:259
subroutine zhetrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
ZHETRF_ROOK computes the factorization of a complex Hermitian indefinite matrix using the bounded Bun...
subroutine zhetrf(uplo, n, a, lda, ipiv, work, lwork, info)
ZHETRF
Definition zhetrf.f:177
subroutine zhetri2(uplo, n, a, lda, ipiv, work, lwork, info)
ZHETRI2
Definition zhetri2.f:127
subroutine zhetri2x(uplo, n, a, lda, ipiv, work, nb, info)
ZHETRI2X
Definition zhetri2x.f:120
subroutine zhetri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
ZHETRI_3
Definition zhetri_3.f:170
subroutine zhetri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
ZHETRI_3X
Definition zhetri_3x.f:159
subroutine zhetri_rook(uplo, n, a, lda, ipiv, work, info)
ZHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch...
subroutine zhetri(uplo, n, a, lda, ipiv, work, info)
ZHETRI
Definition zhetri.f:114
subroutine zhetrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
ZHETRS_3
Definition zhetrs_3.f:165
subroutine zhetrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZHETRS_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using fac...
subroutine zhetrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZHETRS
Definition zhetrs.f:120
subroutine zhpcon(uplo, n, ap, ipiv, anorm, rcond, work, info)
ZHPCON
Definition zhpcon.f:118
subroutine zhprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZHPRFS
Definition zhprfs.f:180
subroutine zhptrf(uplo, n, ap, ipiv, info)
ZHPTRF
Definition zhptrf.f:159
subroutine zhptri(uplo, n, ap, ipiv, work, info)
ZHPTRI
Definition zhptri.f:109
subroutine zhptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
ZHPTRS
Definition zhptrs.f:115
subroutine zerrhe(path, nunit)
ZERRHE
Definition zerrhe.f:55