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