LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
cerrsyx.f
Go to the documentation of this file.
1 *> \brief \b CERRSYX
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 CERRSY( 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 *> CERRSY tests the error exits for the COMPLEX routines
25 *> for symmetric indefinite matrices.
26 *>
27 *> Note that this file is used only when the XBLAS are available,
28 *> otherwise cerrsy.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 complex_lin
55 *
56 * =====================================================================
57  SUBROUTINE cerrsy( 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  REAL ANRM, RCOND, BERR
79 * ..
80 * .. Local Arrays ..
81  INTEGER IP( NMAX )
82  REAL R( NMAX ), R1( NMAX ), R2( NMAX ),
83  $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
84  $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
85  COMPLEX 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, cspcon, csprfs, csptrf, csptri,
97  $ csytrs_rook
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 cmplx, real
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 ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
122  af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
123  10 CONTINUE
124  b( j ) = 0.e0
125  e( j ) = 0.e0
126  r1( j ) = 0.e0
127  r2( j ) = 0.e0
128  w( j ) = 0.e0
129  x( j ) = 0.e0
130  ip( j ) = j
131  20 CONTINUE
132  anrm = 1.0
133  ok = .true.
134 
135  IF( lsamen( 2, c2, 'SY' ) ) THEN
136 *
137 * Test error exits of the routines that use factorization
138 * of a symmetric indefinite matrix with patrial
139 * (Bunch-Kaufman) diagonal pivoting method.
140 *
141 * CSYTRF
142 *
143  srnamt = 'CSYTRF'
144  infot = 1
145  CALL csytrf( '/', 0, a, 1, ip, w, 1, info )
146  CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
147  infot = 2
148  CALL csytrf( 'U', -1, a, 1, ip, w, 1, info )
149  CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
150  infot = 4
151  CALL csytrf( 'U', 2, a, 1, ip, w, 4, info )
152  CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
153  infot = 7
154  CALL csytrf( 'U', 0, a, 1, ip, w, 0, info )
155  CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
156  infot = 7
157  CALL csytrf( 'U', 0, a, 1, ip, w, -2, info )
158  CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
159 *
160 * CSYTF2
161 *
162  srnamt = 'CSYTF2'
163  infot = 1
164  CALL csytf2( '/', 0, a, 1, ip, info )
165  CALL chkxer( 'CSYTF2', infot, nout, lerr, ok )
166  infot = 2
167  CALL csytf2( 'U', -1, a, 1, ip, info )
168  CALL chkxer( 'CSYTF2', infot, nout, lerr, ok )
169  infot = 4
170  CALL csytf2( 'U', 2, a, 1, ip, info )
171  CALL chkxer( 'CSYTF2', infot, nout, lerr, ok )
172 *
173 * CSYTRI
174 *
175  srnamt = 'CSYTRI'
176  infot = 1
177  CALL csytri( '/', 0, a, 1, ip, w, info )
178  CALL chkxer( 'CSYTRI', infot, nout, lerr, ok )
179  infot = 2
180  CALL csytri( 'U', -1, a, 1, ip, w, info )
181  CALL chkxer( 'CSYTRI', infot, nout, lerr, ok )
182  infot = 4
183  CALL csytri( 'U', 2, a, 1, ip, w, info )
184  CALL chkxer( 'CSYTRI', infot, nout, lerr, ok )
185 *
186 * CSYTRI2
187 *
188  srnamt = 'CSYTRI2'
189  infot = 1
190  CALL csytri2( '/', 0, a, 1, ip, w, 1, info )
191  CALL chkxer( 'CSYTRI2', infot, nout, lerr, ok )
192  infot = 2
193  CALL csytri2( 'U', -1, a, 1, ip, w, 1, info )
194  CALL chkxer( 'CSYTRI2', infot, nout, lerr, ok )
195  infot = 4
196  CALL csytri2( 'U', 2, a, 1, ip, w, 1, info )
197  CALL chkxer( 'CSYTRI2', infot, nout, lerr, ok )
198 *
199 * CSYTRI2X
200 *
201  srnamt = 'CSYTRI2X'
202  infot = 1
203  CALL csytri2x( '/', 0, a, 1, ip, w, 1, info )
204  CALL chkxer( 'CSYTRI2X', infot, nout, lerr, ok )
205  infot = 2
206  CALL csytri2x( 'U', -1, a, 1, ip, w, 1, info )
207  CALL chkxer( 'CSYTRI2X', infot, nout, lerr, ok )
208  infot = 4
209  CALL csytri2x( 'U', 2, a, 1, ip, w, 1, info )
210  CALL chkxer( 'CSYTRI2X', infot, nout, lerr, ok )
211 *
212 * CSYTRS
213 *
214  srnamt = 'CSYTRS'
215  infot = 1
216  CALL csytrs( '/', 0, 0, a, 1, ip, b, 1, info )
217  CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
218  infot = 2
219  CALL csytrs( 'U', -1, 0, a, 1, ip, b, 1, info )
220  CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
221  infot = 3
222  CALL csytrs( 'U', 0, -1, a, 1, ip, b, 1, info )
223  CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
224  infot = 5
225  CALL csytrs( 'U', 2, 1, a, 1, ip, b, 2, info )
226  CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
227  infot = 8
228  CALL csytrs( 'U', 2, 1, a, 2, ip, b, 1, info )
229  CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
230 *
231 * CSYRFS
232 *
233  srnamt = 'CSYRFS'
234  infot = 1
235  CALL csyrfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
236  $ r, info )
237  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
238  infot = 2
239  CALL csyrfs( 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
240  $ w, r, info )
241  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
242  infot = 3
243  CALL csyrfs( 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
244  $ w, r, info )
245  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
246  infot = 5
247  CALL csyrfs( 'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
248  $ r, info )
249  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
250  infot = 7
251  CALL csyrfs( 'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
252  $ r, info )
253  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
254  infot = 10
255  CALL csyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
256  $ r, info )
257  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
258  infot = 12
259  CALL csyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
260  $ r, info )
261  CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
262 *
263 * CSYRFSX
264 *
265  n_err_bnds = 3
266  nparams = 0
267  srnamt = 'CSYRFSX'
268  infot = 1
269  CALL csyrfsx( '/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
270  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
271  $ params, w, r, info )
272  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
273  infot = 2
274  CALL csyrfsx( 'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
275  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
276  $ params, w, r, info )
277  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
278  eq = 'N'
279  infot = 3
280  CALL csyrfsx( 'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
281  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
282  $ params, w, r, info )
283  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
284  infot = 4
285  CALL csyrfsx( 'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
286  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
287  $ params, w, r, info )
288  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
289  infot = 6
290  CALL csyrfsx( 'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
291  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
292  $ params, w, r, info )
293  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
294  infot = 8
295  CALL csyrfsx( 'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
296  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
297  $ params, w, r, info )
298  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
299  infot = 12
300  CALL csyrfsx( 'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
301  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
302  $ params, w, r, info )
303  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
304  infot = 14
305  CALL csyrfsx( 'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
306  $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
307  $ params, w, r, info )
308  CALL chkxer( 'CSYRFSX', infot, nout, lerr, ok )
309 *
310 * CSYCON
311 *
312  srnamt = 'CSYCON'
313  infot = 1
314  CALL csycon( '/', 0, a, 1, ip, anrm, rcond, w, info )
315  CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
316  infot = 2
317  CALL csycon( 'U', -1, a, 1, ip, anrm, rcond, w, info )
318  CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
319  infot = 4
320  CALL csycon( 'U', 2, a, 1, ip, anrm, rcond, w, info )
321  CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
322  infot = 6
323  CALL csycon( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
324  CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
325 *
326  ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
327 *
328 * Test error exits of the routines that use factorization
329 * of a symmetric indefinite matrix with rook
330 * (bounded Bunch-Kaufman) diagonal pivoting method.
331 *
332 * CSYTRF_ROOK
333 *
334  srnamt = 'CSYTRF_ROOK'
335  infot = 1
336  CALL csytrf_rook( '/', 0, a, 1, ip, w, 1, info )
337  CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
338  infot = 2
339  CALL csytrf_rook( 'U', -1, a, 1, ip, w, 1, info )
340  CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
341  infot = 4
342  CALL csytrf_rook( 'U', 2, a, 1, ip, w, 4, info )
343  CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
344  infot = 7
345  CALL csytrf_rook( 'U', 0, a, 1, ip, w, 0, info )
346  CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
347  infot = 7
348  CALL csytrf_rook( 'U', 0, a, 1, ip, w, -2, info )
349  CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
350 *
351 * CSYTF2_ROOK
352 *
353  srnamt = 'CSYTF2_ROOK'
354  infot = 1
355  CALL csytf2_rook( '/', 0, a, 1, ip, info )
356  CALL chkxer( 'CSYTF2_ROOK', infot, nout, lerr, ok )
357  infot = 2
358  CALL csytf2_rook( 'U', -1, a, 1, ip, info )
359  CALL chkxer( 'CSYTF2_ROOK', infot, nout, lerr, ok )
360  infot = 4
361  CALL csytf2_rook( 'U', 2, a, 1, ip, info )
362  CALL chkxer( 'CSYTF2_ROOK', infot, nout, lerr, ok )
363 *
364 * CSYTRI_ROOK
365 *
366  srnamt = 'CSYTRI_ROOK'
367  infot = 1
368  CALL csytri_rook( '/', 0, a, 1, ip, w, info )
369  CALL chkxer( 'CSYTRI_ROOK', infot, nout, lerr, ok )
370  infot = 2
371  CALL csytri_rook( 'U', -1, a, 1, ip, w, info )
372  CALL chkxer( 'CSYTRI_ROOK', infot, nout, lerr, ok )
373  infot = 4
374  CALL csytri_rook( 'U', 2, a, 1, ip, w, info )
375  CALL chkxer( 'CSYTRI_ROOK', infot, nout, lerr, ok )
376 *
377 * CSYTRS_ROOK
378 *
379  srnamt = 'CSYTRS_ROOK'
380  infot = 1
381  CALL csytrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
382  CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
383  infot = 2
384  CALL csytrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
385  CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
386  infot = 3
387  CALL csytrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
388  CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
389  infot = 5
390  CALL csytrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
391  CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
392  infot = 8
393  CALL csytrs_rook( 'U', 2, 1, a, 2, ip, b, 1, info )
394  CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
395 *
396 * CSYCON_ROOK
397 *
398  srnamt = 'CSYCON_ROOK'
399  infot = 1
400  CALL csycon_rook( '/', 0, a, 1, ip, anrm, rcond, w, info )
401  CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
402  infot = 2
403  CALL csycon_rook( 'U', -1, a, 1, ip, anrm, rcond, w, info )
404  CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
405  infot = 4
406  CALL csycon_rook( 'U', 2, a, 1, ip, anrm, rcond, w, info )
407  CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
408  infot = 6
409  CALL csycon_rook( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
410  CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
411 *
412  ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
413 *
414 * Test error exits of the routines that use factorization
415 * of a symmetric indefinite matrix with rook
416 * (bounded Bunch-Kaufman) pivoting with the new storage
417 * format for factors L ( or U) and D.
418 *
419 * L (or U) is stored in A, diagonal of D is stored on the
420 * diagonal of A, subdiagonal of D is stored in a separate array E.
421 *
422 * CSYTRF_RK
423 *
424  srnamt = 'CSYTRF_RK'
425  infot = 1
426  CALL csytrf_rk( '/', 0, a, 1, e, ip, w, 1, info )
427  CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
428  infot = 2
429  CALL csytrf_rk( 'U', -1, a, 1, e, ip, w, 1, info )
430  CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
431  infot = 4
432  CALL csytrf_rk( 'U', 2, a, 1, e, ip, w, 4, info )
433  CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
434  infot = 8
435  CALL csytrf_rk( 'U', 0, a, 1, e, ip, w, 0, info )
436  CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
437  infot = 8
438  CALL csytrf_rk( 'U', 0, a, 1, e, ip, w, -2, info )
439  CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
440 *
441 * CSYTF2_RK
442 *
443  srnamt = 'CSYTF2_RK'
444  infot = 1
445  CALL csytf2_rk( '/', 0, a, 1, e, ip, info )
446  CALL chkxer( 'CSYTF2_RK', infot, nout, lerr, ok )
447  infot = 2
448  CALL csytf2_rk( 'U', -1, a, 1, e, ip, info )
449  CALL chkxer( 'CSYTF2_RK', infot, nout, lerr, ok )
450  infot = 4
451  CALL csytf2_rk( 'U', 2, a, 1, e, ip, info )
452  CALL chkxer( 'CSYTF2_RK', infot, nout, lerr, ok )
453 *
454 * CSYTRI_3
455 *
456  srnamt = 'CSYTRI_3'
457  infot = 1
458  CALL csytri_3( '/', 0, a, 1, e, ip, w, 1, info )
459  CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
460  infot = 2
461  CALL csytri_3( 'U', -1, a, 1, e, ip, w, 1, info )
462  CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
463  infot = 4
464  CALL csytri_3( 'U', 2, a, 1, e, ip, w, 1, info )
465  CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
466  infot = 8
467  CALL csytri_3( 'U', 0, a, 1, e, ip, w, 0, info )
468  CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
469  infot = 8
470  CALL csytri_3( 'U', 0, a, 1, e, ip, w, -2, info )
471  CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
472 *
473 * CSYTRI_3X
474 *
475  srnamt = 'CSYTRI_3X'
476  infot = 1
477  CALL csytri_3x( '/', 0, a, 1, e, ip, w, 1, info )
478  CALL chkxer( 'CSYTRI_3X', infot, nout, lerr, ok )
479  infot = 2
480  CALL csytri_3x( 'U', -1, a, 1, e, ip, w, 1, info )
481  CALL chkxer( 'CSYTRI_3X', infot, nout, lerr, ok )
482  infot = 4
483  CALL csytri_3x( 'U', 2, a, 1, e, ip, w, 1, info )
484  CALL chkxer( 'CSYTRI_3X', infot, nout, lerr, ok )
485 *
486 * CSYTRS_3
487 *
488  srnamt = 'CSYTRS_3'
489  infot = 1
490  CALL csytrs_3( '/', 0, 0, a, 1, e, ip, b, 1, info )
491  CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
492  infot = 2
493  CALL csytrs_3( 'U', -1, 0, a, 1, e, ip, b, 1, info )
494  CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
495  infot = 3
496  CALL csytrs_3( 'U', 0, -1, a, 1, e, ip, b, 1, info )
497  CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
498  infot = 5
499  CALL csytrs_3( 'U', 2, 1, a, 1, e, ip, b, 2, info )
500  CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
501  infot = 9
502  CALL csytrs_3( 'U', 2, 1, a, 2, e, ip, b, 1, info )
503  CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
504 *
505 * CSYCON_3
506 *
507  srnamt = 'CSYCON_3'
508  infot = 1
509  CALL csycon_3( '/', 0, a, 1, e, ip, anrm, rcond, w, info )
510  CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
511  infot = 2
512  CALL csycon_3( 'U', -1, a, 1, e, ip, anrm, rcond, w, info )
513  CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
514  infot = 4
515  CALL csycon_3( 'U', 2, a, 1, e, ip, anrm, rcond, w, info )
516  CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
517  infot = 7
518  CALL csycon_3( 'U', 1, a, 1, e, ip, -1.0e0, rcond, w, info)
519  CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
520 *
521  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
522 *
523 * Test error exits of the routines that use factorization
524 * of a symmetric indefinite packed matrix with patrial
525 * (Bunch-Kaufman) diagonal pivoting method.
526 *
527 * CSPTRF
528 *
529  srnamt = 'CSPTRF'
530  infot = 1
531  CALL csptrf( '/', 0, a, ip, info )
532  CALL chkxer( 'CSPTRF', infot, nout, lerr, ok )
533  infot = 2
534  CALL csptrf( 'U', -1, a, ip, info )
535  CALL chkxer( 'CSPTRF', infot, nout, lerr, ok )
536 *
537 * CSPTRI
538 *
539  srnamt = 'CSPTRI'
540  infot = 1
541  CALL csptri( '/', 0, a, ip, w, info )
542  CALL chkxer( 'CSPTRI', infot, nout, lerr, ok )
543  infot = 2
544  CALL csptri( 'U', -1, a, ip, w, info )
545  CALL chkxer( 'CSPTRI', infot, nout, lerr, ok )
546 *
547 * CSPTRS
548 *
549  srnamt = 'CSPTRS'
550  infot = 1
551  CALL csptrs( '/', 0, 0, a, ip, b, 1, info )
552  CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
553  infot = 2
554  CALL csptrs( 'U', -1, 0, a, ip, b, 1, info )
555  CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
556  infot = 3
557  CALL csptrs( 'U', 0, -1, a, ip, b, 1, info )
558  CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
559  infot = 7
560  CALL csptrs( 'U', 2, 1, a, ip, b, 1, info )
561  CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
562 *
563 * CSPRFS
564 *
565  srnamt = 'CSPRFS'
566  infot = 1
567  CALL csprfs( '/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
568  $ info )
569  CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
570  infot = 2
571  CALL csprfs( 'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
572  $ info )
573  CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
574  infot = 3
575  CALL csprfs( 'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
576  $ info )
577  CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
578  infot = 8
579  CALL csprfs( 'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
580  $ info )
581  CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
582  infot = 10
583  CALL csprfs( 'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
584  $ info )
585  CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
586 *
587 * CSPCON
588 *
589  srnamt = 'CSPCON'
590  infot = 1
591  CALL cspcon( '/', 0, a, ip, anrm, rcond, w, info )
592  CALL chkxer( 'CSPCON', infot, nout, lerr, ok )
593  infot = 2
594  CALL cspcon( 'U', -1, a, ip, anrm, rcond, w, info )
595  CALL chkxer( 'CSPCON', infot, nout, lerr, ok )
596  infot = 5
597  CALL cspcon( 'U', 1, a, ip, -anrm, rcond, w, info )
598  CALL chkxer( 'CSPCON', infot, nout, lerr, ok )
599  END IF
600 *
601 * Print a summary line.
602 *
603  CALL alaesm( path, ok, nout )
604 *
605  RETURN
606 *
607 * End of CERRSYX
608 *
609  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine cerrsy(PATH, NUNIT)
CERRSY
Definition: cerrsy.f:55
subroutine csprfs(UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CSPRFS
Definition: csprfs.f:180
subroutine csptri(UPLO, N, AP, IPIV, WORK, INFO)
CSPTRI
Definition: csptri.f:109
subroutine csptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPTRS
Definition: csptrs.f:115
subroutine csptrf(UPLO, N, AP, IPIV, INFO)
CSPTRF
Definition: csptrf.f:158
subroutine cspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO)
CSPCON
Definition: cspcon.f:118
subroutine csytf2(UPLO, N, A, LDA, IPIV, INFO)
CSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
Definition: csytf2.f:191
subroutine csyrfsx(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)
CSYRFSX
Definition: csyrfsx.f:402
subroutine csyrfs(UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CSYRFS
Definition: csyrfs.f:192
subroutine csycon_rook(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
CSYCON_ROOK
Definition: csycon_rook.f:139
subroutine csytri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
CSYTRI2
Definition: csytri2.f:127
subroutine csytri_3(UPLO, N, A, LDA, E, IPIV, WORK, LWORK, INFO)
CSYTRI_3
Definition: csytri_3.f:170
subroutine csytf2_rk(UPLO, N, A, LDA, E, IPIV, INFO)
CSYTF2_RK computes the factorization of a complex symmetric indefinite matrix using the bounded Bunch...
Definition: csytf2_rk.f:241
subroutine csycon_3(UPLO, N, A, LDA, E, IPIV, ANORM, RCOND, WORK, INFO)
CSYCON_3
Definition: csycon_3.f:166
subroutine csytrs_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CSYTRS_ROOK
Definition: csytrs_rook.f:136
subroutine csycon(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
CSYCON
Definition: csycon.f:125
subroutine csytri(UPLO, N, A, LDA, IPIV, WORK, INFO)
CSYTRI
Definition: csytri.f:114
subroutine csytf2_rook(UPLO, N, A, LDA, IPIV, INFO)
CSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
Definition: csytf2_rook.f:194
subroutine csytrf_rook(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
CSYTRF_ROOK
Definition: csytrf_rook.f:208
subroutine csytri_3x(UPLO, N, A, LDA, E, IPIV, WORK, NB, INFO)
CSYTRI_3X
Definition: csytri_3x.f:159
subroutine csytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CSYTRS
Definition: csytrs.f:120
subroutine csytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
CSYTRF
Definition: csytrf.f:182
subroutine csytri2x(UPLO, N, A, LDA, IPIV, WORK, NB, INFO)
CSYTRI2X
Definition: csytri2x.f:120
subroutine csytrf_rk(UPLO, N, A, LDA, E, IPIV, WORK, LWORK, INFO)
CSYTRF_RK computes the factorization of a complex symmetric indefinite matrix using the bounded Bunch...
Definition: csytrf_rk.f:259
subroutine csytri_rook(UPLO, N, A, LDA, IPIV, WORK, INFO)
CSYTRI_ROOK
Definition: csytri_rook.f:129
subroutine csytrs_3(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, INFO)
CSYTRS_3
Definition: csytrs_3.f:165