LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
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 partial
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 partial
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 alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3224
subroutine zsycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)
ZSYCON_3
Definition zsycon_3.f:166
subroutine zsycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZSYCON_ROOK
subroutine zsycon(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZSYCON
Definition zsycon.f:125
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 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 zsytf2_rook(uplo, n, a, lda, ipiv, info)
ZSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
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 zsytrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
ZSYTRF_AA_2STAGE
subroutine zsytrf_aa(uplo, n, a, lda, ipiv, work, lwork, info)
ZSYTRF_AA
Definition zsytrf_aa.f:132
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_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 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 zsytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
ZSYTRI_3
Definition zsytri_3.f:170
subroutine zsytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
ZSYTRI_3X
Definition zsytri_3x.f:159
subroutine zsytri_rook(uplo, n, a, lda, ipiv, work, info)
ZSYTRI_ROOK
subroutine zsytri(uplo, n, a, lda, ipiv, work, info)
ZSYTRI
Definition zsytri.f:114
subroutine zsytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
ZSYTRS_3
Definition zsytrs_3.f:165
subroutine zsytrs_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, info)
ZSYTRS_AA_2STAGE
subroutine zsytrs_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
ZSYTRS_AA
Definition zsytrs_aa.f:131
subroutine zsytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZSYTRS_ROOK
subroutine zsytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZSYTRS
Definition zsytrs.f:120
subroutine zspcon(uplo, n, ap, ipiv, anorm, rcond, work, info)
ZSPCON
Definition zspcon.f:118
subroutine zsprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZSPRFS
Definition zsprfs.f:180
subroutine zsptrf(uplo, n, ap, ipiv, info)
ZSPTRF
Definition zsptrf.f:158
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 zerrsy(path, nunit)
ZERRSY
Definition zerrsy.f:55