LAPACK  3.7.0
LAPACK: Linear Algebra PACKage
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.
Date
December 2016
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.
Date
December 2016

Definition at line 57 of file zerrhe.f.

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

Here is the call graph for this function:

Here is the caller graph for this function: