LAPACK  3.10.1
LAPACK: Linear Algebra PACKage

◆ zerrhe()

subroutine zerrhe ( character*3  PATH,
integer  NUNIT 
)

ZERRHE

ZERRHEX

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.
Purpose:
 ZERRHE tests the error exits for the COMPLEX*16 routines
 for Hermitian indefinite matrices.

 Note that this file is used only when the XBLAS are available,
 otherwise zerrhe.f defines this subroutine.
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 ..
95  $ zhptrf, zhptri, zhptrs
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 patrial
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 patrial
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 chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:74
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine zhetri_3(UPLO, N, A, LDA, E, IPIV, WORK, LWORK, INFO)
ZHETRI_3
Definition: zhetri_3.f:170
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(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 zhecon_3(UPLO, N, A, LDA, E, IPIV, ANORM, RCOND, WORK, INFO)
ZHECON_3
Definition: zhecon_3.f:166
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...
Definition: zhetri_rook.f:128
subroutine zhetri(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZHETRI
Definition: zhetri.f:114
subroutine zhecon(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
ZHECON
Definition: zhecon.f:125
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_aa(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZHETRF_AA
Definition: zhetrf_aa.f:132
subroutine zhetrs_3(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, INFO)
ZHETRS_3
Definition: zhetrs_3.f:165
subroutine zhetf2_rook(UPLO, N, A, LDA, IPIV, INFO)
ZHETF2_ROOK computes the factorization of a complex Hermitian indefinite matrix using the bounded Bun...
Definition: zhetf2_rook.f:194
subroutine zhetri_3x(UPLO, N, A, LDA, E, IPIV, WORK, NB, INFO)
ZHETRI_3X
Definition: zhetri_3x.f:159
subroutine zhetrs_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHETRS_AA
Definition: zhetrs_aa.f:132
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...
Definition: zhecon_rook.f:139
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...
Definition: zhetrs_rook.f:136
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 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...
Definition: zhetrf_rook.f:212
subroutine zhetri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZHETRI2
Definition: zhetri2.f:127
subroutine zhetrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZHETRS
Definition: zhetrs.f:120
subroutine zhetri2x(UPLO, N, A, LDA, IPIV, WORK, NB, INFO)
ZHETRI2X
Definition: zhetri2x.f:120
subroutine zhetrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZHETRF
Definition: zhetrf.f:177
subroutine zhpcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO)
ZHPCON
Definition: zhpcon.f:118
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 zhprfs(UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZHPRFS
Definition: zhprfs.f:180
subroutine zhptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZHPTRS
Definition: zhptrs.f:115
subroutine zhetrs_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, INFO)
ZHETRS_AA_2STAGE
subroutine zhetrf_aa_2stage(UPLO, N, A, LDA, TB, LTB, IPIV, IPIV2, WORK, LWORK, INFO)
ZHETRF_AA_2STAGE
Here is the call graph for this function:
Here is the caller graph for this function: