LAPACK  3.10.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.
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.

Definition at line 54 of file zerrsy.f.

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 *
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:74
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine zsptri(UPLO, N, AP, IPIV, WORK, INFO)
ZSPTRI
Definition: zsptri.f:109
subroutine zsptrf(UPLO, N, AP, IPIV, INFO)
ZSPTRF
Definition: zsptrf.f:158
subroutine zsprfs(UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZSPRFS
Definition: zsprfs.f:180
subroutine zspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO)
ZSPCON
Definition: zspcon.f:118
subroutine zsptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPTRS
Definition: zsptrs.f:115
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 zsytri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRI2
Definition: zsytri2.f:127
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
Definition: zsycon_rook.f:139
subroutine zsytrs_3(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, INFO)
ZSYTRS_3
Definition: zsytrs_3.f:165
subroutine zsytrf_aa_2stage(UPLO, N, A, LDA, TB, LTB, IPIV, IPIV2, WORK, LWORK, INFO)
ZSYTRF_AA_2STAGE
subroutine zsytrs_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZSYTRS_ROOK
Definition: zsytrs_rook.f:136
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 zsytri_3x(UPLO, N, A, LDA, E, IPIV, WORK, NB, INFO)
ZSYTRI_3X
Definition: zsytri_3x.f:159
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:194
subroutine zsytri_3(UPLO, N, A, LDA, E, IPIV, WORK, LWORK, INFO)
ZSYTRI_3
Definition: zsytri_3.f:170
subroutine zsytri2x(UPLO, N, A, LDA, IPIV, WORK, NB, INFO)
ZSYTRI2X
Definition: zsytri2x.f:120
subroutine zsytri_rook(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZSYTRI_ROOK
Definition: zsytri_rook.f:129
subroutine zsytrs_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYTRS_AA
Definition: zsytrs_aa.f:131
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(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF
Definition: zsytrf.f:182
subroutine zsytrs_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, INFO)
ZSYTRS_AA_2STAGE
subroutine zsycon_3(UPLO, N, A, LDA, E, IPIV, ANORM, RCOND, WORK, INFO)
ZSYCON_3
Definition: zsycon_3.f:166
subroutine zsytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZSYTRS
Definition: zsytrs.f:120
subroutine zsytrf_aa(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF_AA
Definition: zsytrf_aa.f:132
subroutine zsytri(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZSYTRI
Definition: zsytri.f:114
subroutine zsytrf_rook(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF_ROOK
Definition: zsytrf_rook.f:208
Here is the call graph for this function:
Here is the caller graph for this function: