LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
cerrgex.f
Go to the documentation of this file.
1 *> \brief \b CERRGEX
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 CERRGE( 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 *> CERRGE tests the error exits for the COMPLEX routines
25 *> for general matrices.
26 *>
27 *> Note that this file is used only when the XBLAS are available,
28 *> otherwise cerrge.f defines this subroutine.
29 *> \endverbatim
30 *
31 * Arguments:
32 * ==========
33 *
34 *> \param[in] PATH
35 *> \verbatim
36 *> PATH is CHARACTER*3
37 *> The LAPACK path name for the routines to be tested.
38 *> \endverbatim
39 *>
40 *> \param[in] NUNIT
41 *> \verbatim
42 *> NUNIT is INTEGER
43 *> The unit number for output.
44 *> \endverbatim
45 *
46 * Authors:
47 * ========
48 *
49 *> \author Univ. of Tennessee
50 *> \author Univ. of California Berkeley
51 *> \author Univ. of Colorado Denver
52 *> \author NAG Ltd.
53 *
54 *> \ingroup complex_lin
55 *
56 * =====================================================================
57  SUBROUTINE cerrge( PATH, NUNIT )
58 *
59 * -- LAPACK test routine --
60 * -- LAPACK is a software package provided by Univ. of Tennessee, --
61 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
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, N_ERR_BNDS, NPARAMS
78  REAL ANRM, CCOND, RCOND, BERR
79 * ..
80 * .. Local Arrays ..
81  INTEGER IP( NMAX )
82  REAL R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ),
83  $ RS( NMAX )
84  COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
85  $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
86  $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
87 * ..
88 * .. External Functions ..
89  LOGICAL LSAMEN
90  EXTERNAL lsamen
91 * ..
92 * .. External Subroutines ..
93  EXTERNAL alaesm, cgbcon, cgbequ, cgbrfs, cgbtf2, cgbtrf,
96  $ cgbequb, cgbrfsx
97 * ..
98 * .. Scalars in Common ..
99  LOGICAL LERR, OK
100  CHARACTER*32 SRNAMT
101  INTEGER INFOT, NOUT
102 * ..
103 * .. Common blocks ..
104  COMMON / infoc / infot, nout, ok, lerr
105  COMMON / srnamc / srnamt
106 * ..
107 * .. Intrinsic Functions ..
108  INTRINSIC cmplx, real
109 * ..
110 * .. Executable Statements ..
111 *
112  nout = nunit
113  WRITE( nout, fmt = * )
114  c2 = path( 2: 3 )
115 *
116 * Set the variables to innocuous values.
117 *
118  DO 20 j = 1, nmax
119  DO 10 i = 1, nmax
120  a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
121  af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
122  10 CONTINUE
123  b( j ) = 0.
124  r1( j ) = 0.
125  r2( j ) = 0.
126  w( j ) = 0.
127  x( j ) = 0.
128  cs( j ) = 0.
129  rs( j ) = 0.
130  ip( j ) = j
131  20 CONTINUE
132  ok = .true.
133 *
134 * Test error exits of the routines that use the LU decomposition
135 * of a general matrix.
136 *
137  IF( lsamen( 2, c2, 'GE' ) ) THEN
138 *
139 * CGETRF
140 *
141  srnamt = 'CGETRF'
142  infot = 1
143  CALL cgetrf( -1, 0, a, 1, ip, info )
144  CALL chkxer( 'CGETRF', infot, nout, lerr, ok )
145  infot = 2
146  CALL cgetrf( 0, -1, a, 1, ip, info )
147  CALL chkxer( 'CGETRF', infot, nout, lerr, ok )
148  infot = 4
149  CALL cgetrf( 2, 1, a, 1, ip, info )
150  CALL chkxer( 'CGETRF', infot, nout, lerr, ok )
151 *
152 * CGETF2
153 *
154  srnamt = 'CGETF2'
155  infot = 1
156  CALL cgetf2( -1, 0, a, 1, ip, info )
157  CALL chkxer( 'CGETF2', infot, nout, lerr, ok )
158  infot = 2
159  CALL cgetf2( 0, -1, a, 1, ip, info )
160  CALL chkxer( 'CGETF2', infot, nout, lerr, ok )
161  infot = 4
162  CALL cgetf2( 2, 1, a, 1, ip, info )
163  CALL chkxer( 'CGETF2', infot, nout, lerr, ok )
164 *
165 * CGETRI
166 *
167  srnamt = 'CGETRI'
168  infot = 1
169  CALL cgetri( -1, a, 1, ip, w, 1, info )
170  CALL chkxer( 'CGETRI', infot, nout, lerr, ok )
171  infot = 3
172  CALL cgetri( 2, a, 1, ip, w, 2, info )
173  CALL chkxer( 'CGETRI', infot, nout, lerr, ok )
174  infot = 6
175  CALL cgetri( 2, a, 2, ip, w, 1, info )
176  CALL chkxer( 'CGETRI', infot, nout, lerr, ok )
177 *
178 * CGETRS
179 *
180  srnamt = 'CGETRS'
181  infot = 1
182  CALL cgetrs( '/', 0, 0, a, 1, ip, b, 1, info )
183  CALL chkxer( 'CGETRS', infot, nout, lerr, ok )
184  infot = 2
185  CALL cgetrs( 'N', -1, 0, a, 1, ip, b, 1, info )
186  CALL chkxer( 'CGETRS', infot, nout, lerr, ok )
187  infot = 3
188  CALL cgetrs( 'N', 0, -1, a, 1, ip, b, 1, info )
189  CALL chkxer( 'CGETRS', infot, nout, lerr, ok )
190  infot = 5
191  CALL cgetrs( 'N', 2, 1, a, 1, ip, b, 2, info )
192  CALL chkxer( 'CGETRS', infot, nout, lerr, ok )
193  infot = 8
194  CALL cgetrs( 'N', 2, 1, a, 2, ip, b, 1, info )
195  CALL chkxer( 'CGETRS', infot, nout, lerr, ok )
196 *
197 * CGERFS
198 *
199  srnamt = 'CGERFS'
200  infot = 1
201  CALL cgerfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
202  $ r, info )
203  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
204  infot = 2
205  CALL cgerfs( 'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
206  $ w, r, info )
207  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
208  infot = 3
209  CALL cgerfs( 'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
210  $ w, r, info )
211  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
212  infot = 5
213  CALL cgerfs( 'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
214  $ r, info )
215  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
216  infot = 7
217  CALL cgerfs( 'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
218  $ r, info )
219  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
220  infot = 10
221  CALL cgerfs( 'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
222  $ r, info )
223  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
224  infot = 12
225  CALL cgerfs( 'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
226  $ r, info )
227  CALL chkxer( 'CGERFS', infot, nout, lerr, ok )
228 *
229 * CGERFSX
230 *
231  n_err_bnds = 3
232  nparams = 0
233  srnamt = 'CGERFSX'
234  infot = 1
235  CALL cgerfsx( '/', eq, 0, 0, a, 1, af, 1, ip, rs, cs, b, 1, x,
236  $ 1, rcond, berr, n_err_bnds, err_bnds_n,
237  $ err_bnds_c, nparams, params, w, r, info )
238  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
239  infot = 2
240  eq = '/'
241  CALL cgerfsx( 'N', eq, 2, 1, a, 1, af, 2, ip, rs, cs, b, 2, x,
242  $ 2, rcond, berr, n_err_bnds, err_bnds_n,
243  $ err_bnds_c, nparams, params, w, r, info )
244  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
245  infot = 3
246  eq = 'R'
247  CALL cgerfsx( 'N', eq, -1, 0, a, 1, af, 1, ip, rs, cs, b, 1, x,
248  $ 1, rcond, berr, n_err_bnds, err_bnds_n,
249  $ err_bnds_c, nparams, params, w, r, info )
250  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
251  infot = 4
252  CALL cgerfsx( 'N', eq, 0, -1, a, 1, af, 1, ip, rs, cs, b, 1, x,
253  $ 1, rcond, berr, n_err_bnds, err_bnds_n,
254  $ err_bnds_c, nparams, params, w, r, info )
255  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
256  infot = 6
257  CALL cgerfsx( 'N', eq, 2, 1, a, 1, af, 2, ip, rs, cs, b, 2, x,
258  $ 2, rcond, berr, n_err_bnds, err_bnds_n,
259  $ err_bnds_c, nparams, params, w, r, info )
260  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
261  infot = 8
262  CALL cgerfsx( 'N', eq, 2, 1, a, 2, af, 1, ip, rs, cs, b, 2, x,
263  $ 2, rcond, berr, n_err_bnds, err_bnds_n,
264  $ err_bnds_c, nparams, params, w, r, info )
265  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
266  infot = 13
267  eq = 'C'
268  CALL cgerfsx( 'N', eq, 2, 1, a, 2, af, 2, ip, rs, cs, b, 1, x,
269  $ 2, rcond, berr, n_err_bnds, err_bnds_n,
270  $ err_bnds_c, nparams, params, w, r, info )
271  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
272  infot = 15
273  CALL cgerfsx( 'N', eq, 2, 1, a, 2, af, 2, ip, rs, cs, b, 2, x,
274  $ 1, rcond, berr, n_err_bnds, err_bnds_n,
275  $ err_bnds_c, nparams, params, w, r, info )
276  CALL chkxer( 'CGERFSX', infot, nout, lerr, ok )
277 *
278 * CGECON
279 *
280  srnamt = 'CGECON'
281  infot = 1
282  CALL cgecon( '/', 0, a, 1, anrm, rcond, w, r, info )
283  CALL chkxer( 'CGECON', infot, nout, lerr, ok )
284  infot = 2
285  CALL cgecon( '1', -1, a, 1, anrm, rcond, w, r, info )
286  CALL chkxer( 'CGECON', infot, nout, lerr, ok )
287  infot = 4
288  CALL cgecon( '1', 2, a, 1, anrm, rcond, w, r, info )
289  CALL chkxer( 'CGECON', infot, nout, lerr, ok )
290 *
291 * CGEEQU
292 *
293  srnamt = 'CGEEQU'
294  infot = 1
295  CALL cgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
296  CALL chkxer( 'CGEEQU', infot, nout, lerr, ok )
297  infot = 2
298  CALL cgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
299  CALL chkxer( 'CGEEQU', infot, nout, lerr, ok )
300  infot = 4
301  CALL cgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
302  CALL chkxer( 'CGEEQU', infot, nout, lerr, ok )
303 *
304 * CGEEQUB
305 *
306  srnamt = 'CGEEQUB'
307  infot = 1
308  CALL cgeequb( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
309  CALL chkxer( 'CGEEQUB', infot, nout, lerr, ok )
310  infot = 2
311  CALL cgeequb( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
312  CALL chkxer( 'CGEEQUB', infot, nout, lerr, ok )
313  infot = 4
314  CALL cgeequb( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
315  CALL chkxer( 'CGEEQUB', infot, nout, lerr, ok )
316 *
317 * Test error exits of the routines that use the LU decomposition
318 * of a general band matrix.
319 *
320  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
321 *
322 * CGBTRF
323 *
324  srnamt = 'CGBTRF'
325  infot = 1
326  CALL cgbtrf( -1, 0, 0, 0, a, 1, ip, info )
327  CALL chkxer( 'CGBTRF', infot, nout, lerr, ok )
328  infot = 2
329  CALL cgbtrf( 0, -1, 0, 0, a, 1, ip, info )
330  CALL chkxer( 'CGBTRF', infot, nout, lerr, ok )
331  infot = 3
332  CALL cgbtrf( 1, 1, -1, 0, a, 1, ip, info )
333  CALL chkxer( 'CGBTRF', infot, nout, lerr, ok )
334  infot = 4
335  CALL cgbtrf( 1, 1, 0, -1, a, 1, ip, info )
336  CALL chkxer( 'CGBTRF', infot, nout, lerr, ok )
337  infot = 6
338  CALL cgbtrf( 2, 2, 1, 1, a, 3, ip, info )
339  CALL chkxer( 'CGBTRF', infot, nout, lerr, ok )
340 *
341 * CGBTF2
342 *
343  srnamt = 'CGBTF2'
344  infot = 1
345  CALL cgbtf2( -1, 0, 0, 0, a, 1, ip, info )
346  CALL chkxer( 'CGBTF2', infot, nout, lerr, ok )
347  infot = 2
348  CALL cgbtf2( 0, -1, 0, 0, a, 1, ip, info )
349  CALL chkxer( 'CGBTF2', infot, nout, lerr, ok )
350  infot = 3
351  CALL cgbtf2( 1, 1, -1, 0, a, 1, ip, info )
352  CALL chkxer( 'CGBTF2', infot, nout, lerr, ok )
353  infot = 4
354  CALL cgbtf2( 1, 1, 0, -1, a, 1, ip, info )
355  CALL chkxer( 'CGBTF2', infot, nout, lerr, ok )
356  infot = 6
357  CALL cgbtf2( 2, 2, 1, 1, a, 3, ip, info )
358  CALL chkxer( 'CGBTF2', infot, nout, lerr, ok )
359 *
360 * CGBTRS
361 *
362  srnamt = 'CGBTRS'
363  infot = 1
364  CALL cgbtrs( '/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
365  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
366  infot = 2
367  CALL cgbtrs( 'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
368  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
369  infot = 3
370  CALL cgbtrs( 'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
371  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
372  infot = 4
373  CALL cgbtrs( 'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
374  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
375  infot = 5
376  CALL cgbtrs( 'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
377  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
378  infot = 7
379  CALL cgbtrs( 'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
380  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
381  infot = 10
382  CALL cgbtrs( 'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
383  CALL chkxer( 'CGBTRS', infot, nout, lerr, ok )
384 *
385 * CGBRFS
386 *
387  srnamt = 'CGBRFS'
388  infot = 1
389  CALL cgbrfs( '/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
390  $ r2, w, r, info )
391  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
392  infot = 2
393  CALL cgbrfs( 'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
394  $ r2, w, r, info )
395  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
396  infot = 3
397  CALL cgbrfs( 'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
398  $ r2, w, r, info )
399  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
400  infot = 4
401  CALL cgbrfs( 'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
402  $ r2, w, r, info )
403  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
404  infot = 5
405  CALL cgbrfs( 'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
406  $ r2, w, r, info )
407  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
408  infot = 7
409  CALL cgbrfs( 'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
410  $ r2, w, r, info )
411  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
412  infot = 9
413  CALL cgbrfs( 'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
414  $ r2, w, r, info )
415  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
416  infot = 12
417  CALL cgbrfs( 'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
418  $ r2, w, r, info )
419  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
420  infot = 14
421  CALL cgbrfs( 'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
422  $ r2, w, r, info )
423  CALL chkxer( 'CGBRFS', infot, nout, lerr, ok )
424 *
425 * CGBRFSX
426 *
427  n_err_bnds = 3
428  nparams = 0
429  srnamt = 'CGBRFSX'
430  infot = 1
431  CALL cgbrfsx( '/', eq, 0, 0, 0, 0, a, 1, af, 1, ip, rs, cs, b,
432  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
433  $ err_bnds_c, nparams, params, w, r, info )
434  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
435  infot = 2
436  eq = '/'
437  CALL cgbrfsx( 'N', eq, 2, 1, 1, 1, a, 1, af, 2, ip, rs, cs, b,
438  $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
439  $ err_bnds_c, nparams, params, w, r, info )
440  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
441  infot = 3
442  eq = 'R'
443  CALL cgbrfsx( 'N', eq, -1, 1, 1, 0, a, 1, af, 1, ip, rs, cs, b,
444  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
445  $ err_bnds_c, nparams, params, w, r, info )
446  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
447  infot = 4
448  eq = 'R'
449  CALL cgbrfsx( 'N', eq, 2, -1, 1, 1, a, 3, af, 4, ip, rs, cs, b,
450  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
451  $ err_bnds_c, nparams, params, w, r, info )
452  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
453  infot = 5
454  eq = 'R'
455  CALL cgbrfsx( 'N', eq, 2, 1, -1, 1, a, 3, af, 4, ip, rs, cs, b,
456  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
457  $ err_bnds_c, nparams, params, w, r, info )
458  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
459  infot = 6
460  CALL cgbrfsx( 'N', eq, 0, 0, 0, -1, a, 1, af, 1, ip, rs, cs, b,
461  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
462  $ err_bnds_c, nparams, params, w, r, info )
463  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
464  infot = 8
465  CALL cgbrfsx( 'N', eq, 2, 1, 1, 1, a, 1, af, 2, ip, rs, cs, b,
466  $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
467  $ err_bnds_c, nparams, params, w, r, info )
468  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
469  infot = 10
470  CALL cgbrfsx( 'N', eq, 2, 1, 1, 1, a, 3, af, 3, ip, rs, cs, b,
471  $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
472  $ err_bnds_c, nparams, params, w, r, info )
473  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
474  infot = 13
475  eq = 'C'
476  CALL cgbrfsx( 'N', eq, 2, 1, 1, 1, a, 3, af, 5, ip, rs, cs, b,
477  $ 1, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
478  $ err_bnds_c, nparams, params, w, r, info )
479  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
480  infot = 15
481  CALL cgbrfsx( 'N', eq, 2, 1, 1, 1, a, 3, af, 5, ip, rs, cs, b,
482  $ 2, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
483  $ err_bnds_c, nparams, params, w, r, info )
484  CALL chkxer( 'CGBRFSX', infot, nout, lerr, ok )
485 *
486 * CGBCON
487 *
488  srnamt = 'CGBCON'
489  infot = 1
490  CALL cgbcon( '/', 0, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
491  CALL chkxer( 'CGBCON', infot, nout, lerr, ok )
492  infot = 2
493  CALL cgbcon( '1', -1, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
494  CALL chkxer( 'CGBCON', infot, nout, lerr, ok )
495  infot = 3
496  CALL cgbcon( '1', 1, -1, 0, a, 1, ip, anrm, rcond, w, r, info )
497  CALL chkxer( 'CGBCON', infot, nout, lerr, ok )
498  infot = 4
499  CALL cgbcon( '1', 1, 0, -1, a, 1, ip, anrm, rcond, w, r, info )
500  CALL chkxer( 'CGBCON', infot, nout, lerr, ok )
501  infot = 6
502  CALL cgbcon( '1', 2, 1, 1, a, 3, ip, anrm, rcond, w, r, info )
503  CALL chkxer( 'CGBCON', infot, nout, lerr, ok )
504 *
505 * CGBEQU
506 *
507  srnamt = 'CGBEQU'
508  infot = 1
509  CALL cgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
510  $ info )
511  CALL chkxer( 'CGBEQU', infot, nout, lerr, ok )
512  infot = 2
513  CALL cgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
514  $ info )
515  CALL chkxer( 'CGBEQU', infot, nout, lerr, ok )
516  infot = 3
517  CALL cgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
518  $ info )
519  CALL chkxer( 'CGBEQU', infot, nout, lerr, ok )
520  infot = 4
521  CALL cgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
522  $ info )
523  CALL chkxer( 'CGBEQU', infot, nout, lerr, ok )
524  infot = 6
525  CALL cgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
526  $ info )
527  CALL chkxer( 'CGBEQU', infot, nout, lerr, ok )
528 *
529 * CGBEQUB
530 *
531  srnamt = 'CGBEQUB'
532  infot = 1
533  CALL cgbequb( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
534  $ info )
535  CALL chkxer( 'CGBEQUB', infot, nout, lerr, ok )
536  infot = 2
537  CALL cgbequb( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
538  $ info )
539  CALL chkxer( 'CGBEQUB', infot, nout, lerr, ok )
540  infot = 3
541  CALL cgbequb( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
542  $ info )
543  CALL chkxer( 'CGBEQUB', infot, nout, lerr, ok )
544  infot = 4
545  CALL cgbequb( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
546  $ info )
547  CALL chkxer( 'CGBEQUB', infot, nout, lerr, ok )
548  infot = 6
549  CALL cgbequb( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
550  $ info )
551  CALL chkxer( 'CGBEQUB', infot, nout, lerr, ok )
552  END IF
553 *
554 * Print a summary line.
555 *
556  CALL alaesm( path, ok, nout )
557 *
558  RETURN
559 *
560 * End of CERRGEX
561 *
562  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine cerrge(PATH, NUNIT)
CERRGE
Definition: cerrge.f:55
subroutine cgbcon(NORM, N, KL, KU, AB, LDAB, IPIV, ANORM, RCOND, WORK, RWORK, INFO)
CGBCON
Definition: cgbcon.f:147
subroutine cgbtrf(M, N, KL, KU, AB, LDAB, IPIV, INFO)
CGBTRF
Definition: cgbtrf.f:144
subroutine cgbtf2(M, N, KL, KU, AB, LDAB, IPIV, INFO)
CGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
Definition: cgbtf2.f:145
subroutine cgbtrs(TRANS, N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
CGBTRS
Definition: cgbtrs.f:138
subroutine cgbrfs(TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CGBRFS
Definition: cgbrfs.f:206
subroutine cgbequb(M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, INFO)
CGBEQUB
Definition: cgbequb.f:161
subroutine cgbequ(M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, INFO)
CGBEQU
Definition: cgbequ.f:154
subroutine cgbrfsx(TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, R, C, B, LDB, X, LDX, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CGBRFSX
Definition: cgbrfsx.f:440
subroutine cgerfsx(TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, IPIV, R, C, B, LDB, X, LDX, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CGERFSX
Definition: cgerfsx.f:414
subroutine cgetrs(TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CGETRS
Definition: cgetrs.f:121
subroutine cgeequ(M, N, A, LDA, R, C, ROWCND, COLCND, AMAX, INFO)
CGEEQU
Definition: cgeequ.f:140
subroutine cgecon(NORM, N, A, LDA, ANORM, RCOND, WORK, RWORK, INFO)
CGECON
Definition: cgecon.f:124
subroutine cgetf2(M, N, A, LDA, IPIV, INFO)
CGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
Definition: cgetf2.f:108
subroutine cgetri(N, A, LDA, IPIV, WORK, LWORK, INFO)
CGETRI
Definition: cgetri.f:114
subroutine cgetrf(M, N, A, LDA, IPIV, INFO)
CGETRF
Definition: cgetrf.f:108
subroutine cgerfs(TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CGERFS
Definition: cgerfs.f:186
subroutine cgeequb(M, N, A, LDA, R, C, ROWCND, COLCND, AMAX, INFO)
CGEEQUB
Definition: cgeequb.f:147