LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ zerrhe()

subroutine zerrhe ( character*3  path,
integer  nunit 
)

ZERRHE

Purpose:
 ZERRHE tests the error exits for the COMPLEX*16 routines
 for Hermitian indefinite matrices.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 54 of file zerrhe.f.

55*
56* -- LAPACK test routine --
57* -- LAPACK is a software package provided by Univ. of Tennessee, --
58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
59*
60* .. Scalar Arguments ..
61 CHARACTER*3 PATH
62 INTEGER NUNIT
63* ..
64*
65* =====================================================================
66*
67*
68* .. Parameters ..
69 INTEGER NMAX
70 parameter( nmax = 4 )
71* ..
72* .. Local Scalars ..
73 CHARACTER*2 C2
74 INTEGER I, INFO, J
75 DOUBLE PRECISION ANRM, RCOND
76* ..
77* .. Local Arrays ..
78 INTEGER IP( NMAX )
79 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX )
80 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
81 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
82* ..
83* .. External Functions ..
84 LOGICAL LSAMEN
85 EXTERNAL lsamen
86* ..
87* .. External Subroutines ..
96* ..
97* .. Scalars in Common ..
98 LOGICAL LERR, OK
99 CHARACTER*32 SRNAMT
100 INTEGER INFOT, NOUT
101* ..
102* .. Common blocks ..
103 COMMON / infoc / infot, nout, ok, lerr
104 COMMON / srnamc / srnamt
105* ..
106* .. Intrinsic Functions ..
107 INTRINSIC dble, dcmplx
108* ..
109* .. Executable Statements ..
110*
111 nout = nunit
112 WRITE( nout, fmt = * )
113 c2 = path( 2: 3 )
114*
115* Set the variables to innocuous values.
116*
117 DO 20 j = 1, nmax
118 DO 10 i = 1, nmax
119 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
120 $ -1.d0 / dble( i+j ) )
121 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
122 $ -1.d0 / dble( i+j ) )
123 10 CONTINUE
124 b( j ) = 0.d0
125 e( j ) = 0.d0
126 r1( j ) = 0.d0
127 r2( j ) = 0.d0
128 w( j ) = 0.d0
129 x( j ) = 0.d0
130 ip( j ) = j
131 20 CONTINUE
132 anrm = 1.0d0
133 ok = .true.
134*
135 IF( lsamen( 2, c2, 'HE' ) ) THEN
136*
137* Test error exits of the routines that use factorization
138* of a Hermitian indefinite matrix with partial
139* (Bunch-Kaufman) diagonal pivoting method.
140*
141* ZHETRF
142*
143 srnamt = 'ZHETRF'
144 infot = 1
145 CALL zhetrf( '/', 0, a, 1, ip, w, 1, info )
146 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
147 infot = 2
148 CALL zhetrf( 'U', -1, a, 1, ip, w, 1, info )
149 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
150 infot = 4
151 CALL zhetrf( 'U', 2, a, 1, ip, w, 4, info )
152 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
153 infot = 7
154 CALL zhetrf( 'U', 0, a, 1, ip, w, 0, info )
155 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
156 infot = 7
157 CALL zhetrf( 'U', 0, a, 1, ip, w, -2, info )
158 CALL chkxer( 'ZHETRF', infot, nout, lerr, ok )
159*
160* ZHETF2
161*
162 srnamt = 'ZHETF2'
163 infot = 1
164 CALL zhetf2( '/', 0, a, 1, ip, info )
165 CALL chkxer( 'ZHETF2', infot, nout, lerr, ok )
166 infot = 2
167 CALL zhetf2( 'U', -1, a, 1, ip, info )
168 CALL chkxer( 'ZHETF2', infot, nout, lerr, ok )
169 infot = 4
170 CALL zhetf2( 'U', 2, a, 1, ip, info )
171 CALL chkxer( 'ZHETF2', infot, nout, lerr, ok )
172*
173* ZHETRI
174*
175 srnamt = 'ZHETRI'
176 infot = 1
177 CALL zhetri( '/', 0, a, 1, ip, w, info )
178 CALL chkxer( 'ZHETRI', infot, nout, lerr, ok )
179 infot = 2
180 CALL zhetri( 'U', -1, a, 1, ip, w, info )
181 CALL chkxer( 'ZHETRI', infot, nout, lerr, ok )
182 infot = 4
183 CALL zhetri( 'U', 2, a, 1, ip, w, info )
184 CALL chkxer( 'ZHETRI', infot, nout, lerr, ok )
185*
186* ZHETRI2
187*
188 srnamt = 'ZHETRI2'
189 infot = 1
190 CALL zhetri2( '/', 0, a, 1, ip, w, 1, info )
191 CALL chkxer( 'ZHETRI2', infot, nout, lerr, ok )
192 infot = 2
193 CALL zhetri2( 'U', -1, a, 1, ip, w, 1, info )
194 CALL chkxer( 'ZHETRI2', infot, nout, lerr, ok )
195 infot = 4
196 CALL zhetri2( 'U', 2, a, 1, ip, w, 1, info )
197 CALL chkxer( 'ZHETRI2', infot, nout, lerr, ok )
198*
199* ZHETRI2X
200*
201 srnamt = 'ZHETRI2X'
202 infot = 1
203 CALL zhetri2x( '/', 0, a, 1, ip, w, 1, info )
204 CALL chkxer( 'ZHETRI2X', infot, nout, lerr, ok )
205 infot = 2
206 CALL zhetri2x( 'U', -1, a, 1, ip, w, 1, info )
207 CALL chkxer( 'ZHETRI2X', infot, nout, lerr, ok )
208 infot = 4
209 CALL zhetri2x( 'U', 2, a, 1, ip, w, 1, info )
210 CALL chkxer( 'ZHETRI2X', infot, nout, lerr, ok )
211*
212* ZHETRS
213*
214 srnamt = 'ZHETRS'
215 infot = 1
216 CALL zhetrs( '/', 0, 0, a, 1, ip, b, 1, info )
217 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
218 infot = 2
219 CALL zhetrs( 'U', -1, 0, a, 1, ip, b, 1, info )
220 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
221 infot = 3
222 CALL zhetrs( 'U', 0, -1, a, 1, ip, b, 1, info )
223 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
224 infot = 5
225 CALL zhetrs( 'U', 2, 1, a, 1, ip, b, 2, info )
226 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
227 infot = 8
228 CALL zhetrs( 'U', 2, 1, a, 2, ip, b, 1, info )
229 CALL chkxer( 'ZHETRS', infot, nout, lerr, ok )
230*
231* ZHERFS
232*
233 srnamt = 'ZHERFS'
234 infot = 1
235 CALL zherfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
236 $ r, info )
237 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
238 infot = 2
239 CALL zherfs( 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
240 $ w, r, info )
241 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
242 infot = 3
243 CALL zherfs( 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
244 $ w, r, info )
245 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
246 infot = 5
247 CALL zherfs( 'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
248 $ r, info )
249 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
250 infot = 7
251 CALL zherfs( 'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
252 $ r, info )
253 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
254 infot = 10
255 CALL zherfs( 'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
256 $ r, info )
257 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
258 infot = 12
259 CALL zherfs( 'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
260 $ r, info )
261 CALL chkxer( 'ZHERFS', infot, nout, lerr, ok )
262*
263* ZHECON
264*
265 srnamt = 'ZHECON'
266 infot = 1
267 CALL zhecon( '/', 0, a, 1, ip, anrm, rcond, w, info )
268 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
269 infot = 2
270 CALL zhecon( 'U', -1, a, 1, ip, anrm, rcond, w, info )
271 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
272 infot = 4
273 CALL zhecon( 'U', 2, a, 1, ip, anrm, rcond, w, info )
274 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
275 infot = 6
276 CALL zhecon( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
277 CALL chkxer( 'ZHECON', infot, nout, lerr, ok )
278*
279 ELSE IF( lsamen( 2, c2, 'HR' ) ) THEN
280*
281* Test error exits of the routines that use factorization
282* of a Hermitian indefinite matrix with rook
283* (bounded Bunch-Kaufman) diagonal pivoting method.
284*
285* ZHETRF_ROOK
286*
287 srnamt = 'ZHETRF_ROOK'
288 infot = 1
289 CALL zhetrf_rook( '/', 0, a, 1, ip, w, 1, info )
290 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
291 infot = 2
292 CALL zhetrf_rook( 'U', -1, a, 1, ip, w, 1, info )
293 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
294 infot = 4
295 CALL zhetrf_rook( 'U', 2, a, 1, ip, w, 4, info )
296 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
297 infot = 7
298 CALL zhetrf_rook( 'U', 0, a, 1, ip, w, 0, info )
299 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
300 infot = 7
301 CALL zhetrf_rook( 'U', 0, a, 1, ip, w, -2, info )
302 CALL chkxer( 'ZHETRF_ROOK', infot, nout, lerr, ok )
303*
304* ZHETF2_ROOK
305*
306 srnamt = 'ZHETF2_ROOK'
307 infot = 1
308 CALL zhetf2_rook( '/', 0, a, 1, ip, info )
309 CALL chkxer( 'ZHETF2_ROOK', infot, nout, lerr, ok )
310 infot = 2
311 CALL zhetf2_rook( 'U', -1, a, 1, ip, info )
312 CALL chkxer( 'ZHETF2_ROOK', infot, nout, lerr, ok )
313 infot = 4
314 CALL zhetf2_rook( 'U', 2, a, 1, ip, info )
315 CALL chkxer( 'ZHETF2_ROOK', infot, nout, lerr, ok )
316*
317* ZHETRI_ROOK
318*
319 srnamt = 'ZHETRI_ROOK'
320 infot = 1
321 CALL zhetri_rook( '/', 0, a, 1, ip, w, info )
322 CALL chkxer( 'ZHETRI_ROOK', infot, nout, lerr, ok )
323 infot = 2
324 CALL zhetri_rook( 'U', -1, a, 1, ip, w, info )
325 CALL chkxer( 'ZHETRI_ROOK', infot, nout, lerr, ok )
326 infot = 4
327 CALL zhetri_rook( 'U', 2, a, 1, ip, w, info )
328 CALL chkxer( 'ZHETRI_ROOK', infot, nout, lerr, ok )
329*
330* ZHETRS_ROOK
331*
332 srnamt = 'ZHETRS_ROOK'
333 infot = 1
334 CALL zhetrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
335 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
336 infot = 2
337 CALL zhetrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
338 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
339 infot = 3
340 CALL zhetrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
341 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
342 infot = 5
343 CALL zhetrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
344 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
345 infot = 8
346 CALL zhetrs_rook( 'U', 2, 1, a, 2, ip, b, 1, info )
347 CALL chkxer( 'ZHETRS_ROOK', infot, nout, lerr, ok )
348*
349* ZHECON_ROOK
350*
351 srnamt = 'ZHECON_ROOK'
352 infot = 1
353 CALL zhecon_rook( '/', 0, a, 1, ip, anrm, rcond, w, info )
354 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
355 infot = 2
356 CALL zhecon_rook( 'U', -1, a, 1, ip, anrm, rcond, w, info )
357 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
358 infot = 4
359 CALL zhecon_rook( 'U', 2, a, 1, ip, anrm, rcond, w, info )
360 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
361 infot = 6
362 CALL zhecon_rook( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
363 CALL chkxer( 'ZHECON_ROOK', infot, nout, lerr, ok )
364*
365 ELSE IF( lsamen( 2, c2, 'HK' ) ) THEN
366*
367* Test error exits of the routines that use factorization
368* of a symmetric indefinite matrix with rook
369* (bounded Bunch-Kaufman) pivoting with the new storage
370* format for factors L ( or U) and D.
371*
372* L (or U) is stored in A, diagonal of D is stored on the
373* diagonal of A, subdiagonal of D is stored in a separate array E.
374*
375* ZHETRF_RK
376*
377 srnamt = 'ZHETRF_RK'
378 infot = 1
379 CALL zhetrf_rk( '/', 0, a, 1, e, ip, w, 1, info )
380 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
381 infot = 2
382 CALL zhetrf_rk( 'U', -1, a, 1, e, ip, w, 1, info )
383 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
384 infot = 4
385 CALL zhetrf_rk( 'U', 2, a, 1, e, ip, w, 4, info )
386 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
387 infot = 8
388 CALL zhetrf_rk( 'U', 0, a, 1, e, ip, w, 0, info )
389 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
390 infot = 8
391 CALL zhetrf_rk( 'U', 0, a, 1, e, ip, w, -2, info )
392 CALL chkxer( 'ZHETRF_RK', infot, nout, lerr, ok )
393*
394* ZHETF2_RK
395*
396 srnamt = 'ZHETF2_RK'
397 infot = 1
398 CALL zhetf2_rk( '/', 0, a, 1, e, ip, info )
399 CALL chkxer( 'ZHETF2_RK', infot, nout, lerr, ok )
400 infot = 2
401 CALL zhetf2_rk( 'U', -1, a, 1, e, ip, info )
402 CALL chkxer( 'ZHETF2_RK', infot, nout, lerr, ok )
403 infot = 4
404 CALL zhetf2_rk( 'U', 2, a, 1, e, ip, info )
405 CALL chkxer( 'ZHETF2_RK', infot, nout, lerr, ok )
406*
407* ZHETRI_3
408*
409 srnamt = 'ZHETRI_3'
410 infot = 1
411 CALL zhetri_3( '/', 0, a, 1, e, ip, w, 1, info )
412 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
413 infot = 2
414 CALL zhetri_3( 'U', -1, a, 1, e, ip, w, 1, info )
415 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
416 infot = 4
417 CALL zhetri_3( 'U', 2, a, 1, e, ip, w, 1, info )
418 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
419 infot = 8
420 CALL zhetri_3( 'U', 0, a, 1, e, ip, w, 0, info )
421 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
422 infot = 8
423 CALL zhetri_3( 'U', 0, a, 1, e, ip, w, -2, info )
424 CALL chkxer( 'ZHETRI_3', infot, nout, lerr, ok )
425*
426* ZHETRI_3X
427*
428 srnamt = 'ZHETRI_3X'
429 infot = 1
430 CALL zhetri_3x( '/', 0, a, 1, e, ip, w, 1, info )
431 CALL chkxer( 'ZHETRI_3X', infot, nout, lerr, ok )
432 infot = 2
433 CALL zhetri_3x( 'U', -1, a, 1, e, ip, w, 1, info )
434 CALL chkxer( 'ZHETRI_3X', infot, nout, lerr, ok )
435 infot = 4
436 CALL zhetri_3x( 'U', 2, a, 1, e, ip, w, 1, info )
437 CALL chkxer( 'ZHETRI_3X', infot, nout, lerr, ok )
438*
439* ZHETRS_3
440*
441 srnamt = 'ZHETRS_3'
442 infot = 1
443 CALL zhetrs_3( '/', 0, 0, a, 1, e, ip, b, 1, info )
444 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
445 infot = 2
446 CALL zhetrs_3( 'U', -1, 0, a, 1, e, ip, b, 1, info )
447 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
448 infot = 3
449 CALL zhetrs_3( 'U', 0, -1, a, 1, e, ip, b, 1, info )
450 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
451 infot = 5
452 CALL zhetrs_3( 'U', 2, 1, a, 1, e, ip, b, 2, info )
453 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
454 infot = 9
455 CALL zhetrs_3( 'U', 2, 1, a, 2, e, ip, b, 1, info )
456 CALL chkxer( 'ZHETRS_3', infot, nout, lerr, ok )
457*
458* ZHECON_3
459*
460 srnamt = 'ZHECON_3'
461 infot = 1
462 CALL zhecon_3( '/', 0, a, 1, e, ip, anrm, rcond, w, info )
463 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
464 infot = 2
465 CALL zhecon_3( 'U', -1, a, 1, e, ip, anrm, rcond, w, info )
466 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
467 infot = 4
468 CALL zhecon_3( 'U', 2, a, 1, e, ip, anrm, rcond, w, info )
469 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
470 infot = 7
471 CALL zhecon_3( 'U', 1, a, 1, e, ip, -1.0d0, rcond, w, info)
472 CALL chkxer( 'ZHECON_3', infot, nout, lerr, ok )
473*
474* Test error exits of the routines that use factorization
475* of a Hermitian indefinite matrix with Aasen's algorithm.
476*
477 ELSE IF( lsamen( 2, c2, 'HA' ) ) THEN
478*
479* ZHETRF_AA
480*
481 srnamt = 'ZHETRF_AA'
482 infot = 1
483 CALL zhetrf_aa( '/', 0, a, 1, ip, w, 1, info )
484 CALL chkxer( 'ZHETRF_AA', infot, nout, lerr, ok )
485 infot = 2
486 CALL zhetrf_aa( 'U', -1, a, 1, ip, w, 1, info )
487 CALL chkxer( 'ZHETRF_AA', infot, nout, lerr, ok )
488 infot = 4
489 CALL zhetrf_aa( 'U', 2, a, 1, ip, w, 4, info )
490 CALL chkxer( 'ZHETRF_AA', infot, nout, lerr, ok )
491 infot = 7
492 CALL zhetrf_aa( 'U', 0, a, 1, ip, w, 0, info )
493 CALL chkxer( 'ZHETRF_AA', infot, nout, lerr, ok )
494 infot = 7
495 CALL zhetrf_aa( 'U', 0, a, 1, ip, w, -2, info )
496 CALL chkxer( 'ZHETRF_AA', infot, nout, lerr, ok )
497*
498* ZHETRS_AA
499*
500 srnamt = 'ZHETRS_AA'
501 infot = 1
502 CALL zhetrs_aa( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
503 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
504 infot = 2
505 CALL zhetrs_aa( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
506 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
507 infot = 3
508 CALL zhetrs_aa( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
509 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
510 infot = 5
511 CALL zhetrs_aa( 'U', 2, 1, a, 1, ip, b, 2, w, 1, info )
512 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
513 infot = 8
514 CALL zhetrs_aa( 'U', 2, 1, a, 2, ip, b, 1, w, 1, info )
515 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
516 infot = 10
517 CALL zhetrs_aa( 'U', 0, 1, a, 1, ip, b, 1, w, 0, info )
518 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
519 infot = 10
520 CALL zhetrs_aa( 'U', 0, 1, a, 1, ip, b, 1, w, -2, info )
521 CALL chkxer( 'ZHETRS_AA', infot, nout, lerr, ok )
522*
523 ELSE IF( lsamen( 2, c2, 'S2' ) ) THEN
524*
525* Test error exits of the routines that use factorization
526* of a symmetric indefinite matrix with Aasen's algorithm.
527*
528* ZHETRF_AA_2STAGE
529*
530 srnamt = 'ZHETRF_AA_2STAGE'
531 infot = 1
532 CALL zhetrf_aa_2stage( '/', 0, a, 1, a, 1, ip, ip, w, 1,
533 $ info )
534 CALL chkxer( 'ZHETRF_AA_2STAGE', infot, nout, lerr, ok )
535 infot = 2
536 CALL zhetrf_aa_2stage( 'U', -1, a, 1, a, 1, ip, ip, w, 1,
537 $ info )
538 CALL chkxer( 'ZHETRF_AA_2STAGE', infot, nout, lerr, ok )
539 infot = 4
540 CALL zhetrf_aa_2stage( 'U', 2, a, 1, a, 2, ip, ip, w, 1,
541 $ info )
542 CALL chkxer( 'ZHETRF_AA_2STAGE', infot, nout, lerr, ok )
543 infot = 6
544 CALL zhetrf_aa_2stage( 'U', 2, a, 2, a, 1, ip, ip, w, 1,
545 $ info )
546 CALL chkxer( 'ZHETRF_AA_2STAGE', infot, nout, lerr, ok )
547 infot = 10
548 CALL zhetrf_aa_2stage( 'U', 2, a, 2, a, 8, ip, ip, w, 0,
549 $ info )
550 CALL chkxer( 'ZHETRF_AA_2STAGE', infot, nout, lerr, ok )
551*
552* ZHETRS_AA_2STAGE
553*
554 srnamt = 'ZHETRS_AA_2STAGE'
555 infot = 1
556 CALL zhetrs_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip,
557 $ b, 1, info )
558 CALL chkxer( 'ZHETRS_AA_2STAGE', infot, nout, lerr, ok )
559 infot = 2
560 CALL zhetrs_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip,
561 $ b, 1, info )
562 CALL chkxer( 'ZHETRS_AA_2STAGE', infot, nout, lerr, ok )
563 infot = 3
564 CALL zhetrs_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip,
565 $ b, 1, info )
566 CALL chkxer( 'ZHETRS_AA_2STAGE', infot, nout, lerr, ok )
567 infot = 5
568 CALL zhetrs_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip,
569 $ b, 1, info )
570 CALL chkxer( 'ZHETRS_AA_2STAGE', infot, nout, lerr, ok )
571 infot = 7
572 CALL zhetrs_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip,
573 $ b, 1, info )
574 CALL chkxer( 'ZHETRS_AA_2STAGE', infot, nout, lerr, ok )
575 infot = 11
576 CALL zhetrs_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip,
577 $ b, 1, info )
578 CALL chkxer( 'ZHETRS_AA_STAGE', infot, nout, lerr, ok )
579*
580 ELSE IF( lsamen( 2, c2, 'HP' ) ) THEN
581*
582* Test error exits of the routines that use factorization
583* of a Hermitian indefinite packed matrix with partial
584* (Bunch-Kaufman) diagonal pivoting method.
585*
586* ZHPTRF
587*
588 srnamt = 'ZHPTRF'
589 infot = 1
590 CALL zhptrf( '/', 0, a, ip, info )
591 CALL chkxer( 'ZHPTRF', infot, nout, lerr, ok )
592 infot = 2
593 CALL zhptrf( 'U', -1, a, ip, info )
594 CALL chkxer( 'ZHPTRF', infot, nout, lerr, ok )
595*
596* ZHPTRI
597*
598 srnamt = 'ZHPTRI'
599 infot = 1
600 CALL zhptri( '/', 0, a, ip, w, info )
601 CALL chkxer( 'ZHPTRI', infot, nout, lerr, ok )
602 infot = 2
603 CALL zhptri( 'U', -1, a, ip, w, info )
604 CALL chkxer( 'ZHPTRI', infot, nout, lerr, ok )
605*
606* ZHPTRS
607*
608 srnamt = 'ZHPTRS'
609 infot = 1
610 CALL zhptrs( '/', 0, 0, a, ip, b, 1, info )
611 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
612 infot = 2
613 CALL zhptrs( 'U', -1, 0, a, ip, b, 1, info )
614 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
615 infot = 3
616 CALL zhptrs( 'U', 0, -1, a, ip, b, 1, info )
617 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
618 infot = 7
619 CALL zhptrs( 'U', 2, 1, a, ip, b, 1, info )
620 CALL chkxer( 'ZHPTRS', infot, nout, lerr, ok )
621*
622* ZHPRFS
623*
624 srnamt = 'ZHPRFS'
625 infot = 1
626 CALL zhprfs( '/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
627 $ info )
628 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
629 infot = 2
630 CALL zhprfs( 'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
631 $ info )
632 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
633 infot = 3
634 CALL zhprfs( 'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
635 $ info )
636 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
637 infot = 8
638 CALL zhprfs( 'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
639 $ info )
640 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
641 infot = 10
642 CALL zhprfs( 'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
643 $ info )
644 CALL chkxer( 'ZHPRFS', infot, nout, lerr, ok )
645*
646* ZHPCON
647*
648 srnamt = 'ZHPCON'
649 infot = 1
650 CALL zhpcon( '/', 0, a, ip, anrm, rcond, w, info )
651 CALL chkxer( 'ZHPCON', infot, nout, lerr, ok )
652 infot = 2
653 CALL zhpcon( 'U', -1, a, ip, anrm, rcond, w, info )
654 CALL chkxer( 'ZHPCON', infot, nout, lerr, ok )
655 infot = 5
656 CALL zhpcon( 'U', 1, a, ip, -anrm, rcond, w, info )
657 CALL chkxer( 'ZHPCON', infot, nout, lerr, ok )
658 END IF
659*
660* Print a summary line.
661*
662 CALL alaesm( path, ok, nout )
663*
664 RETURN
665*
666* End of ZERRHE
667*
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 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_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
ZHETRF_AA_2STAGE
subroutine zhetrf_aa(uplo, n, a, lda, ipiv, work, lwork, info)
ZHETRF_AA
Definition zhetrf_aa.f:132
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_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, info)
ZHETRS_AA_2STAGE
subroutine zhetrs_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
ZHETRS_AA
Definition zhetrs_aa.f:132
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
logical function lsamen(n, ca, cb)
LSAMEN
Definition lsamen.f:74
Here is the call graph for this function:
Here is the caller graph for this function: