LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
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,
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 partial
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 partial
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 alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3224
subroutine cerrsy(path, nunit)
CERRSY
Definition cerrsy.f:55
subroutine csycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)
CSYCON_3
Definition csycon_3.f:166
subroutine csycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON_ROOK
subroutine csycon(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON
Definition csycon.f:125
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 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 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 csytf2_rook(uplo, n, a, lda, ipiv, info)
CSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
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 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 csytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF_ROOK
subroutine csytrf(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF
Definition csytrf.f:182
subroutine csytri2(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRI2
Definition csytri2.f:127
subroutine csytri2x(uplo, n, a, lda, ipiv, work, nb, info)
CSYTRI2X
Definition csytri2x.f:120
subroutine csytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
CSYTRI_3
Definition csytri_3.f:170
subroutine csytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
CSYTRI_3X
Definition csytri_3x.f:159
subroutine csytri_rook(uplo, n, a, lda, ipiv, work, info)
CSYTRI_ROOK
subroutine csytri(uplo, n, a, lda, ipiv, work, info)
CSYTRI
Definition csytri.f:114
subroutine csytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
CSYTRS_3
Definition csytrs_3.f:165
subroutine csytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS_ROOK
subroutine csytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS
Definition csytrs.f:120
subroutine cspcon(uplo, n, ap, ipiv, anorm, rcond, work, info)
CSPCON
Definition cspcon.f:118
subroutine csprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
CSPRFS
Definition csprfs.f:180
subroutine csptrf(uplo, n, ap, ipiv, info)
CSPTRF
Definition csptrf.f:158
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