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