OpenRadioss 2025.1.11
OpenRadioss project
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 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
float cmplx[2]
Definition pblas.h:136
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3196
subroutine alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine csptri(uplo, n, ap, ipiv, work, info)
CSPTRI
Definition csptri.f:109
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 csprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
CSPRFS
Definition csprfs.f:180
subroutine csptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
CSPTRS
Definition csptrs.f:115
subroutine csytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS_ROOK
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 csytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF_ROOK
subroutine csytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS
Definition csytrs.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_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
CSYTRI_3
Definition csytri_3.f:170
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 csycon(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON
Definition csycon.f:125
subroutine csytri2x(uplo, n, a, lda, ipiv, work, nb, info)
CSYTRI2X
Definition csytri2x.f:120
subroutine csycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)
CSYCON_3
Definition csycon_3.f:166
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 csytrf(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF
Definition csytrf.f:182
subroutine csycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON_ROOK
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 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 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 csytri2(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRI2
Definition csytri2.f:127
subroutine csytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
CSYTRS_3
Definition csytrs_3.f:165
subroutine csytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
CSYTRI_3X
Definition csytri_3x.f:159
subroutine cerrsy(path, nunit)
CERRSY
Definition cerrsy.f:55