LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
zerrsyx.f
Go to the documentation of this file.
1 *> \brief \b ZERRSYX
2 *
3 * =========== DOCUMENTATION ===========
4 *
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
7 *
8 * Definition:
9 * ===========
10 *
11 * SUBROUTINE ZERRSY( PATH, NUNIT )
12 *
13 * .. Scalar Arguments ..
14 * CHARACTER*3 PATH
15 * INTEGER NUNIT
16 * ..
17 *
18 *
19 *> \par Purpose:
20 * =============
21 *>
22 *> \verbatim
23 *>
24 *> ZERRSY tests the error exits for the COMPLEX*16 routines
25 *> for symmetric indefinite matrices.
26 *>
27 *> Note that this file is used only when the XBLAS are available,
28 *> otherwise zerrsy.f defines this subroutine.
29 *> \endverbatim
30 *
31 * Arguments:
32 * ==========
33 *
34 *> \param[in] PATH
35 *> \verbatim
36 *> PATH is CHARACTER*3
37 *> The LAPACK path name for the routines to be tested.
38 *> \endverbatim
39 *>
40 *> \param[in] NUNIT
41 *> \verbatim
42 *> NUNIT is INTEGER
43 *> The unit number for output.
44 *> \endverbatim
45 *
46 * Authors:
47 * ========
48 *
49 *> \author Univ. of Tennessee
50 *> \author Univ. of California Berkeley
51 *> \author Univ. of Colorado Denver
52 *> \author NAG Ltd.
53 *
54 *> \ingroup complex16_lin
55 *
56 * =====================================================================
57  SUBROUTINE zerrsy( PATH, NUNIT )
58 *
59 * -- LAPACK test routine --
60 * -- LAPACK is a software package provided by Univ. of Tennessee, --
61 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
62 *
63 * .. Scalar Arguments ..
64  CHARACTER*3 PATH
65  INTEGER NUNIT
66 * ..
67 *
68 * =====================================================================
69 *
70 * .. Parameters ..
71  INTEGER NMAX
72  parameter( nmax = 4 )
73 * ..
74 * .. Local Scalars ..
75  CHARACTER EQ
76  CHARACTER*2 C2
77  INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78  DOUBLE PRECISION ANRM, RCOND, BERR
79 * ..
80 * .. Local Arrays ..
81  INTEGER IP( NMAX )
82  DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX ),
83  $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
84  $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
85  COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
86  $ E( NMAX ), W( 2*NMAX ), X( NMAX )
87 * ..
88 * .. External Functions ..
89  LOGICAL LSAMEN
90  EXTERNAL lsamen
91 * ..
92 * .. External Subroutines ..
93  EXTERNAL alaesm, chkxer, zspcon, zsprfs, zsptrf, zsptri,
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  s( j ) = 0.d0
134  ip( j ) = j
135  20 CONTINUE
136  anrm = 1.0d0
137  ok = .true.
138 *
139  IF( lsamen( 2, c2, 'SY' ) ) THEN
140 *
141 * Test error exits of the routines that use factorization
142 * of a symmetric indefinite matrix with patrial
143 * (Bunch-Kaufman) diagonal pivoting method.
144 *
145 * ZSYTRF
146 *
147  srnamt = 'ZSYTRF'
148  infot = 1
149  CALL zsytrf( '/', 0, a, 1, ip, w, 1, info )
150  CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
151  infot = 2
152  CALL zsytrf( 'U', -1, a, 1, ip, w, 1, info )
153  CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
154  infot = 4
155  CALL zsytrf( 'U', 2, a, 1, ip, w, 4, info )
156  CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
157  infot = 7
158  CALL zsytrf( 'U', 0, a, 1, ip, w, 0, info )
159  CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
160  infot = 7
161  CALL zsytrf( 'U', 0, a, 1, ip, w, -2, info )
162  CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
163 *
164 * ZSYTF2
165 *
166  srnamt = 'ZSYTF2'
167  infot = 1
168  CALL zsytf2( '/', 0, a, 1, ip, info )
169  CALL chkxer( 'ZSYTF2', infot, nout, lerr, ok )
170  infot = 2
171  CALL zsytf2( 'U', -1, a, 1, ip, info )
172  CALL chkxer( 'ZSYTF2', infot, nout, lerr, ok )
173  infot = 4
174  CALL zsytf2( 'U', 2, a, 1, ip, info )
175  CALL chkxer( 'ZSYTF2', infot, nout, lerr, ok )
176 *
177 * ZSYTRI
178 *
179  srnamt = 'ZSYTRI'
180  infot = 1
181  CALL zsytri( '/', 0, a, 1, ip, w, info )
182  CALL chkxer( 'ZSYTRI', infot, nout, lerr, ok )
183  infot = 2
184  CALL zsytri( 'U', -1, a, 1, ip, w, info )
185  CALL chkxer( 'ZSYTRI', infot, nout, lerr, ok )
186  infot = 4
187  CALL zsytri( 'U', 2, a, 1, ip, w, info )
188  CALL chkxer( 'ZSYTRI', infot, nout, lerr, ok )
189 *
190 * ZSYTRI2
191 *
192  srnamt = 'ZSYTRI2'
193  infot = 1
194  CALL zsytri2( '/', 0, a, 1, ip, w, 1, info )
195  CALL chkxer( 'ZSYTRI2', infot, nout, lerr, ok )
196  infot = 2
197  CALL zsytri2( 'U', -1, a, 1, ip, w, 1, info )
198  CALL chkxer( 'ZSYTRI2', infot, nout, lerr, ok )
199  infot = 4
200  CALL zsytri2( 'U', 2, a, 1, ip, w, 1, info )
201  CALL chkxer( 'ZSYTRI2', infot, nout, lerr, ok )
202 *
203 * ZSYTRI2X
204 *
205  srnamt = 'ZSYTRI2X'
206  infot = 1
207  CALL zsytri2x( '/', 0, a, 1, ip, w, 1, info )
208  CALL chkxer( 'ZSYTRI2X', infot, nout, lerr, ok )
209  infot = 2
210  CALL zsytri2x( 'U', -1, a, 1, ip, w, 1, info )
211  CALL chkxer( 'ZSYTRI2X', infot, nout, lerr, ok )
212  infot = 4
213  CALL zsytri2x( 'U', 2, a, 1, ip, w, 1, info )
214  CALL chkxer( 'ZSYTRI2X', infot, nout, lerr, ok )
215 *
216 * ZSYTRS
217 *
218  srnamt = 'ZSYTRS'
219  infot = 1
220  CALL zsytrs( '/', 0, 0, a, 1, ip, b, 1, info )
221  CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
222  infot = 2
223  CALL zsytrs( 'U', -1, 0, a, 1, ip, b, 1, info )
224  CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
225  infot = 3
226  CALL zsytrs( 'U', 0, -1, a, 1, ip, b, 1, info )
227  CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
228  infot = 5
229  CALL zsytrs( 'U', 2, 1, a, 1, ip, b, 2, info )
230  CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
231  infot = 8
232  CALL zsytrs( 'U', 2, 1, a, 2, ip, b, 1, info )
233  CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
234 *
235 * ZSYRFS
236 *
237  srnamt = 'ZSYRFS'
238  infot = 1
239  CALL zsyrfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
240  $ r, info )
241  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
242  infot = 2
243  CALL zsyrfs( 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
244  $ w, r, info )
245  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
246  infot = 3
247  CALL zsyrfs( 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
248  $ w, r, info )
249  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
250  infot = 5
251  CALL zsyrfs( 'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
252  $ r, info )
253  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
254  infot = 7
255  CALL zsyrfs( 'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
256  $ r, info )
257  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
258  infot = 10
259  CALL zsyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
260  $ r, info )
261  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
262  infot = 12
263  CALL zsyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
264  $ r, info )
265  CALL chkxer( 'ZSYRFS', infot, nout, lerr, ok )
266 *
267 * ZSYRFSX
268 *
269  n_err_bnds = 3
270  nparams = 0
271  srnamt = 'ZSYRFSX'
272  infot = 1
273  CALL zsyrfsx( '/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
274  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
275  $ params, w, r, info )
276  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
277  infot = 2
278  CALL zsyrfsx( 'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
279  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
280  $ params, w, r, info )
281  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
282  eq = 'N'
283  infot = 3
284  CALL zsyrfsx( 'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
285  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
286  $ params, w, r, info )
287  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
288  infot = 4
289  CALL zsyrfsx( 'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
290  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
291  $ params, w, r, info )
292  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
293  infot = 6
294  CALL zsyrfsx( 'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
295  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
296  $ params, w, r, info )
297  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
298  infot = 8
299  CALL zsyrfsx( 'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
300  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
301  $ params, w, r, info )
302  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
303  infot = 12
304  CALL zsyrfsx( 'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
305  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
306  $ params, w, r, info )
307  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
308  infot = 14
309  CALL zsyrfsx( 'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
310  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
311  $ params, w, r, info )
312  CALL chkxer( 'ZSYRFSX', infot, nout, lerr, ok )
313 *
314 * ZSYCON
315 *
316  srnamt = 'ZSYCON'
317  infot = 1
318  CALL zsycon( '/', 0, a, 1, ip, anrm, rcond, w, info )
319  CALL chkxer( 'ZSYCON', infot, nout, lerr, ok )
320  infot = 2
321  CALL zsycon( 'U', -1, a, 1, ip, anrm, rcond, w, info )
322  CALL chkxer( 'ZSYCON', infot, nout, lerr, ok )
323  infot = 4
324  CALL zsycon( 'U', 2, a, 1, ip, anrm, rcond, w, info )
325  CALL chkxer( 'ZSYCON', infot, nout, lerr, ok )
326  infot = 6
327  CALL zsycon( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
328  CALL chkxer( 'ZSYCON', infot, nout, lerr, ok )
329 *
330  ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
331 *
332 * Test error exits of the routines that use factorization
333 * of a symmetric indefinite matrix with rook
334 * (bounded Bunch-Kaufman) diagonal pivoting method.
335 *
336 * ZSYTRF_ROOK
337 *
338  srnamt = 'ZSYTRF_ROOK'
339  infot = 1
340  CALL zsytrf_rook( '/', 0, a, 1, ip, w, 1, info )
341  CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
342  infot = 2
343  CALL zsytrf_rook( 'U', -1, a, 1, ip, w, 1, info )
344  CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
345  infot = 4
346  CALL zsytrf_rook( 'U', 2, a, 1, ip, w, 4, info )
347  CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
348  infot = 7
349  CALL zsytrf_rook( 'U', 0, a, 1, ip, w, 0, info )
350  CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
351  infot = 7
352  CALL zsytrf_rook( 'U', 0, a, 1, ip, w, -2, info )
353  CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
354 *
355 * ZSYTF2_ROOK
356 *
357  srnamt = 'ZSYTF2_ROOK'
358  infot = 1
359  CALL zsytf2_rook( '/', 0, a, 1, ip, info )
360  CALL chkxer( 'ZSYTF2_ROOK', infot, nout, lerr, ok )
361  infot = 2
362  CALL zsytf2_rook( 'U', -1, a, 1, ip, info )
363  CALL chkxer( 'ZSYTF2_ROOK', infot, nout, lerr, ok )
364  infot = 4
365  CALL zsytf2_rook( 'U', 2, a, 1, ip, info )
366  CALL chkxer( 'ZSYTF2_ROOK', infot, nout, lerr, ok )
367 *
368 * ZSYTRI_ROOK
369 *
370  srnamt = 'ZSYTRI_ROOK'
371  infot = 1
372  CALL zsytri_rook( '/', 0, a, 1, ip, w, info )
373  CALL chkxer( 'ZSYTRI_ROOK', infot, nout, lerr, ok )
374  infot = 2
375  CALL zsytri_rook( 'U', -1, a, 1, ip, w, info )
376  CALL chkxer( 'ZSYTRI_ROOK', infot, nout, lerr, ok )
377  infot = 4
378  CALL zsytri_rook( 'U', 2, a, 1, ip, w, info )
379  CALL chkxer( 'ZSYTRI_ROOK', infot, nout, lerr, ok )
380 *
381 * ZSYTRS_ROOK
382 *
383  srnamt = 'ZSYTRS_ROOK'
384  infot = 1
385  CALL zsytrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
386  CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
387  infot = 2
388  CALL zsytrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
389  CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
390  infot = 3
391  CALL zsytrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
392  CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
393  infot = 5
394  CALL zsytrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
395  CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
396  infot = 8
397  CALL zsytrs_rook( 'U', 2, 1, a, 2, ip, b, 1, info )
398  CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
399 *
400 * ZSYCON_ROOK
401 *
402  srnamt = 'ZSYCON_ROOK'
403  infot = 1
404  CALL zsycon_rook( '/', 0, a, 1, ip, anrm, rcond, w, info )
405  CALL chkxer( 'ZSYCON_ROOK', infot, nout, lerr, ok )
406  infot = 2
407  CALL zsycon_rook( 'U', -1, a, 1, ip, anrm, rcond, w, info )
408  CALL chkxer( 'ZSYCON_ROOK', infot, nout, lerr, ok )
409  infot = 4
410  CALL zsycon_rook( 'U', 2, a, 1, ip, anrm, rcond, w, info )
411  CALL chkxer( 'ZSYCON_ROOK', infot, nout, lerr, ok )
412  infot = 6
413  CALL zsycon_rook( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
414  CALL chkxer( 'ZSYCON_ROOK', infot, nout, lerr, ok )
415 *
416  ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
417 *
418 * Test error exits of the routines that use factorization
419 * of a symmetric indefinite matrix with rook
420 * (bounded Bunch-Kaufman) pivoting with the new storage
421 * format for factors L ( or U) and D.
422 *
423 * L (or U) is stored in A, diagonal of D is stored on the
424 * diagonal of A, subdiagonal of D is stored in a separate array E.
425 *
426 * ZSYTRF_RK
427 *
428  srnamt = 'ZSYTRF_RK'
429  infot = 1
430  CALL zsytrf_rk( '/', 0, a, 1, e, ip, w, 1, info )
431  CALL chkxer( 'ZSYTRF_RK', infot, nout, lerr, ok )
432  infot = 2
433  CALL zsytrf_rk( 'U', -1, a, 1, e, ip, w, 1, info )
434  CALL chkxer( 'ZSYTRF_RK', infot, nout, lerr, ok )
435  infot = 4
436  CALL zsytrf_rk( 'U', 2, a, 1, e, ip, w, 4, info )
437  CALL chkxer( 'ZSYTRF_RK', infot, nout, lerr, ok )
438  infot = 8
439  CALL zsytrf_rk( 'U', 0, a, 1, e, ip, w, 0, info )
440  CALL chkxer( 'ZSYTRF_RK', infot, nout, lerr, ok )
441  infot = 8
442  CALL zsytrf_rk( 'U', 0, a, 1, e, ip, w, -2, info )
443  CALL chkxer( 'ZSYTRF_RK', infot, nout, lerr, ok )
444 *
445 * ZSYTF2_RK
446 *
447  srnamt = 'ZSYTF2_RK'
448  infot = 1
449  CALL zsytf2_rk( '/', 0, a, 1, e, ip, info )
450  CALL chkxer( 'ZSYTF2_RK', infot, nout, lerr, ok )
451  infot = 2
452  CALL zsytf2_rk( 'U', -1, a, 1, e, ip, info )
453  CALL chkxer( 'ZSYTF2_RK', infot, nout, lerr, ok )
454  infot = 4
455  CALL zsytf2_rk( 'U', 2, a, 1, e, ip, info )
456  CALL chkxer( 'ZSYTF2_RK', infot, nout, lerr, ok )
457 *
458 * ZSYTRI_3
459 *
460  srnamt = 'ZSYTRI_3'
461  infot = 1
462  CALL zsytri_3( '/', 0, a, 1, e, ip, w, 1, info )
463  CALL chkxer( 'ZSYTRI_3', infot, nout, lerr, ok )
464  infot = 2
465  CALL zsytri_3( 'U', -1, a, 1, e, ip, w, 1, info )
466  CALL chkxer( 'ZSYTRI_3', infot, nout, lerr, ok )
467  infot = 4
468  CALL zsytri_3( 'U', 2, a, 1, e, ip, w, 1, info )
469  CALL chkxer( 'ZSYTRI_3', infot, nout, lerr, ok )
470  infot = 8
471  CALL zsytri_3( 'U', 0, a, 1, e, ip, w, 0, info )
472  CALL chkxer( 'ZSYTRI_3', infot, nout, lerr, ok )
473  infot = 8
474  CALL zsytri_3( 'U', 0, a, 1, e, ip, w, -2, info )
475  CALL chkxer( 'ZSYTRI_3', infot, nout, lerr, ok )
476 *
477 * ZSYTRI_3X
478 *
479  srnamt = 'ZSYTRI_3X'
480  infot = 1
481  CALL zsytri_3x( '/', 0, a, 1, e, ip, w, 1, info )
482  CALL chkxer( 'ZSYTRI_3X', infot, nout, lerr, ok )
483  infot = 2
484  CALL zsytri_3x( 'U', -1, a, 1, e, ip, w, 1, info )
485  CALL chkxer( 'ZSYTRI_3X', infot, nout, lerr, ok )
486  infot = 4
487  CALL zsytri_3x( 'U', 2, a, 1, e, ip, w, 1, info )
488  CALL chkxer( 'ZSYTRI_3X', infot, nout, lerr, ok )
489 *
490 * ZSYTRS_3
491 *
492  srnamt = 'ZSYTRS_3'
493  infot = 1
494  CALL zsytrs_3( '/', 0, 0, a, 1, e, ip, b, 1, info )
495  CALL chkxer( 'ZSYTRS_3', infot, nout, lerr, ok )
496  infot = 2
497  CALL zsytrs_3( 'U', -1, 0, a, 1, e, ip, b, 1, info )
498  CALL chkxer( 'ZSYTRS_3', infot, nout, lerr, ok )
499  infot = 3
500  CALL zsytrs_3( 'U', 0, -1, a, 1, e, ip, b, 1, info )
501  CALL chkxer( 'ZSYTRS_3', infot, nout, lerr, ok )
502  infot = 5
503  CALL zsytrs_3( 'U', 2, 1, a, 1, e, ip, b, 2, info )
504  CALL chkxer( 'ZSYTRS_3', infot, nout, lerr, ok )
505  infot = 9
506  CALL zsytrs_3( 'U', 2, 1, a, 2, e, ip, b, 1, info )
507  CALL chkxer( 'ZSYTRS_3', infot, nout, lerr, ok )
508 *
509 * ZSYCON_3
510 *
511  srnamt = 'ZSYCON_3'
512  infot = 1
513  CALL zsycon_3( '/', 0, a, 1, e, ip, anrm, rcond, w, info )
514  CALL chkxer( 'ZSYCON_3', infot, nout, lerr, ok )
515  infot = 2
516  CALL zsycon_3( 'U', -1, a, 1, e, ip, anrm, rcond, w, info )
517  CALL chkxer( 'ZSYCON_3', infot, nout, lerr, ok )
518  infot = 4
519  CALL zsycon_3( 'U', 2, a, 1, e, ip, anrm, rcond, w, info )
520  CALL chkxer( 'ZSYCON_3', infot, nout, lerr, ok )
521  infot = 7
522  CALL zsycon_3( 'U', 1, a, 1, e, ip, -1.0d0, rcond, w, info)
523  CALL chkxer( 'ZSYCON_3', infot, nout, lerr, ok )
524 *
525  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
526 *
527 * Test error exits of the routines that use factorization
528 * of a symmetric indefinite packed matrix with patrial
529 * (Bunch-Kaufman) pivoting.
530 *
531 * ZSPTRF
532 *
533  srnamt = 'ZSPTRF'
534  infot = 1
535  CALL zsptrf( '/', 0, a, ip, info )
536  CALL chkxer( 'ZSPTRF', infot, nout, lerr, ok )
537  infot = 2
538  CALL zsptrf( 'U', -1, a, ip, info )
539  CALL chkxer( 'ZSPTRF', infot, nout, lerr, ok )
540 *
541 * ZSPTRI
542 *
543  srnamt = 'ZSPTRI'
544  infot = 1
545  CALL zsptri( '/', 0, a, ip, w, info )
546  CALL chkxer( 'ZSPTRI', infot, nout, lerr, ok )
547  infot = 2
548  CALL zsptri( 'U', -1, a, ip, w, info )
549  CALL chkxer( 'ZSPTRI', infot, nout, lerr, ok )
550 *
551 * ZSPTRS
552 *
553  srnamt = 'ZSPTRS'
554  infot = 1
555  CALL zsptrs( '/', 0, 0, a, ip, b, 1, info )
556  CALL chkxer( 'ZSPTRS', infot, nout, lerr, ok )
557  infot = 2
558  CALL zsptrs( 'U', -1, 0, a, ip, b, 1, info )
559  CALL chkxer( 'ZSPTRS', infot, nout, lerr, ok )
560  infot = 3
561  CALL zsptrs( 'U', 0, -1, a, ip, b, 1, info )
562  CALL chkxer( 'ZSPTRS', infot, nout, lerr, ok )
563  infot = 7
564  CALL zsptrs( 'U', 2, 1, a, ip, b, 1, info )
565  CALL chkxer( 'ZSPTRS', infot, nout, lerr, ok )
566 *
567 * ZSPRFS
568 *
569  srnamt = 'ZSPRFS'
570  infot = 1
571  CALL zsprfs( '/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
572  $ info )
573  CALL chkxer( 'ZSPRFS', infot, nout, lerr, ok )
574  infot = 2
575  CALL zsprfs( 'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
576  $ info )
577  CALL chkxer( 'ZSPRFS', infot, nout, lerr, ok )
578  infot = 3
579  CALL zsprfs( 'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
580  $ info )
581  CALL chkxer( 'ZSPRFS', infot, nout, lerr, ok )
582  infot = 8
583  CALL zsprfs( 'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
584  $ info )
585  CALL chkxer( 'ZSPRFS', infot, nout, lerr, ok )
586  infot = 10
587  CALL zsprfs( 'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
588  $ info )
589  CALL chkxer( 'ZSPRFS', infot, nout, lerr, ok )
590 *
591 * ZSPCON
592 *
593  srnamt = 'ZSPCON'
594  infot = 1
595  CALL zspcon( '/', 0, a, ip, anrm, rcond, w, info )
596  CALL chkxer( 'ZSPCON', infot, nout, lerr, ok )
597  infot = 2
598  CALL zspcon( 'U', -1, a, ip, anrm, rcond, w, info )
599  CALL chkxer( 'ZSPCON', infot, nout, lerr, ok )
600  infot = 5
601  CALL zspcon( 'U', 1, a, ip, -anrm, rcond, w, info )
602  CALL chkxer( 'ZSPCON', 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 ZERRSYX
612 *
613  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine zerrsy(PATH, NUNIT)
ZERRSY
Definition: zerrsy.f:55
subroutine zsptri(UPLO, N, AP, IPIV, WORK, INFO)
ZSPTRI
Definition: zsptri.f:109
subroutine zsptrf(UPLO, N, AP, IPIV, INFO)
ZSPTRF
Definition: zsptrf.f:158
subroutine zsprfs(UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZSPRFS
Definition: zsprfs.f:180
subroutine zspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO)
ZSPCON
Definition: zspcon.f:118
subroutine zsptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPTRS
Definition: zsptrs.f:115
subroutine zsytf2(UPLO, N, A, LDA, IPIV, INFO)
ZSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
Definition: zsytf2.f:191
subroutine zsyrfsx(UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IPIV, S, B, LDB, X, LDX, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
ZSYRFSX
Definition: zsyrfsx.f:402
subroutine zsyrfs(UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZSYRFS
Definition: zsyrfs.f:192
subroutine zsytri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRI2
Definition: zsytri2.f:127
subroutine zsycon(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
ZSYCON
Definition: zsycon.f:125
subroutine zsycon_rook(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
ZSYCON_ROOK
Definition: zsycon_rook.f:139
subroutine zsytrs_3(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, INFO)
ZSYTRS_3
Definition: zsytrs_3.f:165
subroutine zsytrs_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZSYTRS_ROOK
Definition: zsytrs_rook.f:136
subroutine zsytf2_rk(UPLO, N, A, LDA, E, IPIV, INFO)
ZSYTF2_RK computes the factorization of a complex symmetric indefinite matrix using the bounded Bunch...
Definition: zsytf2_rk.f:241
subroutine zsytri_3x(UPLO, N, A, LDA, E, IPIV, WORK, NB, INFO)
ZSYTRI_3X
Definition: zsytri_3x.f:159
subroutine zsytf2_rook(UPLO, N, A, LDA, IPIV, INFO)
ZSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
Definition: zsytf2_rook.f:194
subroutine zsytri_3(UPLO, N, A, LDA, E, IPIV, WORK, LWORK, INFO)
ZSYTRI_3
Definition: zsytri_3.f:170
subroutine zsytri2x(UPLO, N, A, LDA, IPIV, WORK, NB, INFO)
ZSYTRI2X
Definition: zsytri2x.f:120
subroutine zsytri_rook(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZSYTRI_ROOK
Definition: zsytri_rook.f:129
subroutine zsytrf_rk(UPLO, N, A, LDA, E, IPIV, WORK, LWORK, INFO)
ZSYTRF_RK computes the factorization of a complex symmetric indefinite matrix using the bounded Bunch...
Definition: zsytrf_rk.f:259
subroutine zsytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF
Definition: zsytrf.f:182
subroutine zsycon_3(UPLO, N, A, LDA, E, IPIV, ANORM, RCOND, WORK, INFO)
ZSYCON_3
Definition: zsycon_3.f:166
subroutine zsytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZSYTRS
Definition: zsytrs.f:120
subroutine zsytri(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZSYTRI
Definition: zsytri.f:114
subroutine zsytrf_rook(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF_ROOK
Definition: zsytrf_rook.f:208