LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ zerrsy()

subroutine zerrsy ( character*3  PATH,
integer  NUNIT 
)

ZERRSY

ZERRSYX

Purpose:
 ZERRSY tests the error exits for the COMPLEX*16 routines
 for symmetric indefinite matrices.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2017
Purpose:
 ZERRSY tests the error exits for the COMPLEX*16 routines
 for symmetric indefinite matrices.

 Note that this file is used only when the XBLAS are available,
 otherwise zerrsy.f defines this subroutine.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 57 of file zerrsy.f.

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