OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
zerrsy.f
Go to the documentation of this file.
1*> \brief \b ZERRSY
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*> \endverbatim
27*
28* Arguments:
29* ==========
30*
31*> \param[in] PATH
32*> \verbatim
33*> PATH is CHARACTER*3
34*> The LAPACK path name for the routines to be tested.
35*> \endverbatim
36*>
37*> \param[in] NUNIT
38*> \verbatim
39*> NUNIT is INTEGER
40*> The unit number for output.
41*> \endverbatim
42*
43* Authors:
44* ========
45*
46*> \author Univ. of Tennessee
47*> \author Univ. of California Berkeley
48*> \author Univ. of Colorado Denver
49*> \author NAG Ltd.
50*
51*> \ingroup complex16_lin
52*
53* =====================================================================
54 SUBROUTINE zerrsy( PATH, NUNIT )
55*
56* -- LAPACK test routine --
57* -- LAPACK is a software package provided by Univ. of Tennessee, --
58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
59*
60* .. Scalar Arguments ..
61 CHARACTER*3 PATH
62 INTEGER NUNIT
63* ..
64*
65* =====================================================================
66*
67* .. Parameters ..
68 INTEGER NMAX
69 parameter( nmax = 4 )
70* ..
71* .. Local Scalars ..
72 CHARACTER*2 C2
73 INTEGER I, INFO, J
74 DOUBLE PRECISION ANRM, RCOND
75* ..
76* .. Local Arrays ..
77 INTEGER IP( NMAX )
78 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX )
79 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
80 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
81* ..
82* .. External Functions ..
83 LOGICAL LSAMEN
84 EXTERNAL lsamen
85* ..
86* .. External Subroutines ..
87 EXTERNAL alaesm, chkxer, zspcon, zsprfs, zsptrf, zsptri,
93* ..
94* .. Scalars in Common ..
95 LOGICAL LERR, OK
96 CHARACTER*32 SRNAMT
97 INTEGER INFOT, NOUT
98* ..
99* .. Common blocks ..
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
102* ..
103* .. Intrinsic Functions ..
104 INTRINSIC dble, dcmplx
105* ..
106* .. Executable Statements ..
107*
108 nout = nunit
109 WRITE( nout, fmt = * )
110 c2 = path( 2: 3 )
111*
112* Set the variables to innocuous values.
113*
114 DO 20 j = 1, nmax
115 DO 10 i = 1, nmax
116 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
117 $ -1.d0 / dble( i+j ) )
118 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
119 $ -1.d0 / dble( i+j ) )
120 10 CONTINUE
121 b( j ) = 0.d0
122 e( j ) = 0.d0
123 r1( j ) = 0.d0
124 r2( j ) = 0.d0
125 w( j ) = 0.d0
126 x( j ) = 0.d0
127 ip( j ) = j
128 20 CONTINUE
129 anrm = 1.0d0
130 ok = .true.
131*
132 IF( lsamen( 2, c2, 'SY' ) ) THEN
133*
134* Test error exits of the routines that use factorization
135* of a symmetric indefinite matrix with patrial
136* (Bunch-Kaufman) diagonal pivoting method.
137*
138* ZSYTRF
139*
140 srnamt = 'ZSYTRF'
141 infot = 1
142 CALL zsytrf( '/', 0, a, 1, ip, w, 1, info )
143 CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
144 infot = 2
145 CALL zsytrf( 'U', -1, a, 1, ip, w, 1, info )
146 CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
147 infot = 4
148 CALL zsytrf( 'U', 2, a, 1, ip, w, 4, info )
149 CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
150 infot = 7
151 CALL zsytrf( 'U', 0, a, 1, ip, w, 0, info )
152 CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
153 infot = 7
154 CALL zsytrf( 'U', 0, a, 1, ip, w, -2, info )
155 CALL chkxer( 'ZSYTRF', infot, nout, lerr, ok )
156*
157* ZSYTF2
158*
159 srnamt = 'ZSYTF2'
160 infot = 1
161 CALL zsytf2( '/', 0, a, 1, ip, info )
162 CALL chkxer( 'ZSYTF2', infot, nout, lerr, ok )
163 infot = 2
164 CALL zsytf2( 'U', -1, a, 1, ip, info )
165 CALL chkxer( 'ZSYTF2', infot, nout, lerr, ok )
166 infot = 4
167 CALL zsytf2( 'U', 2, a, 1, ip, info )
168 CALL chkxer( 'ZSYTF2', infot, nout, lerr, ok )
169*
170* ZSYTRI
171*
172 srnamt = 'ZSYTRI'
173 infot = 1
174 CALL zsytri( '/', 0, a, 1, ip, w, info )
175 CALL chkxer( 'ZSYTRI', infot, nout, lerr, ok )
176 infot = 2
177 CALL zsytri( 'U', -1, a, 1, ip, w, info )
178 CALL chkxer( 'ZSYTRI', infot, nout, lerr, ok )
179 infot = 4
180 CALL zsytri( 'U', 2, a, 1, ip, w, info )
181 CALL chkxer( 'ZSYTRI', infot, nout, lerr, ok )
182*
183* ZSYTRI2
184*
185 srnamt = 'ZSYTRI2'
186 infot = 1
187 CALL zsytri2( '/', 0, a, 1, ip, w, 1, info )
188 CALL chkxer( 'ZSYTRI2', infot, nout, lerr, ok )
189 infot = 2
190 CALL zsytri2( 'U', -1, a, 1, ip, w, 1, info )
191 CALL chkxer( 'ZSYTRI2', infot, nout, lerr, ok )
192 infot = 4
193 CALL zsytri2( 'U', 2, a, 1, ip, w, 1, info )
194 CALL chkxer( 'ZSYTRI2', infot, nout, lerr, ok )
195*
196* ZSYTRI2X
197*
198 srnamt = 'ZSYTRI2X'
199 infot = 1
200 CALL zsytri2x( '/', 0, a, 1, ip, w, 1, info )
201 CALL chkxer( 'ZSYTRI2X', infot, nout, lerr, ok )
202 infot = 2
203 CALL zsytri2x( 'U', -1, a, 1, ip, w, 1, info )
204 CALL chkxer( 'ZSYTRI2X', infot, nout, lerr, ok )
205 infot = 4
206 CALL zsytri2x( 'U', 2, a, 1, ip, w, 1, info )
207 CALL chkxer( 'ZSYTRI2X', infot, nout, lerr, ok )
208*
209* ZSYTRS
210*
211 srnamt = 'ZSYTRS'
212 infot = 1
213 CALL zsytrs( '/', 0, 0, a, 1, ip, b, 1, info )
214 CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
215 infot = 2
216 CALL zsytrs( 'U', -1, 0, a, 1, ip, b, 1, info )
217 CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
218 infot = 3
219 CALL zsytrs( 'U', 0, -1, a, 1, ip, b, 1, info )
220 CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
221 infot = 5
222 CALL zsytrs( 'U', 2, 1, a, 1, ip, b, 2, info )
223 CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
224 infot = 8
225 CALL zsytrs( 'U', 2, 1, a, 2, ip, b, 1, info )
226 CALL chkxer( 'ZSYTRS', infot, nout, lerr, ok )
227*
228* ZSYRFS
229*
230 srnamt = 'ZSYRFS'
231 infot = 1
232 CALL zsyrfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
233 $ r, info )
234 CALL chkxer( 'zsyrfs', INFOT, NOUT, LERR, OK )
235 INFOT = 2
236 CALL ZSYRFS( 'u', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
237 $ W, R, INFO )
238 CALL CHKXER( 'zsyrfs', INFOT, NOUT, LERR, OK )
239 INFOT = 3
240 CALL ZSYRFS( 'u', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
241 $ W, R, INFO )
242 CALL CHKXER( 'zsyrfs', INFOT, NOUT, LERR, OK )
243 INFOT = 5
244 CALL ZSYRFS( 'u', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W,
245 $ R, INFO )
246 CALL CHKXER( 'zsyrfs', INFOT, NOUT, LERR, OK )
247 INFOT = 7
248 CALL ZSYRFS( 'u', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W,
249 $ R, INFO )
250 CALL CHKXER( 'zsyrfs', INFOT, NOUT, LERR, OK )
251 INFOT = 10
252 CALL ZSYRFS( 'u', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W,
253 $ R, INFO )
254 CALL CHKXER( 'zsyrfs', INFOT, NOUT, LERR, OK )
255 INFOT = 12
256 CALL ZSYRFS( 'u', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W,
257 $ R, INFO )
258 CALL CHKXER( 'zsyrfs', INFOT, NOUT, LERR, OK )
259*
260* ZSYCON
261*
262 SRNAMT = 'zsycon'
263 INFOT = 1
264 CALL ZSYCON( '/', 0, A, 1, IP, ANRM, RCOND, W, INFO )
265 CALL CHKXER( 'zsycon', INFOT, NOUT, LERR, OK )
266 INFOT = 2
267 CALL ZSYCON( 'u', -1, A, 1, IP, ANRM, RCOND, W, INFO )
268 CALL CHKXER( 'zsycon', INFOT, NOUT, LERR, OK )
269 INFOT = 4
270 CALL ZSYCON( 'u', 2, A, 1, IP, ANRM, RCOND, W, INFO )
271 CALL CHKXER( 'zsycon', INFOT, NOUT, LERR, OK )
272 INFOT = 6
273 CALL ZSYCON( 'u', 1, A, 1, IP, -ANRM, RCOND, W, INFO )
274 CALL CHKXER( 'zsycon', INFOT, NOUT, LERR, OK )
275*
276 ELSE IF( LSAMEN( 2, C2, 'sr' ) ) THEN
277*
278* Test error exits of the routines that use factorization
279* of a symmetric indefinite matrix with rook
280* (bounded Bunch-Kaufman) diagonal pivoting method.
281*
282* ZSYTRF_ROOK
283*
284 SRNAMT = 'zsytrf_rook'
285 INFOT = 1
286 CALL ZSYTRF_ROOK( '/', 0, A, 1, IP, W, 1, INFO )
287 CALL CHKXER( 'zsytrf_rook', INFOT, NOUT, LERR, OK )
288 INFOT = 2
289 CALL ZSYTRF_ROOK( 'u', -1, a, 1, ip, w, 1, info )
290 CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
291 infot = 4
292 CALL zsytrf_rook( 'U', 2, a, 1, ip, w, 4, info )
293 CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
294 infot = 7
295 CALL zsytrf_rook( 'U', 0, a, 1, ip, w, 0, info )
296 CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
297 infot = 7
298 CALL zsytrf_rook( 'U', 0, a, 1, ip, w, -2, info )
299 CALL chkxer( 'ZSYTRF_ROOK', infot, nout, lerr, ok )
300*
301* ZSYTF2_ROOK
302*
303 srnamt = 'ZSYTF2_ROOK'
304 infot = 1
305 CALL zsytf2_rook( '/', 0, a, 1, ip, info )
306 CALL chkxer( 'ZSYTF2_ROOK', infot, nout, lerr, ok )
307 infot = 2
308 CALL zsytf2_rook( 'U', -1, a, 1, ip, info )
309 CALL chkxer( 'ZSYTF2_ROOK', infot, nout, lerr, ok )
310 infot = 4
311 CALL zsytf2_rook( 'U', 2, a, 1, ip, info )
312 CALL chkxer( 'ZSYTF2_ROOK', infot, nout, lerr, ok )
313*
314* ZSYTRI_ROOK
315*
316 srnamt = 'ZSYTRI_ROOK'
317 infot = 1
318 CALL zsytri_rook( '/', 0, a, 1, ip, w, info )
319 CALL chkxer( 'ZSYTRI_ROOK', infot, nout, lerr, ok )
320 infot = 2
321 CALL zsytri_rook( 'U', -1, a, 1, ip, w, info )
322 CALL chkxer( 'ZSYTRI_ROOK', infot, nout, lerr, ok )
323 infot = 4
324 CALL zsytri_rook( 'U', 2, a, 1, ip, w, info )
325 CALL chkxer( 'ZSYTRI_ROOK', infot, nout, lerr, ok )
326*
327* ZSYTRS_ROOK
328*
329 srnamt = 'ZSYTRS_ROOK'
330 infot = 1
331 CALL zsytrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
332 CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
333 infot = 2
334 CALL zsytrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
335 CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
336 infot = 3
337 CALL zsytrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
338 CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
339 infot = 5
340 CALL zsytrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
341 CALL chkxer( 'ZSYTRS_ROOK', infot, nout, lerr, ok )
342 infot = 8
343 CALL zsytrs_rook( 'u', 2, 1, A, 2, IP, B, 1, INFO )
344 CALL CHKXER( 'zsytrs_rook', INFOT, NOUT, LERR, OK )
345*
346* ZSYCON_ROOK
347*
348 SRNAMT = 'zsycon_rook'
349 INFOT = 1
350 CALL ZSYCON_ROOK( '/', 0, A, 1, IP, ANRM, RCOND, W, INFO )
351 CALL CHKXER( 'zsycon_rook', INFOT, NOUT, LERR, OK )
352 INFOT = 2
353 CALL ZSYCON_ROOK( 'u', -1, A, 1, IP, ANRM, RCOND, W, INFO )
354 CALL CHKXER( 'zsycon_rook', INFOT, NOUT, LERR, OK )
355 INFOT = 4
356 CALL ZSYCON_ROOK( 'u', 2, A, 1, IP, ANRM, RCOND, W, INFO )
357 CALL CHKXER( 'zsycon_rook', INFOT, NOUT, LERR, OK )
358 INFOT = 6
359 CALL ZSYCON_ROOK( 'u', 1, A, 1, IP, -ANRM, RCOND, W, INFO )
360 CALL CHKXER( 'zsycon_rook', INFOT, NOUT, LERR, OK )
361*
362 ELSE IF( LSAMEN( 2, C2, 'sk' ) ) THEN
363*
364* Test error exits of the routines that use factorization
365* of a symmetric indefinite matrix with rook
366* (bounded Bunch-Kaufman) pivoting with the new storage
367* format for factors L ( or U) and D.
368*
369* L (or U) is stored in A, diagonal of D is stored on the
370* diagonal of A, subdiagonal of D is stored in a separate array E.
371*
372* ZSYTRF_RK
373*
374 SRNAMT = 'zsytrf_rk'
375 INFOT = 1
376 CALL ZSYTRF_RK( '/', 0, A, 1, E, IP, W, 1, INFO )
377 CALL CHKXER( 'zsytrf_rk', INFOT, NOUT, LERR, OK )
378 INFOT = 2
379 CALL ZSYTRF_RK( 'u', -1, A, 1, E, IP, W, 1, INFO )
380 CALL CHKXER( 'zsytrf_rk', INFOT, NOUT, LERR, OK )
381 INFOT = 4
382 CALL ZSYTRF_RK( 'u', 2, A, 1, E, IP, W, 4, INFO )
383 CALL CHKXER( 'zsytrf_rk', INFOT, NOUT, LERR, OK )
384 INFOT = 8
385 CALL ZSYTRF_RK( 'u', 0, A, 1, E, IP, W, 0, INFO )
386 CALL CHKXER( 'zsytrf_rk', INFOT, NOUT, LERR, OK )
387 INFOT = 8
388 CALL ZSYTRF_RK( 'u', 0, A, 1, E, IP, W, -2, INFO )
389 CALL CHKXER( 'zsytrf_rk', INFOT, NOUT, LERR, OK )
390*
391* ZSYTF2_RK
392*
393 SRNAMT = 'zsytf2_rk'
394 INFOT = 1
395 CALL ZSYTF2_RK( '/', 0, A, 1, E, IP, INFO )
396 CALL CHKXER( 'zsytf2_rk', INFOT, NOUT, LERR, OK )
397 INFOT = 2
398 CALL ZSYTF2_RK( 'u', -1, A, 1, E, IP, INFO )
399 CALL CHKXER( 'zsytf2_rk', INFOT, NOUT, LERR, OK )
400 INFOT = 4
401 CALL ZSYTF2_RK( 'u', 2, A, 1, E, IP, INFO )
402 CALL CHKXER( 'zsytf2_rk', INFOT, NOUT, LERR, OK )
403*
404* ZSYTRI_3
405*
406 SRNAMT = 'zsytri_3'
407 INFOT = 1
408 CALL ZSYTRI_3( '/', 0, A, 1, E, IP, W, 1, INFO )
409 CALL CHKXER( 'zsytri_3', INFOT, NOUT, LERR, OK )
410 INFOT = 2
411 CALL ZSYTRI_3( 'u', -1, A, 1, E, IP, W, 1, INFO )
412 CALL CHKXER( 'zsytri_3', INFOT, NOUT, LERR, OK )
413 INFOT = 4
414 CALL ZSYTRI_3( 'u', 2, A, 1, E, IP, W, 1, INFO )
415 CALL CHKXER( 'zsytri_3', INFOT, NOUT, LERR, OK )
416 INFOT = 8
417 CALL ZSYTRI_3( 'u', 0, A, 1, E, IP, W, 0, INFO )
418 CALL CHKXER( 'zsytri_3', INFOT, NOUT, LERR, OK )
419 INFOT = 8
420 CALL ZSYTRI_3( 'u', 0, A, 1, E, IP, W, -2, INFO )
421 CALL CHKXER( 'zsytri_3', INFOT, NOUT, LERR, OK )
422*
423* ZSYTRI_3X
424*
425 SRNAMT = 'zsytri_3x'
426 INFOT = 1
427 CALL ZSYTRI_3X( '/', 0, A, 1, E, IP, W, 1, INFO )
428 CALL CHKXER( 'zsytri_3x', INFOT, NOUT, LERR, OK )
429 INFOT = 2
430 CALL ZSYTRI_3X( 'u', -1, A, 1, E, IP, W, 1, INFO )
431 CALL CHKXER( 'zsytri_3x', INFOT, NOUT, LERR, OK )
432 INFOT = 4
433 CALL ZSYTRI_3X( 'u', 2, A, 1, E, IP, W, 1, INFO )
434 CALL CHKXER( 'zsytri_3x', INFOT, NOUT, LERR, OK )
435*
436* ZSYTRS_3
437*
438 SRNAMT = 'zsytrs_3'
439 INFOT = 1
440 CALL ZSYTRS_3( '/', 0, 0, A, 1, E, IP, B, 1, INFO )
441 CALL CHKXER( 'zsytrs_3', INFOT, NOUT, LERR, OK )
442 INFOT = 2
443 CALL ZSYTRS_3( 'u', -1, 0, A, 1, E, IP, B, 1, INFO )
444 CALL CHKXER( 'zsytrs_3', INFOT, NOUT, LERR, OK )
445 INFOT = 3
446 CALL ZSYTRS_3( 'u', 0, -1, A, 1, E, IP, B, 1, INFO )
447 CALL CHKXER( 'zsytrs_3', INFOT, NOUT, LERR, OK )
448 INFOT = 5
449 CALL ZSYTRS_3( 'u', 2, 1, A, 1, E, IP, B, 2, INFO )
450 CALL CHKXER( 'zsytrs_3', INFOT, NOUT, LERR, OK )
451 INFOT = 9
452 CALL ZSYTRS_3( 'u', 2, 1, A, 2, E, IP, B, 1, INFO )
453 CALL CHKXER( 'zsytrs_3', INFOT, NOUT, LERR, OK )
454*
455* ZSYCON_3
456*
457 SRNAMT = 'zsycon_3'
458 INFOT = 1
459 CALL ZSYCON_3( '/', 0, A, 1, E, IP, ANRM, RCOND, W, INFO )
460 CALL CHKXER( 'zsycon_3', INFOT, NOUT, LERR, OK )
461 INFOT = 2
462 CALL ZSYCON_3( 'u', -1, A, 1, E, IP, ANRM, RCOND, W, INFO )
463 CALL CHKXER( 'zsycon_3', INFOT, NOUT, LERR, OK )
464 INFOT = 4
465 CALL ZSYCON_3( 'u', 2, A, 1, E, IP, ANRM, RCOND, W, INFO )
466 CALL CHKXER( 'zsycon_3', INFOT, NOUT, LERR, OK )
467 INFOT = 7
468 CALL ZSYCON_3( 'u', 1, A, 1, E, IP, -1.0D0, RCOND, W, INFO)
469 CALL CHKXER( 'zsycon_3', INFOT, NOUT, LERR, OK )
470*
471 ELSE IF( LSAMEN( 2, C2, 'sp' ) ) THEN
472*
473* Test error exits of the routines that use factorization
474* of a symmetric indefinite packed matrix with patrial
475* (Bunch-Kaufman) pivoting.
476*
477* ZSPTRF
478*
479 SRNAMT = 'zsptrf'
480 INFOT = 1
481 CALL ZSPTRF( '/', 0, A, IP, INFO )
482 CALL CHKXER( 'zsptrf', INFOT, NOUT, LERR, OK )
483 INFOT = 2
484 CALL ZSPTRF( 'u', -1, A, IP, INFO )
485 CALL CHKXER( 'zsptrf', INFOT, NOUT, LERR, OK )
486*
487* ZSPTRI
488*
489 SRNAMT = 'zsptri'
490 INFOT = 1
491 CALL ZSPTRI( '/', 0, A, IP, W, INFO )
492 CALL CHKXER( 'zsptri', INFOT, NOUT, LERR, OK )
493 INFOT = 2
494 CALL ZSPTRI( 'u', -1, A, IP, W, INFO )
495 CALL CHKXER( 'zsptri', INFOT, NOUT, LERR, OK )
496*
497* ZSPTRS
498*
499 SRNAMT = 'zsptrs'
500 INFOT = 1
501 CALL ZSPTRS( '/', 0, 0, A, IP, B, 1, INFO )
502 CALL CHKXER( 'zsptrs', INFOT, NOUT, LERR, OK )
503 INFOT = 2
504 CALL ZSPTRS( 'u', -1, 0, A, IP, B, 1, INFO )
505 CALL CHKXER( 'zsptrs', INFOT, NOUT, LERR, OK )
506 INFOT = 3
507 CALL ZSPTRS( 'u', 0, -1, A, IP, B, 1, INFO )
508 CALL CHKXER( 'zsptrs', INFOT, NOUT, LERR, OK )
509 INFOT = 7
510 CALL ZSPTRS( 'u', 2, 1, A, IP, B, 1, INFO )
511 CALL CHKXER( 'zsptrs', INFOT, NOUT, LERR, OK )
512*
513* ZSPRFS
514*
515 SRNAMT = 'zsprfs'
516 INFOT = 1
517 CALL ZSPRFS( '/', 0, 0, A, AF, IP, B, 1, X, 1, R1, R2, W, R,
518 $ INFO )
519 CALL CHKXER( 'zsprfs', INFOT, NOUT, LERR, OK )
520 INFOT = 2
521 CALL ZSPRFS( 'u', -1, 0, A, AF, IP, B, 1, X, 1, R1, R2, W, R,
522 $ INFO )
523 CALL CHKXER( 'zsprfs', INFOT, NOUT, LERR, OK )
524 INFOT = 3
525 CALL ZSPRFS( 'u', 0, -1, A, AF, IP, B, 1, X, 1, R1, R2, W, R,
526 $ INFO )
527 CALL CHKXER( 'zsprfs', INFOT, NOUT, LERR, OK )
528 INFOT = 8
529 CALL ZSPRFS( 'u', 2, 1, A, AF, IP, B, 1, X, 2, R1, R2, W, R,
530 $ INFO )
531 CALL CHKXER( 'zsprfs', INFOT, NOUT, LERR, OK )
532 INFOT = 10
533 CALL ZSPRFS( 'u', 2, 1, A, AF, IP, B, 2, X, 1, R1, R2, W, R,
534 $ INFO )
535 CALL CHKXER( 'zsprfs', INFOT, NOUT, LERR, OK )
536*
537* ZSPCON
538*
539 SRNAMT = 'zspcon'
540 INFOT = 1
541 CALL ZSPCON( '/', 0, A, IP, ANRM, RCOND, W, INFO )
542 CALL CHKXER( 'zspcon', INFOT, NOUT, LERR, OK )
543 INFOT = 2
544 CALL ZSPCON( 'u', -1, A, IP, ANRM, RCOND, W, INFO )
545 CALL CHKXER( 'zspcon', INFOT, NOUT, LERR, OK )
546 INFOT = 5
547 CALL ZSPCON( 'u', 1, A, IP, -ANRM, RCOND, W, INFO )
548 CALL CHKXER( 'zspcon', INFOT, NOUT, LERR, OK )
549*
550 ELSE IF( LSAMEN( 2, C2, 'sa' ) ) THEN
551*
552* Test error exits of the routines that use factorization
553* of a symmetric indefinite matrix with Aasen's algorithm.
554*
555* ZSYTRF_AA
556*
557 SRNAMT = 'zsytrf_aa'
558 INFOT = 1
559 CALL ZSYTRF_AA( '/', 0, A, 1, IP, W, 1, INFO )
560 CALL CHKXER( 'zsytrf_aa', INFOT, NOUT, LERR, OK )
561 INFOT = 2
562 CALL ZSYTRF_AA( 'u', -1, A, 1, IP, W, 1, INFO )
563 CALL CHKXER( 'zsytrf_aa', INFOT, NOUT, LERR, OK )
564 INFOT = 4
565 CALL ZSYTRF_AA( 'u', 2, A, 1, IP, W, 4, INFO )
566 CALL CHKXER( 'zsytrf_aa', INFOT, NOUT, LERR, OK )
567 INFOT = 7
568 CALL ZSYTRF_AA( 'u', 0, A, 1, IP, W, 0, INFO )
569 CALL CHKXER( 'zsytrf_aa', INFOT, NOUT, LERR, OK )
570 INFOT = 7
571 CALL ZSYTRF_AA( 'u', 0, A, 1, IP, W, -2, INFO )
572 CALL CHKXER( 'zsytrf_aa', INFOT, NOUT, LERR, OK )
573*
574* ZSYTRS_AA
575*
576 SRNAMT = 'zsytrs_aa'
577 INFOT = 1
578 CALL ZSYTRS_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
579 CALL CHKXER( 'zsytrs_aa', INFOT, NOUT, LERR, OK )
580 INFOT = 2
581 CALL ZSYTRS_AA( 'u', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
582 CALL CHKXER( 'zsytrs_aa', INFOT, NOUT, LERR, OK )
583 INFOT = 3
584 CALL ZSYTRS_AA( 'u', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
585 CALL CHKXER( 'zsytrs_aa', INFOT, NOUT, LERR, OK )
586 INFOT = 5
587 CALL ZSYTRS_AA( 'u', 2, 1, A, 1, IP, B, 2, W, 1, INFO )
588 CALL CHKXER( 'zsytrs_aa', INFOT, NOUT, LERR, OK )
589 INFOT = 8
590 CALL ZSYTRS_AA( 'u', 2, 1, A, 2, IP, B, 1, W, 1, INFO )
591 CALL CHKXER( 'zsytrs_aa', INFOT, NOUT, LERR, OK )
592*
593 ELSE IF( LSAMEN( 2, C2, 's2' ) ) THEN
594*
595* Test error exits of the routines that use factorization
596* of a symmetric indefinite matrix with Aasen's algorithm.
597*
598* ZSYTRF_AA_2STAGE
599*
600 SRNAMT = 'zsytrf_aa_2stage'
601 INFOT = 1
602 CALL ZSYTRF_AA_2STAGE( '/', 0, A, 1, A, 1, IP, IP, W, 1,
603 $ INFO )
604 CALL CHKXER( 'zsytrf_aa_2stage', INFOT, NOUT, LERR, OK )
605 INFOT = 2
606 CALL ZSYTRF_AA_2STAGE( 'u', -1, A, 1, A, 1, IP, IP, W, 1,
607 $ INFO )
608 CALL CHKXER( 'zsytrf_aa_2stage', INFOT, NOUT, LERR, OK )
609 INFOT = 4
610 CALL ZSYTRF_AA_2STAGE( 'u', 2, A, 1, A, 2, IP, IP, W, 1,
611 $ INFO )
612 CALL CHKXER( 'zsytrf_aa_2stage', INFOT, NOUT, LERR, OK )
613 INFOT = 6
614 CALL ZSYTRF_AA_2STAGE( 'u', 2, A, 2, A, 1, IP, IP, W, 1,
615 $ INFO )
616 CALL CHKXER( 'zsytrf_aa_2stage', INFOT, NOUT, LERR, OK )
617 INFOT = 10
618 CALL ZSYTRF_AA_2STAGE( 'u', 2, A, 2, A, 8, IP, IP, W, 0,
619 $ INFO )
620 CALL CHKXER( 'zsytrf_aa_2stage', INFOT, NOUT, LERR, OK )
621*
622* CHETRS_AA_2STAGE
623*
624 SRNAMT = 'zsytrs_aa_2stage'
625 INFOT = 1
626 CALL ZSYTRS_AA_2STAGE( '/', 0, 0, A, 1, A, 1, IP, IP,
627 $ B, 1, INFO )
628 CALL CHKXER( 'zsytrs_aa_2stage', INFOT, NOUT, LERR, OK )
629 INFOT = 2
630 CALL ZSYTRS_AA_2STAGE( 'u', -1, 0, A, 1, A, 1, IP, IP,
631 $ B, 1, INFO )
632 CALL CHKXER( 'zsytrs_aa_2stage', infot, nout, lerr, ok )
633 infot = 3
634 CALL zsytrs_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip,
635 $ b, 1, info )
636 CALL chkxer( 'ZSYTRS_AA_2STAGE', infot, nout, lerr, ok )
637 infot = 5
638 CALL zsytrs_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip,
639 $ b, 1, info )
640 CALL chkxer( 'ZSYTRS_AA_2STAGE', infot, nout, lerr, ok )
641 infot = 7
642 CALL zsytrs_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip,
643 $ b, 1, info )
644 CALL chkxer( 'ZSYTRS_AA_2STAGE', infot, nout, lerr, ok )
645 infot = 11
646 CALL zsytrs_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip,
647 $ b, 1, info )
648 CALL chkxer( 'ZSYTRS_AA_STAGE', infot, nout, lerr, ok )
649*
650 END IF
651*
652* Print a summary line.
653*
654 CALL alaesm( path, ok, nout )
655*
656 RETURN
657*
658* End of ZERRSY
659*
660 END
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3196
subroutine alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine zsprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZSPRFS
Definition zsprfs.f:180
subroutine zsptri(uplo, n, ap, ipiv, work, info)
ZSPTRI
Definition zsptri.f:109
subroutine zsptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
ZSPTRS
Definition zsptrs.f:115
subroutine zsptrf(uplo, n, ap, ipiv, info)
ZSPTRF
Definition zsptrf.f:158
subroutine zspcon(uplo, n, ap, ipiv, anorm, rcond, work, info)
ZSPCON
Definition zspcon.f:118
subroutine zsytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZSYTRS
Definition zsytrs.f:120
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 zsytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
ZSYTRF_ROOK
subroutine zsytrf(uplo, n, a, lda, ipiv, work, lwork, info)
ZSYTRF
Definition zsytrf.f:182
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 zsyrfs(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZSYRFS
Definition zsyrfs.f:192
subroutine zsytri_rook(uplo, n, a, lda, ipiv, work, info)
ZSYTRI_ROOK
subroutine zsytri2(uplo, n, a, lda, ipiv, work, lwork, info)
ZSYTRI2
Definition zsytri2.f:127
subroutine zsytri2x(uplo, n, a, lda, ipiv, work, nb, info)
ZSYTRI2X
Definition zsytri2x.f:120
subroutine zsytrs_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
ZSYTRS_AA
Definition zsytrs_aa.f:131
subroutine zsytrf_aa(uplo, n, a, lda, ipiv, work, lwork, info)
ZSYTRF_AA
Definition zsytrf_aa.f:132
subroutine zsytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZSYTRS_ROOK
subroutine zsytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
ZSYTRS_3
Definition zsytrs_3.f:165
subroutine zsycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)
ZSYCON_3
Definition zsycon_3.f:166
subroutine zsytf2_rook(uplo, n, a, lda, ipiv, info)
ZSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
subroutine zsytrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
ZSYTRF_AA_2STAGE
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
subroutine zsytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
ZSYTRI_3X
Definition zsytri_3x.f:159
subroutine zsytrs_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, info)
ZSYTRS_AA_2STAGE
subroutine zsytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
ZSYTRI_3
Definition zsytri_3.f:170
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 zsytri(uplo, n, a, lda, ipiv, work, info)
ZSYTRI
Definition zsytri.f:114
subroutine zerrsy(path, nunit)
ZERRSY
Definition zerrsy.f:55