LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ zerrvx()

subroutine zerrvx ( character*3  PATH,
integer  NUNIT 
)

ZERRVX

ZERRVXX

Purpose:
 ZERRVX tests the error exits for the COMPLEX*16 driver routines
 for solving linear systems of equations.
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 zerrvx.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 EQ
73  CHARACTER*2 C2
74  INTEGER I, INFO, J
75  DOUBLE PRECISION RCOND
76 * ..
77 * .. Local Arrays ..
78  INTEGER IP( NMAX )
79  DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
80  $ RF( NMAX ), RW( NMAX )
81  COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
82  $ E( NMAX ), W( 2*NMAX ), X( NMAX )
83 * ..
84 * .. External Functions ..
85  LOGICAL LSAMEN
86  EXTERNAL lsamen
87 * ..
88 * .. External Subroutines ..
89  EXTERNAL chkxer, zgbsv, zgbsvx, zgesv, zgesvx, zgtsv,
95 * ..
96 * .. Scalars in Common ..
97  LOGICAL LERR, OK
98  CHARACTER*32 SRNAMT
99  INTEGER INFOT, NOUT
100 * ..
101 * .. Common blocks ..
102  COMMON / infoc / infot, nout, ok, lerr
103  COMMON / srnamc / srnamt
104 * ..
105 * .. Intrinsic Functions ..
106  INTRINSIC dble, dcmplx
107 * ..
108 * .. Executable Statements ..
109 *
110  nout = nunit
111  WRITE( nout, fmt = * )
112  c2 = path( 2: 3 )
113 *
114 * Set the variables to innocuous values.
115 *
116  DO 20 j = 1, nmax
117  DO 10 i = 1, nmax
118  a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
119  $ -1.d0 / dble( i+j ) )
120  af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
121  $ -1.d0 / dble( i+j ) )
122  10 CONTINUE
123  b( j ) = 0.d0
124  e( j ) = 0.d0
125  r1( j ) = 0.d0
126  r2( j ) = 0.d0
127  w( j ) = 0.d0
128  x( j ) = 0.d0
129  c( j ) = 0.d0
130  r( j ) = 0.d0
131  ip( j ) = j
132  20 CONTINUE
133  eq = ' '
134  ok = .true.
135 *
136  IF( lsamen( 2, c2, 'GE' ) ) THEN
137 *
138 * ZGESV
139 *
140  srnamt = 'ZGESV '
141  infot = 1
142  CALL zgesv( -1, 0, a, 1, ip, b, 1, info )
143  CALL chkxer( 'ZGESV ', infot, nout, lerr, ok )
144  infot = 2
145  CALL zgesv( 0, -1, a, 1, ip, b, 1, info )
146  CALL chkxer( 'ZGESV ', infot, nout, lerr, ok )
147  infot = 4
148  CALL zgesv( 2, 1, a, 1, ip, b, 2, info )
149  CALL chkxer( 'ZGESV ', infot, nout, lerr, ok )
150  infot = 7
151  CALL zgesv( 2, 1, a, 2, ip, b, 1, info )
152  CALL chkxer( 'ZGESV ', infot, nout, lerr, ok )
153 *
154 * ZGESVX
155 *
156  srnamt = 'ZGESVX'
157  infot = 1
158  CALL zgesvx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
159  $ x, 1, rcond, r1, r2, w, rw, info )
160  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
161  infot = 2
162  CALL zgesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
163  $ x, 1, rcond, r1, r2, w, rw, info )
164  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
165  infot = 3
166  CALL zgesvx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
167  $ x, 1, rcond, r1, r2, w, rw, info )
168  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
169  infot = 4
170  CALL zgesvx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
171  $ x, 1, rcond, r1, r2, w, rw, info )
172  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
173  infot = 6
174  CALL zgesvx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
175  $ x, 2, rcond, r1, r2, w, rw, info )
176  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
177  infot = 8
178  CALL zgesvx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
179  $ x, 2, rcond, r1, r2, w, rw, info )
180  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
181  infot = 10
182  eq = '/'
183  CALL zgesvx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
184  $ x, 1, rcond, r1, r2, w, rw, info )
185  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
186  infot = 11
187  eq = 'R'
188  CALL zgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
189  $ x, 1, rcond, r1, r2, w, rw, info )
190  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
191  infot = 12
192  eq = 'C'
193  CALL zgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
194  $ x, 1, rcond, r1, r2, w, rw, info )
195  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
196  infot = 14
197  CALL zgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
198  $ x, 2, rcond, r1, r2, w, rw, info )
199  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
200  infot = 16
201  CALL zgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
202  $ x, 1, rcond, r1, r2, w, rw, info )
203  CALL chkxer( 'ZGESVX', infot, nout, lerr, ok )
204 *
205  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
206 *
207 * ZGBSV
208 *
209  srnamt = 'ZGBSV '
210  infot = 1
211  CALL zgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
212  CALL chkxer( 'ZGBSV ', infot, nout, lerr, ok )
213  infot = 2
214  CALL zgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
215  CALL chkxer( 'ZGBSV ', infot, nout, lerr, ok )
216  infot = 3
217  CALL zgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
218  CALL chkxer( 'ZGBSV ', infot, nout, lerr, ok )
219  infot = 4
220  CALL zgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
221  CALL chkxer( 'ZGBSV ', infot, nout, lerr, ok )
222  infot = 6
223  CALL zgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
224  CALL chkxer( 'ZGBSV ', infot, nout, lerr, ok )
225  infot = 9
226  CALL zgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
227  CALL chkxer( 'ZGBSV ', infot, nout, lerr, ok )
228 *
229 * ZGBSVX
230 *
231  srnamt = 'ZGBSVX'
232  infot = 1
233  CALL zgbsvx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
234  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
235  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
236  infot = 2
237  CALL zgbsvx( 'N', '/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
238  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
239  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
240  infot = 3
241  CALL zgbsvx( 'N', 'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
242  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
243  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
244  infot = 4
245  CALL zgbsvx( 'N', 'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
246  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
247  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
248  infot = 5
249  CALL zgbsvx( 'N', 'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
250  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
251  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
252  infot = 6
253  CALL zgbsvx( 'N', 'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
254  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
255  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
256  infot = 8
257  CALL zgbsvx( 'N', 'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
258  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
259  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
260  infot = 10
261  CALL zgbsvx( 'N', 'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
262  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
263  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
264  infot = 12
265  eq = '/'
266  CALL zgbsvx( 'F', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
267  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
268  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
269  infot = 13
270  eq = 'R'
271  CALL zgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
272  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
273  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
274  infot = 14
275  eq = 'C'
276  CALL zgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
277  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
278  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
279  infot = 16
280  CALL zgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
281  $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
282  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
283  infot = 18
284  CALL zgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
285  $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
286  CALL chkxer( 'ZGBSVX', infot, nout, lerr, ok )
287 *
288  ELSE IF( lsamen( 2, c2, 'GT' ) ) THEN
289 *
290 * ZGTSV
291 *
292  srnamt = 'ZGTSV '
293  infot = 1
294  CALL zgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
295  $ info )
296  CALL chkxer( 'ZGTSV ', infot, nout, lerr, ok )
297  infot = 2
298  CALL zgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
299  $ info )
300  CALL chkxer( 'ZGTSV ', infot, nout, lerr, ok )
301  infot = 7
302  CALL zgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
303  CALL chkxer( 'ZGTSV ', infot, nout, lerr, ok )
304 *
305 * ZGTSVX
306 *
307  srnamt = 'ZGTSVX'
308  infot = 1
309  CALL zgtsvx( '/', 'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
310  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
311  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
312  CALL chkxer( 'ZGTSVX', infot, nout, lerr, ok )
313  infot = 2
314  CALL zgtsvx( 'N', '/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
315  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
316  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
317  CALL chkxer( 'ZGTSVX', infot, nout, lerr, ok )
318  infot = 3
319  CALL zgtsvx( 'N', 'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
320  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
321  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
322  CALL chkxer( 'ZGTSVX', infot, nout, lerr, ok )
323  infot = 4
324  CALL zgtsvx( 'N', 'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
325  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
326  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
327  CALL chkxer( 'ZGTSVX', infot, nout, lerr, ok )
328  infot = 14
329  CALL zgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
330  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
331  $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
332  CALL chkxer( 'ZGTSVX', infot, nout, lerr, ok )
333  infot = 16
334  CALL zgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
335  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
336  $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
337  CALL chkxer( 'ZGTSVX', infot, nout, lerr, ok )
338 *
339  ELSE IF( lsamen( 2, c2, 'PO' ) ) THEN
340 *
341 * ZPOSV
342 *
343  srnamt = 'ZPOSV '
344  infot = 1
345  CALL zposv( '/', 0, 0, a, 1, b, 1, info )
346  CALL chkxer( 'ZPOSV ', infot, nout, lerr, ok )
347  infot = 2
348  CALL zposv( 'U', -1, 0, a, 1, b, 1, info )
349  CALL chkxer( 'ZPOSV ', infot, nout, lerr, ok )
350  infot = 3
351  CALL zposv( 'U', 0, -1, a, 1, b, 1, info )
352  CALL chkxer( 'ZPOSV ', infot, nout, lerr, ok )
353  infot = 5
354  CALL zposv( 'U', 2, 0, a, 1, b, 2, info )
355  CALL chkxer( 'ZPOSV ', infot, nout, lerr, ok )
356  infot = 7
357  CALL zposv( 'U', 2, 0, a, 2, b, 1, info )
358  CALL chkxer( 'ZPOSV ', infot, nout, lerr, ok )
359 *
360 * ZPOSVX
361 *
362  srnamt = 'ZPOSVX'
363  infot = 1
364  CALL zposvx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
365  $ rcond, r1, r2, w, rw, info )
366  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
367  infot = 2
368  CALL zposvx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
369  $ rcond, r1, r2, w, rw, info )
370  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
371  infot = 3
372  CALL zposvx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
373  $ rcond, r1, r2, w, rw, info )
374  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
375  infot = 4
376  CALL zposvx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
377  $ rcond, r1, r2, w, rw, info )
378  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
379  infot = 6
380  CALL zposvx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
381  $ rcond, r1, r2, w, rw, info )
382  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
383  infot = 8
384  CALL zposvx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
385  $ rcond, r1, r2, w, rw, info )
386  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
387  infot = 9
388  eq = '/'
389  CALL zposvx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
390  $ rcond, r1, r2, w, rw, info )
391  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
392  infot = 10
393  eq = 'Y'
394  CALL zposvx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
395  $ rcond, r1, r2, w, rw, info )
396  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
397  infot = 12
398  CALL zposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
399  $ rcond, r1, r2, w, rw, info )
400  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
401  infot = 14
402  CALL zposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
403  $ rcond, r1, r2, w, rw, info )
404  CALL chkxer( 'ZPOSVX', infot, nout, lerr, ok )
405 *
406  ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
407 *
408 * ZPPSV
409 *
410  srnamt = 'ZPPSV '
411  infot = 1
412  CALL zppsv( '/', 0, 0, a, b, 1, info )
413  CALL chkxer( 'ZPPSV ', infot, nout, lerr, ok )
414  infot = 2
415  CALL zppsv( 'U', -1, 0, a, b, 1, info )
416  CALL chkxer( 'ZPPSV ', infot, nout, lerr, ok )
417  infot = 3
418  CALL zppsv( 'U', 0, -1, a, b, 1, info )
419  CALL chkxer( 'ZPPSV ', infot, nout, lerr, ok )
420  infot = 6
421  CALL zppsv( 'U', 2, 0, a, b, 1, info )
422  CALL chkxer( 'ZPPSV ', infot, nout, lerr, ok )
423 *
424 * ZPPSVX
425 *
426  srnamt = 'ZPPSVX'
427  infot = 1
428  CALL zppsvx( '/', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
429  $ r1, r2, w, rw, info )
430  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
431  infot = 2
432  CALL zppsvx( 'N', '/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
433  $ r1, r2, w, rw, info )
434  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
435  infot = 3
436  CALL zppsvx( 'N', 'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
437  $ r1, r2, w, rw, info )
438  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
439  infot = 4
440  CALL zppsvx( 'N', 'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
441  $ r1, r2, w, rw, info )
442  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
443  infot = 7
444  eq = '/'
445  CALL zppsvx( 'F', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
446  $ r1, r2, w, rw, info )
447  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
448  infot = 8
449  eq = 'Y'
450  CALL zppsvx( 'F', 'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
451  $ r1, r2, w, rw, info )
452  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
453  infot = 10
454  CALL zppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
455  $ r1, r2, w, rw, info )
456  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
457  infot = 12
458  CALL zppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
459  $ r1, r2, w, rw, info )
460  CALL chkxer( 'ZPPSVX', infot, nout, lerr, ok )
461 *
462  ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
463 *
464 * ZPBSV
465 *
466  srnamt = 'ZPBSV '
467  infot = 1
468  CALL zpbsv( '/', 0, 0, 0, a, 1, b, 1, info )
469  CALL chkxer( 'ZPBSV ', infot, nout, lerr, ok )
470  infot = 2
471  CALL zpbsv( 'U', -1, 0, 0, a, 1, b, 1, info )
472  CALL chkxer( 'ZPBSV ', infot, nout, lerr, ok )
473  infot = 3
474  CALL zpbsv( 'U', 1, -1, 0, a, 1, b, 1, info )
475  CALL chkxer( 'ZPBSV ', infot, nout, lerr, ok )
476  infot = 4
477  CALL zpbsv( 'U', 0, 0, -1, a, 1, b, 1, info )
478  CALL chkxer( 'ZPBSV ', infot, nout, lerr, ok )
479  infot = 6
480  CALL zpbsv( 'U', 1, 1, 0, a, 1, b, 2, info )
481  CALL chkxer( 'ZPBSV ', infot, nout, lerr, ok )
482  infot = 8
483  CALL zpbsv( 'U', 2, 0, 0, a, 1, b, 1, info )
484  CALL chkxer( 'ZPBSV ', infot, nout, lerr, ok )
485 *
486 * ZPBSVX
487 *
488  srnamt = 'ZPBSVX'
489  infot = 1
490  CALL zpbsvx( '/', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
491  $ rcond, r1, r2, w, rw, info )
492  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
493  infot = 2
494  CALL zpbsvx( 'N', '/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
495  $ rcond, r1, r2, w, rw, info )
496  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
497  infot = 3
498  CALL zpbsvx( 'N', 'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
499  $ 1, rcond, r1, r2, w, rw, info )
500  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
501  infot = 4
502  CALL zpbsvx( 'N', 'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
503  $ 1, rcond, r1, r2, w, rw, info )
504  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
505  infot = 5
506  CALL zpbsvx( 'N', 'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
507  $ 1, rcond, r1, r2, w, rw, info )
508  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
509  infot = 7
510  CALL zpbsvx( 'N', 'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
511  $ rcond, r1, r2, w, rw, info )
512  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
513  infot = 9
514  CALL zpbsvx( 'N', 'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
515  $ rcond, r1, r2, w, rw, info )
516  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
517  infot = 10
518  eq = '/'
519  CALL zpbsvx( 'F', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
520  $ rcond, r1, r2, w, rw, info )
521  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
522  infot = 11
523  eq = 'Y'
524  CALL zpbsvx( 'F', 'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
525  $ rcond, r1, r2, w, rw, info )
526  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
527  infot = 13
528  CALL zpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
529  $ rcond, r1, r2, w, rw, info )
530  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
531  infot = 15
532  CALL zpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
533  $ rcond, r1, r2, w, rw, info )
534  CALL chkxer( 'ZPBSVX', infot, nout, lerr, ok )
535 *
536  ELSE IF( lsamen( 2, c2, 'PT' ) ) THEN
537 *
538 * ZPTSV
539 *
540  srnamt = 'ZPTSV '
541  infot = 1
542  CALL zptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
543  CALL chkxer( 'ZPTSV ', infot, nout, lerr, ok )
544  infot = 2
545  CALL zptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
546  CALL chkxer( 'ZPTSV ', infot, nout, lerr, ok )
547  infot = 6
548  CALL zptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
549  CALL chkxer( 'ZPTSV ', infot, nout, lerr, ok )
550 *
551 * ZPTSVX
552 *
553  srnamt = 'ZPTSVX'
554  infot = 1
555  CALL zptsvx( '/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
556  $ 1, rcond, r1, r2, w, rw, info )
557  CALL chkxer( 'ZPTSVX', infot, nout, lerr, ok )
558  infot = 2
559  CALL zptsvx( 'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
560  $ 1, rcond, r1, r2, w, rw, info )
561  CALL chkxer( 'ZPTSVX', infot, nout, lerr, ok )
562  infot = 3
563  CALL zptsvx( 'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
564  $ 1, rcond, r1, r2, w, rw, info )
565  CALL chkxer( 'ZPTSVX', infot, nout, lerr, ok )
566  infot = 9
567  CALL zptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
568  $ 2, rcond, r1, r2, w, rw, info )
569  CALL chkxer( 'ZPTSVX', infot, nout, lerr, ok )
570  infot = 11
571  CALL zptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
572  $ 1, rcond, r1, r2, w, rw, info )
573  CALL chkxer( 'ZPTSVX', infot, nout, lerr, ok )
574 *
575  ELSE IF( lsamen( 2, c2, 'HE' ) ) THEN
576 *
577 * ZHESV
578 *
579  srnamt = 'ZHESV '
580  infot = 1
581  CALL zhesv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
582  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
583  infot = 2
584  CALL zhesv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
585  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
586  infot = 3
587  CALL zhesv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
588  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
589  infot = 5
590  CALL zhesv( 'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
591  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
592  infot = 8
593  CALL zhesv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
594  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
595  infot = 10
596  CALL zhesv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
597  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
598  infot = 10
599  CALL zhesv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
600  CALL chkxer( 'ZHESV ', infot, nout, lerr, ok )
601 *
602 * ZHESVX
603 *
604  srnamt = 'ZHESVX'
605  infot = 1
606  CALL zhesvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
607  $ rcond, r1, r2, w, 1, rw, info )
608  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
609  infot = 2
610  CALL zhesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
611  $ rcond, r1, r2, w, 1, rw, info )
612  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
613  infot = 3
614  CALL zhesvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
615  $ rcond, r1, r2, w, 1, rw, info )
616  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
617  infot = 4
618  CALL zhesvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
619  $ rcond, r1, r2, w, 1, rw, info )
620  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
621  infot = 6
622  CALL zhesvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
623  $ rcond, r1, r2, w, 4, rw, info )
624  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
625  infot = 8
626  CALL zhesvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
627  $ rcond, r1, r2, w, 4, rw, info )
628  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
629  infot = 11
630  CALL zhesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
631  $ rcond, r1, r2, w, 4, rw, info )
632  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
633  infot = 13
634  CALL zhesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
635  $ rcond, r1, r2, w, 4, rw, info )
636  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
637  infot = 18
638  CALL zhesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
639  $ rcond, r1, r2, w, 3, rw, info )
640  CALL chkxer( 'ZHESVX', infot, nout, lerr, ok )
641 *
642  ELSE IF( lsamen( 2, c2, 'HR' ) ) THEN
643 *
644 * ZHESV_ROOK
645 *
646  srnamt = 'ZHESV_ROOK'
647  infot = 1
648  CALL zhesv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
649  CALL chkxer( 'ZHESV_ROOK', infot, nout, lerr, ok )
650  infot = 2
651  CALL zhesv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
652  CALL chkxer( 'ZHESV_ROOK', infot, nout, lerr, ok )
653  infot = 3
654  CALL zhesv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
655  CALL chkxer( 'ZHESV_ROOK', infot, nout, lerr, ok )
656  infot = 8
657  CALL zhesv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
658  CALL chkxer( 'ZHESV_ROOK', infot, nout, lerr, ok )
659  infot = 10
660  CALL zhesv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
661  CALL chkxer( 'ZHESV_ROOK', infot, nout, lerr, ok )
662  infot = 10
663  CALL zhesv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
664  CALL chkxer( 'ZHESV_ROOK', infot, nout, lerr, ok )
665 *
666  ELSE IF( lsamen( 2, c2, 'HK' ) ) THEN
667 *
668 * ZSYSV_RK
669 *
670 * Test error exits of the driver that uses factorization
671 * of a Hermitian indefinite matrix with rook
672 * (bounded Bunch-Kaufman) pivoting with the new storage
673 * format for factors L ( or U) and D.
674 *
675 * L (or U) is stored in A, diagonal of D is stored on the
676 * diagonal of A, subdiagonal of D is stored in a separate array E.
677 *
678  srnamt = 'ZHESV_RK'
679  infot = 1
680  CALL zhesv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
681  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
682  infot = 2
683  CALL zhesv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
684  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
685  infot = 3
686  CALL zhesv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
687  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
688  infot = 5
689  CALL zhesv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
690  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
691  infot = 9
692  CALL zhesv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
693  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
694  infot = 11
695  CALL zhesv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
696  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
697  infot = 11
698  CALL zhesv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
699  CALL chkxer( 'ZHESV_RK', infot, nout, lerr, ok )
700 *
701  ELSE IF( lsamen( 2, c2, 'HA' ) ) THEN
702 *
703 * ZHESV_AA
704 *
705  srnamt = 'ZHESV_AA'
706  infot = 1
707  CALL zhesv_aa( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
708  CALL chkxer( 'ZHESV_AA', infot, nout, lerr, ok )
709  infot = 2
710  CALL zhesv_aa( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
711  CALL chkxer( 'ZHESV_AA', infot, nout, lerr, ok )
712  infot = 3
713  CALL zhesv_aa( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
714  CALL chkxer( 'ZHESV_AA', infot, nout, lerr, ok )
715  infot = 8
716  CALL zhesv_aa( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
717  CALL chkxer( 'ZHESV_AA', infot, nout, lerr, ok )
718 *
719  ELSE IF( lsamen( 2, c2, 'H2' ) ) THEN
720 *
721 * ZHESV_AASEN_2STAGE
722 *
723  srnamt = 'ZHESV_AA_2STAGE'
724  infot = 1
725  CALL zhesv_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
726  $ w, 1, info )
727  CALL chkxer( 'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
728  infot = 2
729  CALL zhesv_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
730  $ w, 1, info )
731  CALL chkxer( 'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
732  infot = 3
733  CALL zhesv_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
734  $ w, 1, info )
735  CALL chkxer( 'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
736  infot = 5
737  CALL zhesv_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
738  $ w, 1, info )
739  CALL chkxer( 'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
740  infot = 11
741  CALL zhesv_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
742  $ w, 1, info )
743  CALL chkxer( 'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
744  infot = 7
745  CALL zhesv_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
746  $ w, 1, info )
747  CALL chkxer( 'ZHESV_AA_2STAGE', infot, nout, lerr, ok )
748 *
749  ELSE IF( lsamen( 2, c2, 'S2' ) ) THEN
750 *
751 * ZSYSV_AASEN_2STAGE
752 *
753  srnamt = 'ZSYSV_AA_2STAGE'
754  infot = 1
755  CALL zsysv_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
756  $ w, 1, info )
757  CALL chkxer( 'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
758  infot = 2
759  CALL zsysv_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
760  $ w, 1, info )
761  CALL chkxer( 'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
762  infot = 3
763  CALL zsysv_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
764  $ w, 1, info )
765  CALL chkxer( 'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
766  infot = 5
767  CALL zsysv_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
768  $ w, 1, info )
769  CALL chkxer( 'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
770  infot = 11
771  CALL zsysv_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
772  $ w, 1, info )
773  CALL chkxer( 'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
774  infot = 7
775  CALL zsysv_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
776  $ w, 1, info )
777  CALL chkxer( 'ZSYSV_AA_2STAGE', infot, nout, lerr, ok )
778 **
779  ELSE IF( lsamen( 2, c2, 'HP' ) ) THEN
780 *
781 * ZHPSV
782 *
783  srnamt = 'ZHPSV '
784  infot = 1
785  CALL zhpsv( '/', 0, 0, a, ip, b, 1, info )
786  CALL chkxer( 'ZHPSV ', infot, nout, lerr, ok )
787  infot = 2
788  CALL zhpsv( 'U', -1, 0, a, ip, b, 1, info )
789  CALL chkxer( 'ZHPSV ', infot, nout, lerr, ok )
790  infot = 3
791  CALL zhpsv( 'U', 0, -1, a, ip, b, 1, info )
792  CALL chkxer( 'ZHPSV ', infot, nout, lerr, ok )
793  infot = 7
794  CALL zhpsv( 'U', 2, 0, a, ip, b, 1, info )
795  CALL chkxer( 'ZHPSV ', infot, nout, lerr, ok )
796 *
797 * ZHPSVX
798 *
799  srnamt = 'ZHPSVX'
800  infot = 1
801  CALL zhpsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
802  $ r2, w, rw, info )
803  CALL chkxer( 'ZHPSVX', infot, nout, lerr, ok )
804  infot = 2
805  CALL zhpsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
806  $ r2, w, rw, info )
807  CALL chkxer( 'ZHPSVX', infot, nout, lerr, ok )
808  infot = 3
809  CALL zhpsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
810  $ r2, w, rw, info )
811  CALL chkxer( 'ZHPSVX', infot, nout, lerr, ok )
812  infot = 4
813  CALL zhpsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
814  $ r2, w, rw, info )
815  CALL chkxer( 'ZHPSVX', infot, nout, lerr, ok )
816  infot = 9
817  CALL zhpsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
818  $ r2, w, rw, info )
819  CALL chkxer( 'ZHPSVX', infot, nout, lerr, ok )
820  infot = 11
821  CALL zhpsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
822  $ r2, w, rw, info )
823  CALL chkxer( 'ZHPSVX', infot, nout, lerr, ok )
824 *
825  ELSE IF( lsamen( 2, c2, 'SY' ) ) THEN
826 *
827 * ZSYSV
828 *
829  srnamt = 'ZSYSV '
830  infot = 1
831  CALL zsysv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
832  CALL chkxer( 'ZSYSV ', infot, nout, lerr, ok )
833  infot = 2
834  CALL zsysv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
835  CALL chkxer( 'ZSYSV ', infot, nout, lerr, ok )
836  infot = 3
837  CALL zsysv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
838  CALL chkxer( 'ZSYSV ', infot, nout, lerr, ok )
839  infot = 8
840  CALL zsysv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
841  CALL chkxer( 'ZSYSV ', infot, nout, lerr, ok )
842  infot = 10
843  CALL zsysv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
844  CALL chkxer( 'ZSYSV ', infot, nout, lerr, ok )
845  infot = 10
846  CALL zsysv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
847  CALL chkxer( 'ZSYSV ', infot, nout, lerr, ok )
848 *
849 * ZSYSVX
850 *
851  srnamt = 'ZSYSVX'
852  infot = 1
853  CALL zsysvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
854  $ rcond, r1, r2, w, 1, rw, info )
855  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
856  infot = 2
857  CALL zsysvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
858  $ rcond, r1, r2, w, 1, rw, info )
859  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
860  infot = 3
861  CALL zsysvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
862  $ rcond, r1, r2, w, 1, rw, info )
863  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
864  infot = 4
865  CALL zsysvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
866  $ rcond, r1, r2, w, 1, rw, info )
867  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
868  infot = 6
869  CALL zsysvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
870  $ rcond, r1, r2, w, 4, rw, info )
871  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
872  infot = 8
873  CALL zsysvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
874  $ rcond, r1, r2, w, 4, rw, info )
875  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
876  infot = 11
877  CALL zsysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
878  $ rcond, r1, r2, w, 4, rw, info )
879  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
880  infot = 13
881  CALL zsysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
882  $ rcond, r1, r2, w, 4, rw, info )
883  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
884  infot = 18
885  CALL zsysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
886  $ rcond, r1, r2, w, 3, rw, info )
887  CALL chkxer( 'ZSYSVX', infot, nout, lerr, ok )
888 *
889  ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
890 *
891 * ZSYSV_ROOK
892 *
893  srnamt = 'ZSYSV_ROOK'
894  infot = 1
895  CALL zsysv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
896  CALL chkxer( 'ZSYSV_ROOK', infot, nout, lerr, ok )
897  infot = 2
898  CALL zsysv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
899  CALL chkxer( 'ZSYSV_ROOK', infot, nout, lerr, ok )
900  infot = 3
901  CALL zsysv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
902  CALL chkxer( 'ZSYSV_ROOK', infot, nout, lerr, ok )
903  infot = 8
904  CALL zsysv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
905  CALL chkxer( 'ZSYSV_ROOK', infot, nout, lerr, ok )
906  infot = 10
907  CALL zsysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
908  CALL chkxer( 'ZSYSV_ROOK', infot, nout, lerr, ok )
909  infot = 10
910  CALL zsysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
911 *
912  ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
913 *
914 * ZSYSV_RK
915 *
916 * Test error exits of the driver that uses factorization
917 * of a symmetric indefinite matrix with rook
918 * (bounded Bunch-Kaufman) pivoting with the new storage
919 * format for factors L ( or U) and D.
920 *
921 * L (or U) is stored in A, diagonal of D is stored on the
922 * diagonal of A, subdiagonal of D is stored in a separate array E.
923 *
924  srnamt = 'ZSYSV_RK'
925  infot = 1
926  CALL zsysv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
927  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
928  infot = 2
929  CALL zsysv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
930  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
931  infot = 3
932  CALL zsysv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
933  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
934  infot = 5
935  CALL zsysv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
936  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
937  infot = 9
938  CALL zsysv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
939  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
940  infot = 11
941  CALL zsysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
942  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
943  infot = 11
944  CALL zsysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
945  CALL chkxer( 'ZSYSV_RK', infot, nout, lerr, ok )
946 *
947  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
948 *
949 * ZSPSV
950 *
951  srnamt = 'ZSPSV '
952  infot = 1
953  CALL zspsv( '/', 0, 0, a, ip, b, 1, info )
954  CALL chkxer( 'ZSPSV ', infot, nout, lerr, ok )
955  infot = 2
956  CALL zspsv( 'U', -1, 0, a, ip, b, 1, info )
957  CALL chkxer( 'ZSPSV ', infot, nout, lerr, ok )
958  infot = 3
959  CALL zspsv( 'U', 0, -1, a, ip, b, 1, info )
960  CALL chkxer( 'ZSPSV ', infot, nout, lerr, ok )
961  infot = 7
962  CALL zspsv( 'U', 2, 0, a, ip, b, 1, info )
963  CALL chkxer( 'ZSPSV ', infot, nout, lerr, ok )
964 *
965 * ZSPSVX
966 *
967  srnamt = 'ZSPSVX'
968  infot = 1
969  CALL zspsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
970  $ r2, w, rw, info )
971  CALL chkxer( 'ZSPSVX', infot, nout, lerr, ok )
972  infot = 2
973  CALL zspsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
974  $ r2, w, rw, info )
975  CALL chkxer( 'ZSPSVX', infot, nout, lerr, ok )
976  infot = 3
977  CALL zspsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
978  $ r2, w, rw, info )
979  CALL chkxer( 'ZSPSVX', infot, nout, lerr, ok )
980  infot = 4
981  CALL zspsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
982  $ r2, w, rw, info )
983  CALL chkxer( 'ZSPSVX', infot, nout, lerr, ok )
984  infot = 9
985  CALL zspsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
986  $ r2, w, rw, info )
987  CALL chkxer( 'ZSPSVX', infot, nout, lerr, ok )
988  infot = 11
989  CALL zspsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
990  $ r2, w, rw, info )
991  CALL chkxer( 'ZSPSVX', infot, nout, lerr, ok )
992  END IF
993 *
994 * Print a summary line.
995 *
996  IF( ok ) THEN
997  WRITE( nout, fmt = 9999 )path
998  ELSE
999  WRITE( nout, fmt = 9998 )path
1000  END IF
1001 *
1002  9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1003  9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1004  $ 'exits ***' )
1005 *
1006  RETURN
1007 *
1008 * End of ZERRVX
1009 *
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:74
subroutine zgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGBSVX computes the solution to system of linear equations A * X = B for GB matrices
Definition: zgbsvx.f:370
subroutine zgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
ZGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver)
Definition: zgbsv.f:162
subroutine zgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver)
Definition: zgesv.f:122
subroutine zgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGESVX computes the solution to system of linear equations A * X = B for GE matrices
Definition: zgesvx.f:350
subroutine zgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZGTSVX computes the solution to system of linear equations A * X = B for GT matrices
Definition: zgtsvx.f:294
subroutine zgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
ZGTSV computes the solution to system of linear equations A * X = B for GT matrices
Definition: zgtsv.f:124
subroutine zhesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_RK computes the solution to system of linear equations A * X = B for SY matrices
Definition: zhesv_rk.f:228
subroutine zhesv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_AA computes the solution to system of linear equations A * X = B for HE matrices
Definition: zhesv_aa.f:162
subroutine zhesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
Definition: zhesv_rook.f:205
subroutine zhesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
ZHESVX computes the solution to system of linear equations A * X = B for HE matrices
Definition: zhesvx.f:285
subroutine zhesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZHESV computes the solution to system of linear equations A * X = B for HE matrices
Definition: zhesv.f:171
subroutine zhesv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
ZHESV_AA_2STAGE computes the solution to system of linear equations A * X = B for HE matrices
subroutine zpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zpbsvx.f:342
subroutine zhpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zhpsvx.f:277
subroutine zspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zspsvx.f:277
subroutine zppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zppsv.f:144
subroutine zpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZPBSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zpbsv.f:164
subroutine zspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zspsv.f:162
subroutine zppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zppsvx.f:311
subroutine zhpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZHPSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: zhpsv.f:162
subroutine zposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
ZPOSV computes the solution to system of linear equations A * X = B for PO matrices
Definition: zposv.f:130
subroutine zposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPOSVX computes the solution to system of linear equations A * X = B for PO matrices
Definition: zposvx.f:306
subroutine zptsv(N, NRHS, D, E, B, LDB, INFO)
ZPTSV computes the solution to system of linear equations A * X = B for PT matrices
Definition: zptsv.f:115
subroutine zptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
ZPTSVX computes the solution to system of linear equations A * X = B for PT matrices
Definition: zptsvx.f:234
subroutine zsysv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
ZSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
subroutine zsysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices
Definition: zsysv_rook.f:204
subroutine zsysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV computes the solution to system of linear equations A * X = B for SY matrices
Definition: zsysv.f:171
subroutine zsysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices
Definition: zsysv_aa.f:162
subroutine zsysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
ZSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices
Definition: zsysv_rk.f:228
subroutine zsysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
ZSYSVX computes the solution to system of linear equations A * X = B for SY matrices
Definition: zsysvx.f:285
Here is the call graph for this function:
Here is the caller graph for this function: